«Zlib::BufError: errore del buffer» - Aggiornamento di Discourse fallisce

I, [2024-06-10T06:40:50.951638 #1]  INFO -- : cd /var/www/discourse & su discourse -c 'SKIP_EMBER_CLI_COMPILE=1 bundle exec rake themes:update assets:precompile'
Il nome del plugin è 'discourse-education-group-custom-fields', ma la directory del plugin si chiama 'discourse-group-custom-fields' 
Purging temp files                                     
Bundling assets                                           
I, [2024-06-10T06:41:22.964825 #1211]  INFO -- : Writing /var/www/discourse/public/assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322bf777d145fed04790e.js
I, [2024-06-10T06:41:22.986328 #1211]  INFO -- : Writing /var/www/discourse/public/assets/service-worker-5ed284060464db53e2bfcd15aca57982a183382ef3e0c86921be9a2ac5ecc196.js
I, [2024-06-10T06:41:22.993446 #1211]  INFO -- : Writing /var/www/discourse/public/assets/locales/i18n-3b40e842fd72b9bcc74ea83e094c823cd9ca535e4ecc5e78722e6f99d3656137.js
I, [2024-06-10T06:41:22.997323 #1211]  INFO -- : Writing /var/www/discourse/public/assets/scripts/discourse-test-listen-boot-9b14a0fc65c689577e6a428dcfd680205516fe211700a71c7adb5cbcf4df2cc5.js
rake aborted!                                                                                                          
Zlib::BufError: buffer error (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`

...

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'SKIP_EMBER_CLI_COMPILE=1 bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 1209 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn`
exec failed with the params {"cd"=>"$home", "tag"=>"precompile", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'SKIP_EMBER_CLI_COMPILE=1 bundle exec rake themes:update assets:precompile'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
1 Mi Piace

Ci sono state un paio di segnalazioni di un errore simile di recente:

Non sono sicuro se sia stata trovata una causa esatta, ma si pensava che una fosse dovuta ad Animated Avatars e l’altra a Subscriptions (anche se Subscriptions ha continuato a ricostruire bene per me).

2 Mi Piace

Non uso questi plugin:

   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

Uso MaxMind, quindi forse questo potrebbe essere il problema. Ho anche commentato il plugin non-Discourse. Questo non ha risolto il problema, quindi non credo che sia dovuto a un plugin non ufficiale.

Ho anche riavviato l’host del container, senza alcun effetto sull’esito della build. In passato un problema di rete è stato risolto da un riavvio.

Hai provato a ricompilare senza?

La mia migliore spiegazione al momento è un errore spurio con Maxmind. Ma guardando di nuovo alcuni degli errori, anche questo non ha senso.

Ho appena riscontrato questo problema durante l’aggiornamento di un’installazione di Discourse…

Credo che la causa sia dovuta al fatto che DISCOURSE_MAXMIND_LICENSE_KEY è specificato nel file contenitore .yml senza un corrispondente DISCOURSE_MAXMIND_ACCOUNT_ID.

La pull request di @tgxworld aggiunge l’uso di DISCOURSE_MAXMIND_ACCOUNT_ID in più punti e spiega la necessità di un “Account ID”:

Per me la soluzione è stata aggiungere DISCOURSE_MAXMIND_ACCOUNT_ID e ricostruire (ho ricostruito due volte, ma questo era molto probabilmente un problema temporaneo).

7 Mi Piace

Una recente ricompilazione ha funzionato bene. Se dovesse fallire di nuovo, darò un’occhiata al suggerimento di @DeanMarkTaylor. Grazie a tutti!

Per quanto ne so, ho appena riscontrato l’errore di ricompilazione Zlib::BufError: buffer error (Zlib::BufError) e l’aggiunta di DISCOURSE_MAXMIND_ACCOUNT_ID e la ricompilazione sono andate a buon fine al primo tentativo per me. :+1:

4 Mi Piace

Anche qui. Aggiungere l’ID dell’account e ricompilare funziona di nuovo. :slight_smile:

1 Mi Piace

Quando è stata rilasciata la versione 3.3.0.beta3, ho riscontrato questo errore in modo incoerente; è fallito una volta e poi la ricostruzione è riuscita. (Non avendo trovato questo post, temevo un danneggiamento della memoria! :grimacing:) Stasera, facendo una ricostruzione, è fallita costantemente finché non ho trovato questo post e ho aggiunto DISCOURSE_MAXMIND_ACCOUNT_ID alla DISCOURSE_MAXMIND_LICENSE_KEY esistente e poi è riuscita in modo affidabile.

(Presumo che qualcosa di simile a maxmind abbia introdotto una modifica con un blue/green deployment e che in precedenza abbia colpito versioni diverse di un servizio di backend ogni volta…)

La ricostruzione è appena fallita a causa delle righe di MaxMind. Ha funzionato fino ad ora e senza alcuna modifica in app.yml è fallita ora. Quindi qualcosa di più grande è rotto.

Comunque, non ne ho bisogno su Discourse, quindi lascerò che sia commentato. Ma è assolutamente certo che il problema sia qualcos’altro oltre al solo account_id.

Concordo. La mia ricompilazione è fallita anche con DISCOURSE_MAXMIND_ACCOUNT_ID impostato in app.yml.

Non appena ho commentato ogni menzione di Maxmind, la ricompilazione è riuscita.

2 Mi Piace

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