"Zlib::BufError: erro de buffer" - Atualização do Discourse falha

Nome do plugin é 'discourse-education-group-custom-fields', mas o diretório do plugin é nomeado 'discourse-group-custom-fields' 
Expurgando arquivos temporários                                     
Empacotando assets                                           
I, [2024-06-10T06:41:22.964825 #1211]  INFO -- : Escrevendo /var/www/discourse/public/assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322bf777d145fed04790e.js
I, [2024-06-10T06:41:22.986328 #1211]  INFO -- : Escrevendo /var/www/discourse/public/assets/service-worker-5ed284060464db53e2bfcd15aca57982a183382ef3e0c86921be9a2ac5ecc196.js
I, [2024-06-10T06:41:22.993446 #1211]  INFO -- : Escrevendo /var/www/discourse/public/assets/locales/i18n-3b40e842fd72b9bcc74ea83e094c823cd9ca535e4ecc5e78722e6f99d3656137.js
I, [2024-06-10T06:41:22.997323 #1211]  INFO -- : Escrevendo /var/www/discourse/public/assets/scripts/discourse-test-listen-boot-9b14a0fc65c689577e6a428dcfd680205516fe211700a71c7adb5cbcf4df2cc5.js
rake abortou!                                                                                                          
Zlib::BufError: erro de buffer (Zlib::BufError)                                                                          
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cache/file_store.rb:100:in `<'`
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cache/file_store.rb:100:in `set'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cache.rb:212:in `set'

...

FALHOU
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'SKIP_EMBER_CLI_COMPILE=1 bundle exec rake themes:update assets:precompile' falhou com retorno #<Process::Status: pid 1209 exit 1>
Localização da falha: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec falhou com os parâmetros {"cd"=>"$home", "tag"=>"precompile", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'SKIP_EMBER_CLI_COMPILE=1 bundle exec rake themes:update assets:precompile'"]}
falha na inicialização com código de saída 1
** FALHA AO INICIALIZAR ** por favor, role para cima e procure por mensagens de erro anteriores, pode haver mais de uma.
./discourse-doctor pode ajudar a diagnosticar o problema.
1 curtida

Houve alguns relatos de um erro semelhante recentemente:

Não tenho certeza se uma causa exata foi encontrada, mas pensou-se que um deles era o Animated Avatars e o outro o Subscriptions (embora o Subscriptions esteja reconstruindo bem para mim).

2 curtidas

Eu não uso esses plugins:

   2   │ discourse_plugins:
   3   │   - https://github.com/discourse/docker_manager
   4   │   - https://github.com/discourse/discourse-rss-polling
   5   │   - https://github.com/discourse/discourse-chat-integration
   6   │   - https://github.com/discourse/discourse-yearly-review
   7   │   - https://github.com/discourse/discourse-perspective-api
   8   │   - https://github.com/discourse/discourse-policy
   9   │   - https://github.com/discourse/discourse-shared-edits
  10   │   - https://github.com/discourse/discourse-akismet
  11   │   - https://github.com/discourse/discourse-solved
  12   │   - https://github.com/discourse/discourse-user-notes
  13   │   - https://github.com/discourse/discourse-templates
  14   │   - https://github.com/discourse/discourse-assign
  15   │   - https://github.com/discourse/discourse-docs
  16   │   - https://github.com/discourse/discourse-encrypt
  17   │   - https://github.com/discourse/discourse-cakeday
  18   │   - https://github.com/discourse/discourse-calendar
  19 _ │   - https://github.com/discourse/discourse-data-explorer
  20   │   - https://github.com/kees-closed/discourse-group-custom-fields
  21   │   - https://github.com/discourse/discourse-activity-pub

Eu uso MaxMind, então talvez esse possa ser o problema. Eu também comentei o plugin não-Discourse. Isso não resolveu o problema, então não acho que seja devido a um plugin não oficial.

Eu também reiniciei o host do contêiner, sem efeito no resultado da compilação. No passado, um problema de rede foi resolvido por uma reinicialização.

Você tentou reconstruir sem ele?

Minha melhor explicação para isso agora é algum erro espúrio com o Maxmind. Mas olhando novamente para alguns dos erros, isso também não faz sentido.

Acabei de ter este problema ao atualizar uma instalação do Discourse…

Acredito que a causa seja porque DISCOURSE_MAXMIND_LICENSE_KEY é especificado no arquivo de contêiner .yml sem um DISCOURSE_MAXMIND_ACCOUNT_ID correspondente.

O pull request do @tgxworld adiciona o uso de DISCOURSE_MAXMIND_ACCOUNT_ID em vários lugares e explica a necessidade de um “Account ID”:

Para mim, a correção foi adicionar DISCOURSE_MAXMIND_ACCOUNT_ID e reconstruir (reconstruí duas vezes, mas isso foi muito provavelmente um problema temporário).

7 curtidas

Uma reconstrução recente funcionou bem. Se falhar novamente, darei uma olhada na sugestão do @DeanMarkTaylor. Obrigado a todos!

Só para constar, acabei de encontrar o erro de reconstrução Zlib::BufError: buffer error (Zlib::BufError) e adicionar DISCOURSE_MAXMIND_ACCOUNT_ID e reconstruir funcionou na primeira tentativa para mim. :+1:

4 curtidas

O mesmo aqui. Adicionar o ID da conta e reconstruir está funcionando novamente. :slight_smile:

1 curtida

Quando a versão 3.3.0.beta3 foi lançada, recebi este erro de forma inconsistente; falhou uma vez e, em seguida, a reconstrução foi bem-sucedida. (Por não ter encontrado este post, fiquei preocupado com corrupção de memória! :grimacing:) Esta noite, ao fazer uma reconstrução, falhou consistentemente até que encontrei este post e adicionei DISCOURSE_MAXMIND_ACCOUNT_ID à DISCOURSE_MAXMIND_LICENSE_KEY existente, e então foi confiável e bem-sucedida.

(Presumo que algo como o MaxMind implementou uma alteração com uma implantação blue/green e que anteriormente eu atingi versões diferentes de um serviço de back-end a cada vez…)

A reconstrução falhou devido às linhas do MaxMind. Funcionou até agora e, sem nenhuma alteração no app.yml, falhou agora. Portanto, algo maior está quebrado.

De qualquer forma, não preciso disso no Discourse, então deixarei comentado. Mas é totalmente certo que o problema é algo diferente do account_id.

Concordo. Minha reconstrução falhou mesmo com DISCOURSE_MAXMIND_ACCOUNT_ID definido em app.yml.

Assim que comentei todas as menções ao Maxmind, a reconstrução foi bem-sucedida.

2 curtidas

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.