Kann auf ARM nicht gebaut werden, Zlib::BufError während assets:precompile

Auf einem Hetzner CAX21 VPS mit aarch64 CPU schlug die Ausführung von ./launcher rebuild web.yml mit der folgenden Fehlermeldung fehl: Bitte helfen Sie mir.

I, [2024-05-24T14:07:05.408434 #1]  INFO -- : cd /var/www/discourse & su discourse -c 'SKIP_EMBER_CLI_COMPILE=1 bundle exec rake themes:update assets:precompile'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30: warning: /usr/local/lib/ruby/3.3.0/observer.rb was loaded from the standard library, but will no longer be part of the default gems since Ruby 3.4.0. Add observer to your Gemfile or gemspec. Also contact author of rmagick-4.2.2 to add observer into its gemspec.
Purging temp files
Bundling assets
I, [2024-05-24T14:07:12.220787 #2680]  INFO -- : Writing /var/www/discourse/public/assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322bf777d145fed04790e.js
I, [2024-05-24T14:07:12.229550 #2680]  INFO -- : Writing /var/www/discourse/public/assets/service-worker-f149bdcc45f1996961aa7d1e44bbaaa67fbfc013f6976595afe544acfe5664dc.js
I, [2024-05-24T14:07:12.248203 #2680]  INFO -- : Writing /var/www/discourse/public/assets/locales/i18n-3b40e842fd72b9bcc74ea83e094c823cd9ca535e4ecc5e78722e6f99d3656137.js
I, [2024-05-24T14:07:12.253509 #2680]  INFO -- : Writing /var/www/discourse/public/assets/scripts/discourse-test-listen-boot-9b14a0fc65c689577e6a428dcfd680205516fe211700a71c7adb5cbcf4df2cc5.js
I, [2024-05-24T14:07:13.226151 #2680]  INFO -- : Writing /var/www/discourse/public/assets/locales/ar-6e08f3f970e658a14b18a835d3c1fb286846ea94e333ac46242e166eff29dd22.js
I, [2024-05-24T14:07:13.682780 #2680]  INFO -- : Writing /var/www/discourse/public/assets/locales/be-762dabfdc99a559d5cf6fb691049fb50a71fa828e3dd48818a94dc62dc988f71.js
I, [2024-05-24T14:07:14.148990 #2680]  INFO -- : Writing /var/www/discourse/public/assets/locales/bg-28b8fd14f6bcc195da7401a451a222ccc958e1b285df4bb7e95d65f356bad2ec.js
I, [2024-05-24T14:07:14.431154 #2680]  INFO -- : Writing /var/www/discourse/public/assets/locales/bs_BA-34f2fe1480f5a9c77ddf0dfb26ad4751e793ce56b1cc48e9ad6e9867c5e08094.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'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cache.rb:136:in `set'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:243:in `store_asset'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:185:in `load_from_unloaded'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:60:in `block in load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:317:in `fetch_asset_from_dependency_cache'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:44:in `load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cached_environment.rb:20:in `block in initialize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cached_environment.rb:47:in `load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/bundle.rb:23:in `block in call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/utils.rb:201:in `dfs'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/bundle.rb:24:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/processor_utils.rb:75:in `call_processor'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/processor_utils.rb:57:in `block in call_processors'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/processor_utils.rb:56:in `reverse_each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/processor_utils.rb:56:in `call_processors'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:134:in `load_from_unloaded'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:60:in `block in load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:317:in `fetch_asset_from_dependency_cache'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:44:in `load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cached_environment.rb:20:in `block in initialize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cached_environment.rb:47:in `load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/base.rb:66:in `find_asset'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/base.rb:73:in `find_all_linked_assets'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/manifest.rb:134:in `block in find'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/manifest.rb:133:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/manifest.rb:133:in `find'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/manifest.rb:186:in `compile'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-rails-3.4.2/lib/sprockets/rails/task.rb:67:in `block (3 levels) in define'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/rake/sprocketstask.rb:147:in `with_logger'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-rails-3.4.2/lib/sprockets/rails/task.rb:66:in `block (2 levels) in define'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)
I, [2024-05-24T14:07:14.967828 #1]  INFO -- : Downloading MaxMindDB...


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 2678 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.
26e64935c29000e8c019ed676034a16e2d988ec28a2cd9164e142ee83c086ded
root@ubuntu-8gb-nbg1-1:/var/discourse#  

Nachdem ich einige Plugins auskommentiert hatte, konnte ich erneut rebuilden. Ich werde das Plugin, das dieses Problem verursacht, genauer untersuchen.

Schließlich stellte sich heraus, dass das Plugin https://github.com/discourse/discourse-animated-avatars und sein begleitendes Skript das Problem verursachen. Das Auskommentieren der Plugin-Clone-Zeile und

- exec:
    cd: $home/plugins/discourse-animated-avatars
    raise_on_fail: false
    cmd:
      - $home/plugins/discourse-animated-avatars/scripts/install.sh

… wird funktionieren.

3 „Gefällt mir“

Ich habe dasselbe Problem und wenn ich den Exec-Teil von discourse-animated-avatars deaktiviere, funktioniert der Rebuild.

Verknüpfung eines aktuellen ähnlichen Berichts Rebuild fails when these plugins are present - #5 by JammyDodger, obwohl keine animierten Avatare für diesen. Erste Gedanken waren Abonnements.

Es stellt sich heraus, dass das Entfernen der Kommentare für den install.sh-Teil und ein zweites Erstellen, nachdem es beim ersten Mal ohne den install.sh-Teil funktionierte, es auch mit ihm erstellt. Seltsam…

Ich glaube nicht, dass es an Abonnements lag. Ich habe Abonnements entfernt und es funktionierte immer noch. Dann habe ich den Maxmind-Schlüssel und die ID auskommentiert und es funktionierte. Es scheint mir also, dass mit Maxmind immer noch etwas kaputt ist. Es ergibt einfach keinen Sinn, dass ein Problem mit Maxmind den gesamten Build zum Scheitern bringt. Ich werde versuchen, noch etwas mehr zu tun, um herauszufinden, was das Problem ist, aber es reicht schon, wenn ein Fehler mit Maxmind kein Showstopper ist.

Meine Vermutung zu diesem Zeitpunkt ist, dass es fehlerhafte Fehler geben kann, wie z. B. ein Netzwerkproblem, überlastete Server, Ratenbegrenzung oder was auch immer, und dass dies Müll zurücksendet, der dann nicht entpackt wird (da es sich nicht um eine Zip-Datei handelt).

Dieser Maxmind-Code wurde gerade für das ID/Schlüssel-Paar überarbeitet. Ich bin enttäuscht, dass dieser Fehler “Maxmind verursacht einen Build-Fehler” beibehalten wurde. (Oder zumindest scheint es so).

3 „Gefällt mir“