Mini_racer.rb errore di segmentazione durante assets:precompile

Ho recentemente eseguito un aggiornamento, ero indietro di circa 20 giorni, e ho riscontrato un core dump costante da mini_racer.rb durante rake themes:updateassets:precompile

Si tratta di una configurazione multisite e sono in grado di riprodurre il problema su più macchine copiando lo stato di /var/discourse su un’altra macchina ed eseguendo nuovamente ./launcher rebuild app.

Realizzando dove si trovava il punto di fallimento, ho creato un’immagine senza il passaggio di precompilazione.
Quando ho riavviato il comando di precompilazione all’interno del container dell’app, si verificava costantemente lo stesso errore “[BUG] Segmentation fault at 0x000016815713b548”.

Tuttavia, quando ho eseguito la precompilazione per ogni sito individualmente utilizzando RAILS_DB, il passaggio di precompilazione di ciascun sito è stato completato senza problemi e un’esecuzione successiva del comando originale senza specificare RAILS_DB è passata e continua a passare senza problemi.

Sto inviando questo report nel caso in cui qualcun altro abbia lo stesso problema e abbia bisogno di andare avanti o se posso fare qualcosa per aiutare gli sviluppatori a rintracciare il bug. Fatemi sapere se questo è un bug troppo specifico della configurazione o se è più appropriato come bug contro mini_racer.


Di seguito sono riportate informazioni aggiuntive:
Ho salvato lo stato del db che mi permette di riprodurre il crash relativamente facilmente.

coredump bt full output

Questo è ciò che sono riuscito a ottenere dal core dump, non molto data la mancanza di simboli.

(gdb) bt full
#0  0x00007dbf36e168ee in ?? () from /lib/x86_64-linux-gnu/libgcc_s.so.1
No symbol table info available.
#1  0x00007dbf36e1864b in _Unwind_Backtrace () from /lib/x86_64-linux-gnu/libgcc_s.so.1
No symbol table info available.
#2  0x00007dbf366558ff in __GI___backtrace (array=array@entry=0x7dbf36dee9e0 <trace>, size=size@entry=1024)
    at ./debug/backtrace.c:78
        arg = {array = 0x7dbf36dee9e0 <trace>, unwind_link = 0x7dbf3671a600 <global>, cfa = 99493855763264, 
          cnt = 4, size = 1024}
#3  0x00007dbf36b1857b in rb_print_backtrace (errout=0x7dbf36713680 <_IO_2_1_stderr_>) at vm_dump.c:820
        n = <optimized out>
        trace = {0x7dbf36b1857b <rb_vm_bugreport+2411>, 0x7dbf36912840 <rb_bug_for_fatal_signal+256>, 
          0x7dbf36a63f8b, 0x7dbf3657c050 <__restore_rt>, 0x0 <repeats 1020 times>}
        n = <optimized out>
#4  rb_vm_bugreport (ctx=ctx@entry=0x5a7d37ee1b40, errout=errout@entry=0x7dbf36713680 <_IO_2_1_stderr_>)
    at vm_dump.c:1151
        cmd = <optimized out>
        error = <optimized out>
        other_runtime_info = other_runtime_info
        vm = 0x5a7d32dfdb70
        ec = <optimized out>
#5  0x00007dbf36912840 in rb_bug_for_fatal_signal (default_sighandler=0x0, sig=sig@entry=11, 
    ctx=ctx@entry=0x5a7d37ee1b40, fmt=fmt@entry=0x7dbf36c764d5 "Segmentation fault at %p") at error.c:1065
        pid = -1
        out = 0x7dbf36713680 <_IO_2_1_stderr_>
        file = <optimized out>
        line = 251
#6  0x00007dbf36a63f8b in sigsegv (sig=11, info=0x5a7d37ee1c70, ctx=0x5a7d37ee1b40) at signal.c:926
No locals.
#7  <signal handler called>
No locals.
#8  0x000002aa2ca82540 in ?? ()
No symbol table info available.
#9  0x000002aa2cebaef0 in ?? ()
No symbol table info available.
#10 0x00003b134cc41151 in ?? ()
No symbol table info available.
#11 0x0000166e35e16221 in ?? ()
No symbol table info available.
#12 0x000000000000000a in ?? ()
No symbol table info available.
#13 0x00007dbf0e3fc6d8 in ?? ()
No symbol table info available.
#14 0x000002aa2cd99226 in ?? ()
No symbol table info available.
#15 0x000fff480e3fc858 in ?? ()
No symbol table info available.
#16 0x0000000000000000 in ?? ()
No symbol table info available.

Ecco l’output completo di ./launcher rebuild app
Il fallimento inizia a

[2024-11-02T01:47:24.999880 #1] INFO – : > cd /var/www/discourse && su discourse -c ‘SKIP_EMBER_CLI_COMPILE=1 bundle exec rake themes:update assets:precompile’

Output Completo della Build
root@bui /var/discourse (main)# ./launcher rebuild app
x86_64 arch detected.
Ensuring launcher is up to date
Launcher is up-to-date
Stopping old container
+ /usr/bin/docker stop -t 600 app
app
2.0.20240825-0027: Pulling from discourse/base
Digest: sha256:6de68cb49198b5281f79ed9401b3fe818c854d220dcf0238549fe2f2adb19146
Status: Image is up to date for discourse/base:2.0.20240825-0027
docker.io/discourse/base:2.0.20240825-0027
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2024-11-02T01:44:52.378303 #1]  INFO -- : Reading from stdin
I, [2024-11-02T01:44:52.383987 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown: 
I, [2024-11-02T01:44:52.385967 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown: 
I, [2024-11-02T01:44:52.387891 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown: 
I, [2024-11-02T01:44:52.389701 #1]  INFO -- : File > /root/install_postgres  chmod: +x  chown: 
I, [2024-11-02T01:44:52.391627 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown: 
I, [2024-11-02T01:44:52.391731 #1]  INFO -- : Replacing data_directory = '/var/lib/postgresql/13/main' with data_directory = '/shared/postgres_data' in /etc/postgresql/13/main/postgresql.conf
I, [2024-11-02T01:44:52.392012 #1]  INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/13/main/postgresql.conf
I, [2024-11-02T01:44:52.392219 #1]  INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with synchronous_commit = $db_synchronous_commit in /etc/postgresql/13/main/postgresql.conf
I, [2024-11-02T01:44:52.396485 #1]  INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with shared_buffers = $db_shared_buffers in /etc/postgresql/13/main/postgresql.conf
I, [2024-11-02T01:44:52.396649 #1]  INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem = $db_work_mem in /etc/postgresql/13/main/postgresql.conf
I, [2024-11-02T01:44:52.396807 #1]  INFO -- : Replacing (?-mix:#?default_text_search_config *=.*) with default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/13/main/postgresql.conf
I, [2024-11-02T01:44:52.396996 #1]  INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) with checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/13/main/postgresql.conf
I, [2024-11-02T01:44:52.397152 #1]  INFO -- : Replacing (?-mix:#?logging_collector *=.*) with logging_collector = $db_logging_collector in /etc/postgresql/13/main/postgresql.conf
I, [2024-11-02T01:44:52.397320 #1]  INFO -- : Replacing (?-mix:#?log_min_duration_statement *=.*) with log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/13/main/postgresql.conf
I, [2024-11-02T01:44:52.397485 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres  peer in /etc/postgresql/13/main/pg_hba.conf
I, [2024-11-02T01:44:52.397611 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*127.*$) with host all all 0.0.0.0/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2024-11-02T01:44:52.397743 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*::1\/128.*$) with host all all ::/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2024-11-02T01:44:52.397920 #1]  INFO -- : > if [ -f /root/install_postgres ]; then
  /root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
fi

I, [2024-11-02T01:44:53.461893 #1]  INFO -- : Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.

I, [2024-11-02T01:44:53.462006 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main
I, [2024-11-02T01:44:53.464711 #1]  INFO -- : File > /usr/local/bin/create_db  chmod: +x  chown: 
I, [2024-11-02T01:44:53.467297 #1]  INFO -- : File > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2024-11-02T01:44:53.468393 #1]  INFO -- : File > /var/spool/cron/crontabs/postgres  chmod:   chown: 
I, [2024-11-02T01:44:53.468514 #1]  INFO -- : > sleep 5
2024-11-02 01:44:53.506 UTC [39] LOG:  starting PostgreSQL 13.16 (Debian 13.16-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
2024-11-02 01:44:53.507 UTC [39] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2024-11-02 01:44:53.507 UTC [39] LOG:  listening on IPv6 address "::", port 5432
2024-11-02 01:44:53.518 UTC [39] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-11-02 01:44:53.533 UTC [48] LOG:  database system was shut down at 2024-11-02 00:16:33 UTC
2024-11-02 01:44:53.542 UTC [39] LOG:  database system is ready to accept connections
I, [2024-11-02T01:44:58.469404 #1]  INFO -- : 
I, [2024-11-02T01:44:58.469488 #1]  INFO -- : > /usr/local/bin/create_db
2024-11-02 01:44:58.512 UTC [58] postgres@postgres ERROR:  database "discourse" already exists
2024-11-02 01:44:58.512 UTC [58] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: error: database creation failed: ERROR:  database "discourse" already exists
2024-11-02 01:44:58.550 UTC [61] postgres@discourse ERROR:  role "discourse" already exists
2024-11-02 01:44:58.550 UTC [61] postgres@discourse STATEMENT:  create user discourse;
ERROR:  role "discourse" already exists
NOTICE:  extension "hstore" already exists, skipping
NOTICE:  extension "pg_trgm" already exists, skipping
NOTICE:  extension "vector" already exists, skipping
NOTICE:  version "0.7.4" of extension "vector" is already installed
NOTICE:  extension "hstore" already exists, skipping
NOTICE:  extension "pg_trgm" already exists, skipping
NOTICE:  extension "vector" already exists, skipping
NOTICE:  version "0.7.4" of extension "vector" is already installed
I, [2024-11-02T01:44:58.875599 #1]  INFO -- : GRANT
ALTER SCHEMA
CREATE EXTENSION
CREATE EXTENSION
CREATE EXTENSION
ALTER EXTENSION
CREATE EXTENSION
CREATE EXTENSION
CREATE EXTENSION
ALTER EXTENSION
UPDATE 0

I, [2024-11-02T01:44:58.875658 #1]  INFO -- : > echo postgres installed!
I, [2024-11-02T01:44:58.876655 #1]  INFO -- : postgres installed!

I, [2024-11-02T01:44:58.876751 #1]  INFO -- : > sudo -u postgres createdb zab_discourse || exit 0
2024-11-02 01:44:58.901 UTC [99] postgres@postgres ERROR:  database "zab_discourse" already exists
2024-11-02 01:44:58.901 UTC [99] postgres@postgres STATEMENT:  CREATE DATABASE zab_discourse;
createdb: error: database creation failed: ERROR:  database "zab_discourse" already exists
I, [2024-11-02T01:44:58.902590 #1]  INFO -- : 
I, [2024-11-02T01:44:58.902722 #1]  INFO -- : > sudo -u postgres psql zab_discourse
I, [2024-11-02T01:44:58.903456 #1]  INFO -- : grant all privileges on database zab_discourse to discourse;
grant all privileges on database devsite_discourse to discourse;

I, [2024-11-02T01:44:58.929995 #1]  INFO -- : > /bin/bash -c 'sudo -u postgres psql zab_discourse <<< "alter schema public owner to discourse;"'
I, [2024-11-02T01:44:58.957252 #1]  INFO -- : ALTER SCHEMA

I, [2024-11-02T01:44:58.957405 #1]  INFO -- : > /bin/bash -c 'sudo -u postgres psql zab_discourse <<< "create extension if not exists hstore;"'
NOTICE:  extension "hstore" already exists, skipping
I, [2024-11-02T01:44:58.984839 #1]  INFO -- : CREATE EXTENSION

I, [2024-11-02T01:44:58.984945 #1]  INFO -- : > /bin/bash -c 'sudo -u postgres psql zab_discourse <<< "create extension if not exists pg_trgm;"'
NOTICE:  extension "pg_trgm" already exists, skipping
I, [2024-11-02T01:44:59.011819 #1]  INFO -- : CREATE EXTENSION

I, [2024-11-02T01:44:59.011953 #1]  INFO -- : > sudo -u postgres createdb devsite_discourse || exit 0
2024-11-02 01:44:59.036 UTC [121] postgres@postgres ERROR:  database "devsite_discourse" already exists
2024-11-02 01:44:59.036 UTC [121] postgres@postgres STATEMENT:  CREATE DATABASE devsite_discourse;
createdb: error: database creation failed: ERROR:  database "devsite_discourse" already exists
I, [2024-11-02T01:44:59.037669 #1]  INFO -- : 
I, [2024-11-02T01:44:59.037823 #1]  INFO -- : > sudo -u postgres psql devsite_discourse
I, [2024-11-02T01:44:59.038719 #1]  INFO -- : grant all privileges on database devsite_discourse to discourse;
grant all privileges on database devsite_discourse to discourse;

I, [2024-11-02T01:44:59.065215 #1]  INFO -- : > /bin/bash -c 'sudo -u postgres psql devsite_discourse <<< "alter schema public owner to discourse;"'
I, [2024-11-02T01:44:59.092386 #1]  INFO -- : ALTER SCHEMA

I, [2024-11-02T01:44:59.092489 #1]  INFO -- : > /bin/bash -c 'sudo -u postgres psql devsite_discourse <<< "create extension if not exists hstore;"'
NOTICE:  extension "hstore" already exists, skipping
I, [2024-11-02T01:44:59.119000 #1]  INFO -- : CREATE EXTENSION

I, [2024-11-02T01:44:59.119113 #1]  INFO -- : > /bin/bash -c 'sudo -u postgres psql devsite_discourse <<< "create extension if not exists pg_trgm;"'
NOTICE:  extension "pg_trgm" already exists, skipping
I, [2024-11-02T01:44:59.145739 #1]  INFO -- : CREATE EXTENSION

I, [2024-11-02T01:44:59.147856 #1]  INFO -- : File > /etc/service/redis/run  chmod: +x  chown: 
I, [2024-11-02T01:44:59.149569 #1]  INFO -- : File > /etc/service/redis/log/run  chmod: +x  chown: 
I, [2024-11-02T01:44:59.151148 #1]  INFO -- : File > /etc/runit/3.d/10-redis  chmod: +x  chown: 
I, [2024-11-02T01:44:59.151243 #1]  INFO -- : Replacing daemonize yes with  in /etc/redis/redis.conf
I, [2024-11-02T01:44:59.151529 #1]  INFO -- : Replacing (?-mix:^pidfile.*$) with  in /etc/redis/redis.conf
I, [2024-11-02T01:44:59.151730 #1]  INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2024-11-02T01:44:59.152726 #1]  INFO -- : 
I, [2024-11-02T01:44:59.152872 #1]  INFO -- : Replacing (?-mix:^logfile.*$) with logfile "" in /etc/redis/redis.conf
I, [2024-11-02T01:44:59.156046 #1]  INFO -- : Replacing (?-mix:^bind .*$) with  in /etc/redis/redis.conf
I, [2024-11-02T01:44:59.156392 #1]  INFO -- : Replacing (?-mix:^dir .*$) with dir /shared/redis_data in /etc/redis/redis.conf
I, [2024-11-02T01:44:59.156816 #1]  INFO -- : Replacing (?-mix:^protected-mode yes) with protected-mode no in /etc/redis/redis.conf
I, [2024-11-02T01:44:59.157150 #1]  INFO -- : Replacing # io-threads 4 with io-threads $redis_io_threads in /etc/redis/redis.conf
I, [2024-11-02T01:44:59.157493 #1]  INFO -- : > echo redis installed
I, [2024-11-02T01:44:59.158307 #1]  INFO -- : redis installed

I, [2024-11-02T01:44:59.158379 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2024-11-02T01:44:59.159827 #1]  INFO -- : logfile ""

I, [2024-11-02T01:44:59.159884 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2024-11-02T01:44:59.160479 #1]  INFO -- : > sleep 10
151:C 02 Nov 2024 01:44:59.164 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
151:C 02 Nov 2024 01:44:59.164 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=151, just started
151:C 02 Nov 2024 01:44:59.164 # Configuration loaded
151:M 02 Nov 2024 01:44:59.164 * monotonic clock: POSIX clock_gettime
151:M 02 Nov 2024 01:44:59.164 * Running mode=standalone, port=6379.
151:M 02 Nov 2024 01:44:59.164 # Server initialized
151:M 02 Nov 2024 01:44:59.164 * Loading RDB produced by version 7.0.7
151:M 02 Nov 2024 01:44:59.164 * RDB age 5306 seconds
151:M 02 Nov 2024 01:44:59.164 * RDB memory usage when created 15.44 Mb
151:M 02 Nov 2024 01:44:59.184 * Done loading RDB, keys loaded: 4432, keys expired: 0.
151:M 02 Nov 2024 01:44:59.184 * DB loaded from disk: 0.020 seconds
151:M 02 Nov 2024 01:44:59.184 * Ready to accept connections
I, [2024-11-02T01:45:09.161564 #1]  INFO -- : 
I, [2024-11-02T01:45:09.162064 #1]  INFO -- : > thpoff echo "thpoff is installed!"
I, [2024-11-02T01:45:09.169486 #1]  INFO -- : thpoff is installed!

I, [2024-11-02T01:45:09.170159 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_SMTP_ADDRESS"] == "smtp.example.com"; puts "Aborting! Mail is not configured!"; exit 1; end'
I, [2024-11-02T01:45:09.217931 #1]  INFO -- : 
I, [2024-11-02T01:45:09.217977 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "Aborting! Domain is not configured!"; exit 1; end'
I, [2024-11-02T01:45:09.258998 #1]  INFO -- : 
I, [2024-11-02T01:45:09.259044 #1]  INFO -- : > /usr/local/bin/ruby -e 'if (ENV["DISCOURSE_CDN_URL"] || "")[0..1] == "//"; puts "Aborting! CDN must have a protocol specified. Once fixed you should rebake your posts now to correct all posts."; exit 1; end'
I, [2024-11-02T01:45:09.299487 #1]  INFO -- : 
I, [2024-11-02T01:45:09.299574 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2024-11-02T01:45:09.300769 #1]  INFO -- : 
I, [2024-11-02T01:45:09.301842 #1]  INFO -- : File > /etc/cron.d/anacron  chmod:   chown: 
I, [2024-11-02T01:45:09.303806 #1]  INFO -- : File > /etc/runit/1.d/copy-env  chmod: +x  chown: 
I, [2024-11-02T01:45:09.305607 #1]  INFO -- : File > /etc/service/unicorn/run  chmod: +x  chown: 
I, [2024-11-02T01:45:09.307455 #1]  INFO -- : File > /etc/service/nginx/run  chmod: +x  chown: 
I, [2024-11-02T01:45:09.309203 #1]  INFO -- : File > /etc/runit/3.d/01-nginx  chmod: +x  chown: 
I, [2024-11-02T01:45:09.310924 #1]  INFO -- : File > /etc/runit/3.d/02-unicorn  chmod: +x  chown: 
I, [2024-11-02T01:45:09.311007 #1]  INFO -- : Replacing # postgres with if [ -f /root/install_postgres ]; then
  /root/install_postgres
  rm /root/install_postgres
fi
sv start postgres || exit 1
 in /etc/service/unicorn/run
I, [2024-11-02T01:45:09.313238 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git reset --hard
Updating files: 100% (34680/34680), done.
I, [2024-11-02T01:45:11.364546 #1]  INFO -- : HEAD is now at 274e18622 FIX: Video uploads sometimes hang indefinitely (#28523)

I, [2024-11-02T01:45:11.364756 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git clean -f
I, [2024-11-02T01:45:11.441460 #1]  INFO -- : 
I, [2024-11-02T01:45:11.441520 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  if [ $(git rev-parse --is-shallow-repository) == "true" ]; then
      git remote set-branches --add origin main
      git remote set-branches origin tests-passed
      git fetch --depth 1 origin tests-passed
  else
      git fetch --tags --prune-tags --prune --force origin
  fi
'
From https://github.com/discourse/discourse
 - [deleted]             (none)     -> origin/0-a-gjs-ace
 - [deleted]             (none)     -> origin/better-respect-End-key-in-topics
 - [deleted]             (none)     -> origin/category-experts-approved-webhook-event
 - [deleted]             (none)     -> origin/chat-sound-respects-indicator-pref
 - [deleted]             (none)     -> origin/d-button-noautoclass
 - [deleted]             (none)     -> origin/dependabot/bundler/omniauth-google-oauth2-1.1.2
 - [deleted]             (none)     -> origin/dependabot/bundler/sass-embedded-1.77.8
 - [deleted]             (none)     -> origin/dependabot/bundler/sassc-embedded-1.77.8
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/ember-cli-deprecation-workflow-3.0.2
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/ember/test-helpers-4.0.1
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/eslint-9.7.0
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/sass-1.77.8
 - [deleted]             (none)     -> origin/detect-default-readonly
 - [deleted]             (none)     -> origin/dev/add-skeleton-of-section-landing-page-and-items
 - [deleted]             (none)     -> origin/dev/remove-header-widgets
 - [deleted]             (none)     -> origin/feature/site-text-result-selected-lang
 - [deleted]             (none)     -> origin/fix/add-user-to-user-directory-when-activated
 - [deleted]             (none)     -> origin/issue/fix-bookmark-clearing-reminder
 - [deleted]             (none)     -> origin/loic-drop-compiled-js-column
 - [deleted]             (none)     -> origin/mt/converter
 - [deleted]             (none)     -> origin/mt/uploads-command
 - [deleted]             (none)     -> origin/native-class-components-2
 - [deleted]             (none)     -> origin/native-class-components-3
 - [deleted]             (none)     -> origin/notifications_id_bigint
 - [deleted]             (none)     -> origin/prevent-desktop-notifications-on-mobile
 - [deleted]             (none)     -> origin/tobiaseigen-patch-3
 - [deleted]             (none)     -> origin/tobiaseigen-patch-5
 - [deleted]             (none)     -> origin/update-composer-media-optimization-requirements
 - [deleted]             (none)     -> origin/ux/admin-plugins-ui-guidelines
   274e18622..deeed5b8c  main                    -> origin/main
 * [new branch]          0-a-dl                  -> origin/0-a-dl
 * [new branch]          0-a-more-topics-api     -> origin/0-a-more-topics-api
 * [new branch]          add-live-reload-disable-option -> origin/add-live-reload-disable-option
 * [new branch]          add-outlet-user-card    -> origin/add-outlet-user-card
 * [new branch]          add-shift-detect        -> origin/add-shift-detect
 * [new branch]          add-verbose-logging-for-google-oauth -> origin/add-verbose-logging-for-google-oauth
 * [new branch]          auto-grid-images        -> origin/auto-grid-images
 * [new branch]          chat-uppy-upload        -> origin/chat-uppy-upload
 * [new branch]          chunk-size              -> origin/chunk-size
 * [new branch]          cleanup-mobile-topic-footer-area -> origin/cleanup-mobile-topic-footer-area
 + 7f254be61...4264fe0d6 coco/generic-importer   -> origin/coco/generic-importer  (forced update)
 * [new branch]          dependabot/bundler/activejob-7.1.5 -> origin/dependabot/bundler/activejob-7.1.5
 * [new branch]          dependabot/bundler/activemodel-7.1.5 -> origin/dependabot/bundler/activemodel-7.1.5
 * [new branch]          dependabot/bundler/omniauth-google-oauth2-1.2.0 -> origin/dependabot/bundler/omniauth-google-oauth2-1.2.0
 * [new branch]          dependabot/bundler/rackup-1.0.1 -> origin/dependabot/bundler/rackup-1.0.1
 * [new branch]          dependabot/bundler/rails-81d7e7502c -> origin/dependabot/bundler/rails-81d7e7502c
 * [new branch]          dependabot/bundler/sass-embedded-1.80.5 -> origin/dependabot/bundler/sass-embedded-1.80.5
 * [new branch]          dependabot/bundler/sassc-embedded-1.80.1 -> origin/dependabot/bundler/sassc-embedded-1.80.1
 * [new branch]          dependabot/npm_and_yarn/glimmer/component-2.0.0 -> origin/dependabot/npm_and_yarn/glimmer/component-2.0.0
 * [new branch]          dependabot/npm_and_yarn/jsuites-5.7.0 -> origin/dependabot/npm_and_yarn/jsuites-5.7.0
 * [new branch]          dependabot/npm_and_yarn/sass-1.80.5 -> origin/dependabot/npm_and_yarn/sass-1.80.5
 * [new branch]          dependabot/npm_and_yarn/webpack-5.96.1 -> origin/dependabot/npm_and_yarn/webpack-5.96.1
 * [new branch]          deprecate-template-overrides -> origin/deprecate-template-overrides
 * [new branch]          dev-faster-tests        -> origin/dev-faster-tests
 * [new branch]          dev-fix-chat-types      -> origin/dev-fix-chat-types
 * [new branch]          dev-nginx-conf          -> origin/dev-nginx-conf
 * [new branch]          dev/automation-scriptable-add-with-class -> origin/dev/automation-scriptable-add-with-class
 * [new branch]          dev/convert-theme-install-modal-gjs -> origin/dev/convert-theme-install-modal-gjs
 * [new branch]          dev/glimmer-post-menu   -> origin/dev/glimmer-post-menu
 * [new branch]          dev/port-outlet-wrapper-to-stable -> origin/dev/port-outlet-wrapper-to-stable
 * [new branch]          dev/remap-enhancements  -> origin/dev/remap-enhancements
 * [new branch]          dev/remove-admin-flag-translations -> origin/dev/remove-admin-flag-translations
 * [new branch]          dev/remove-deprecated-respect-plugin-positional-argument -> origin/dev/remove-deprecated-respect-plugin-positional-argument
 * [new branch]          dev/use-new-filestore-download-method -> origin/dev/use-new-filestore-download-method
 + 59bf25001...86f856e04 devcontainer            -> origin/devcontainer  (forced update)
 * [new branch]          drawer-composer-positioning -> origin/drawer-composer-positioning
 * [new branch]          ember-native-class      -> origin/ember-native-class
 * [new branch]          events-ui               -> origin/events-ui
 * [new branch]          feature-searchable-fields-link -> origin/feature-searchable-fields-link
 * [new branch]          feature/add-user-to-topic_tags_changed-event -> origin/feature/add-user-to-topic_tags_changed-event
 + a0042745d...0093ed7e3 feature/bulk-dismiss-buttons-confirmation -> origin/feature/bulk-dismiss-buttons-confirmation  (forced update)
 * [new branch]          feature/custom-fields-for-existing-users -> origin/feature/custom-fields-for-existing-users
 * [new branch]          fix-safari-below-18-detection -> origin/fix-safari-below-18-detection
 * [new branch]          glint                   -> origin/glint
 * [new branch]          issue/fix-plugin-actions-outlet -> origin/issue/fix-plugin-actions-outlet
 * [new branch]          loic-experiment-model-value-type -> origin/loic-experiment-model-value-type
 * [new branch]          loic-fix-post-revision-serializer -> origin/loic-fix-post-revision-serializer
 + 26e2ddbde...653ec4e50 loic-rails-7.2          -> origin/loic-rails-7.2  (forced update)
 * [new branch]          loic-refactor-create-thread-service -> origin/loic-refactor-create-thread-service
 * [new branch]          mt/idb                  -> origin/mt/idb
 * [new branch]          perf-chat-auto-join-take-42 -> origin/perf-chat-auto-join-take-42
 * [new branch]          post-badge-poc          -> origin/post-badge-poc
 * [new branch]          refactor_deditor_textarea -> origin/refactor_deditor_textarea
 * [new branch]          render-glimmer-granular -> origin/render-glimmer-granular
 * [new branch]          revert-28587-revert-28321-dev/remove-create_post_for_category_and_tag_changes-setting -> origin/revert-28587-revert-28321-dev/remove-create_post_for_category_and_tag_changes-setting
 * [new branch]          safari-hacks-sayonara   -> origin/safari-hacks-sayonara
 * [new branch]          sidebar-a11y-viewport-zoom -> origin/sidebar-a11y-viewport-zoom
   d3ad2ecda..1da4243cc  stable                  -> origin/stable
 * [new branch]          tag-name-transformer    -> origin/tag-name-transformer
 * [new branch]          testing_debian_12       -> origin/testing_debian_12
   274e18622..deeed5b8c  tests-passed            -> origin/tests-passed
 * [new branch]          virtual-keyboard-fix-login -> origin/virtual-keyboard-fix-login
 * [new branch]          whats-new-notify-plugins -> origin/whats-new-notify-plugins
 t [tag update]          beta                    -> beta
 t [tag update]          latest-release          -> latest-release
 * [new tag]             v3.3.1                  -> v3.3.1
 * [new tag]             v3.3.2                  -> v3.3.2
 * [new tag]             v3.4.0.beta1            -> v3.4.0.beta1
 * [new tag]             v3.4.0.beta2            -> v3.4.0.beta2
I, [2024-11-02T01:45:11.905583 #1]  INFO -- : 
I, [2024-11-02T01:45:11.905644 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  if [[ $(git symbolic-ref --short HEAD) == tests-passed ]] ; then
      git pull
  else
      git -c advice.detachedHead=false checkout tests-passed
  fi
'
Switched to a new branch 'tests-passed'
I, [2024-11-02T01:45:14.469334 #1]  INFO -- : branch 'tests-passed' set up to track 'origin/tests-passed'.

I, [2024-11-02T01:45:14.469386 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git config user.discourse-version tests-passed
I, [2024-11-02T01:45:14.493302 #1]  INFO -- : 
I, [2024-11-02T01:45:14.493361 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2024-11-02T01:45:14.495021 #1]  INFO -- : 
I, [2024-11-02T01:45:14.495051 #1]  INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2024-11-02T01:45:14.496347 #1]  INFO -- : 
I, [2024-11-02T01:45:14.496374 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2024-11-02T01:45:14.497688 #1]  INFO -- : 
I, [2024-11-02T01:45:14.497722 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2024-11-02T01:45:14.499000 #1]  INFO -- : 
I, [2024-11-02T01:45:14.499046 #1]  INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2024-11-02T01:45:14.500340 #1]  INFO -- : 
I, [2024-11-02T01:45:14.500394 #1]  INFO -- : > cd /var/www/discourse && mkdir -p                    /shared/log/rails
I, [2024-11-02T01:45:14.501795 #1]  INFO -- : 
I, [2024-11-02T01:45:14.501830 #1]  INFO -- : > cd /var/www/discourse && bash -c "touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2024-11-02T01:45:14.503581 #1]  INFO -- : 
I, [2024-11-02T01:45:14.503645 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log /var/www/discourse/log"
I, [2024-11-02T01:45:14.505356 #1]  INFO -- : 
I, [2024-11-02T01:45:14.505407 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2024-11-02T01:45:14.507140 #1]  INFO -- : 
I, [2024-11-02T01:45:14.507171 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2024-11-02T01:45:14.508805 #1]  INFO -- : 
I, [2024-11-02T01:45:14.508834 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2024-11-02T01:45:14.510535 #1]  INFO -- : 
I, [2024-11-02T01:45:14.510564 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2024-11-02T01:45:14.512167 #1]  INFO -- : 
I, [2024-11-02T01:45:14.512192 #1]  INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2024-11-02T01:45:14.525397 #1]  INFO -- : 
I, [2024-11-02T01:45:14.525458 #1]  INFO -- : > cd /var/www/discourse && [ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2024-11-02T01:45:14.526543 #1]  INFO -- : 
I, [2024-11-02T01:45:14.526605 #1]  INFO -- : Replacing # redis with if [ ! -d /shared/redis_data ]; then
  install -d -m 0755 -o redis -g redis /shared/redis_data
fi
sv start redis || exit 1 in /etc/service/unicorn/run
I, [2024-11-02T01:45:14.527049 #1]  INFO -- : > cd /var/www/discourse/plugins && mkdir -p plugins
I, [2024-11-02T01:45:14.528359 #1]  INFO -- : 
I, [2024-11-02T01:45:14.528402 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
Cloning into 'docker_manager'...
I, [2024-11-02T01:45:15.116533 #1]  INFO -- : 
I, [2024-11-02T01:45:15.116669 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-reactions
Cloning into 'discourse-reactions'...
I, [2024-11-02T01:45:15.612542 #1]  INFO -- : 
I, [2024-11-02T01:45:15.612646 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-bbcode
Cloning into 'discourse-bbcode'...
I, [2024-11-02T01:45:15.885350 #1]  INFO -- : 
I, [2024-11-02T01:45:15.885442 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-saml
Cloning into 'discourse-saml'...
I, [2024-11-02T01:45:16.121383 #1]  INFO -- : 
I, [2024-11-02T01:45:16.121446 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-yearly-review
Cloning into 'discourse-yearly-review'...
I, [2024-11-02T01:45:16.396790 #1]  INFO -- : 
I, [2024-11-02T01:45:16.396864 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-calendar
Cloning into 'discourse-calendar'...
I, [2024-11-02T01:45:17.104029 #1]  INFO -- : 
I, [2024-11-02T01:45:17.104092 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-whos-online
Cloning into 'discourse-whos-online'...
I, [2024-11-02T01:45:17.376311 #1]  INFO -- : 
I, [2024-11-02T01:45:17.376369 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-oauth2-basic
Cloning into 'discourse-oauth2-basic'...
I, [2024-11-02T01:45:17.634119 #1]  INFO -- : 
I, [2024-11-02T01:45:17.634179 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-activity-pub
Cloning into 'discourse-activity-pub'...
I, [2024-11-02T01:45:18.135201 #1]  INFO -- : 
I, [2024-11-02T01:45:18.135264 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-chat-integration
Cloning into 'discourse-chat-integration'...
I, [2024-11-02T01:45:18.547366 #1]  INFO -- : 
I, [2024-11-02T01:45:18.547520 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2024-11-02T01:45:18.548862 #1]  INFO -- : 
I, [2024-11-02T01:45:18.548924 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2024-11-02T01:45:18.549768 #1]  INFO -- : 
I, [2024-11-02T01:45:18.549811 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2024-11-02T01:45:18.550730 #1]  INFO -- : 
I, [2024-11-02T01:45:18.550812 #1]  INFO -- : Replacing pid /run/nginx.pid; with daemon off; in /etc/nginx/nginx.conf
I, [2024-11-02T01:45:18.550997 #1]  INFO -- : Replacing (?m-ix:upstream[^\}]+\}) with upstream discourse { server 127.0.0.1:3000; } in /etc/nginx/conf.d/discourse.conf
I, [2024-11-02T01:45:18.551180 #1]  INFO -- : Replacing (?-mix:server_name.+$) with server_name _ ; in /etc/nginx/conf.d/discourse.conf
I, [2024-11-02T01:45:18.551321 #1]  INFO -- : Replacing (?-mix:client_max_body_size.+$) with client_max_body_size $upload_size ; in /etc/nginx/conf.d/discourse.conf
I, [2024-11-02T01:45:18.551461 #1]  INFO -- : Replacing (?-mix:worker_connections.+$) with worker_connections $nginx_worker_connections ; in /etc/nginx/nginx.conf
I, [2024-11-02T01:45:18.551585 #1]  INFO -- : > echo "done configuring web"
I, [2024-11-02T01:45:18.552334 #1]  INFO -- : done configuring web

Si è verificato un errore durante l'aggiornamento

```ruby
api_key = "a quick brown fox"
fetch("https://api.example.com/data", headers: { 'Authorization' => api_key })

Per favore aiutami a risolverlo.[details=Stack trace e log di errore]
372
c:0014 p:0143 s:0102 e:000101 METHOD /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/relation/batches.rb:269
c:0013 p:0050 s:0087 e:000086 METHOD /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/relation/batches.rb:157
c:0012 p:0028 s:0076 e:000075 METHOD /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/relation/batches.rb:81
c:0011 p:0026 s:0065 e:000064 METHOD /var/www/discourse/lib/tasks/themes.rake:67
c:0010 p:0006 s:0059 e:000058 BLOCK /var/www/discourse/lib/tasks/themes.rake:118
c:0009 p:0039 s:0056 e:000055 METHOD /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:207
c:0008 p:0017 s:0048 e:000047 METHOD /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21
c:0007 p:0007 s:0039 e:000038 BLOCK /var/www/discourse/lib/tasks/themes.rake:118
c:0006 p:0030 s:0035 e:000034 METHOD /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/parallel-1.26.3/lib/parallel.rb:650
c:0005 p:0014 s:0025 e:000024 BLOCK /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/parallel-1.26.3/lib/parallel.rb:441
c:0004 p:0012 s:0022 e:000021 METHOD /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/parallel-1.26.3/lib/parallel.rb:660
c:0003 p:0032 s:0014 e:000013 BLOCK /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/parallel-1.26.3/lib/parallel.rb:440
c:0002 p:0004 s:0006 e:000005 BLOCK /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/parallel-1.26.3/lib/parallel.rb:219 [FINISH]
c:0001 p:---- s:0003 e:000002 DUMMY [FINISH]

– Informazioni backtrace a livello Ruby ----------------------------------------
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/parallel-1.26.3/lib/parallel.rb:219:in block (4 levels) in in_threads' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/parallel-1.26.3/lib/parallel.rb:440:in block in work_in_threads’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/parallel-1.26.3/lib/parallel.rb:660:in with_instrumentation' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/parallel-1.26.3/lib/parallel.rb:441:in block (2 levels) in work_in_threads’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/parallel-1.26.3/lib/parallel.rb:650:in call_with_index' /var/www/discourse/lib/tasks/themes.rake:118:in block (2 levels) in ’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in with_connection' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:207:in with_connection’
/var/www/discourse/lib/tasks/themes.rake:118:in block (3 levels) in <main>' /var/www/discourse/lib/tasks/themes.rake:67:in update_themes’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/relation/batches.rb:81:in find_each' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/relation/batches.rb:157:in find_in_batches’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/relation/batches.rb:269:in in_batches' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/relation/batches.rb:372:in batch_on_unloaded_relation’
internal:kernel:187:in loop' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/relation/batches.rb:396:in block in batch_on_unloaded_relation’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/relation/batches.rb:158:in block in find_in_batches' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/relation/batches.rb:82:in block in find_each’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/relation/batches.rb:82:in each' /var/www/discourse/lib/tasks/themes.rake:69:in block in update_themes’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/transactions.rb:301:in transaction' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/transactions.rb:212:in transaction’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/connection_adapters/abstract/database_statements.rb:344:in transaction' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/connection_adapters/abstract/transaction.rb:532:in within_new_transaction’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.4.2/lib/active_support/concurrency/null_lock.rb:9:in synchronize' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/connection_adapters/abstract/transaction.rb:535:in block in within_new_transaction’
/var/www/discourse/lib/tasks/themes.rake:89:in block (2 levels) in update_themes' /var/www/discourse/app/models/remote_theme.rb:439:in update_from_remote’
/var/www/discourse/app/models/remote_theme.rb:430:in block in update_from_remote' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/suppressor.rb:56:in save!’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/transactions.rb:313:in save!' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/transactions.rb:361:in with_transaction_returning_status’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/connection_adapters/abstract/database_statements.rb:342:in transaction' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/transactions.rb:365:in block in with_transaction_returning_status’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/transactions.rb:313:in block in save!' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/validations.rb:55:in save!’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/persistence.rb:751:in save!' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/timestamp.rb:127:in create_or_update’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/callbacks.rb:441:in create_or_update' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.4.2/lib/active_support/callbacks.rb:952:in _run_save_callbacks’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.4.2/lib/active_support/callbacks.rb:141:in run_callbacks' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.4.2/lib/active_support/callbacks.rb:135:in block in run_callbacks’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.4.2/lib/active_support/callbacks.rb:602:in invoke_after' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.4.2/lib/active_support/callbacks.rb:602:in each’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.4.2/lib/active_support/callbacks.rb:602:in block in invoke_after' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.4.2/lib/active_support/callbacks.rb:239:in block in halting_and_conditional’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.4.2/lib/active_support/callbacks.rb:448:in block in make_lambda' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.4.2/lib/active_support/callbacks.rb:448:in instance_exec’
/var/www/discourse/app/models/theme.rb:132:in block in <class:Theme>' /var/www/discourse/app/models/theme.rb:176:in update_javascript_cache!’
/var/www/discourse/lib/theme_javascript_compiler.rb:172:in append_tree' /var/www/discourse/lib/theme_javascript_compiler.rb:172:in each_pair’
/var/www/discourse/lib/theme_javascript_compiler.rb:176:in block in append_tree' /var/www/discourse/lib/theme_javascript_compiler.rb:247:in append_module’
/var/www/discourse/lib/discourse_js_processor.rb:151:in perform' /var/www/discourse/lib/discourse_js_processor.rb:126:in v8_call’
/var/www/discourse/lib/discourse_js_processor.rb:126:in synchronize' /var/www/discourse/lib/discourse_js_processor.rb:127:in block in v8_call’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.14.1/lib/mini_racer.rb:249:in call' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.14.1/lib/mini_racer.rb:249:in synchronize’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.14.1/lib/mini_racer.rb:250:in block in call' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.14.1/lib/mini_racer.rb:378:in timeout’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.14.1/lib/mini_racer.rb:251:in block (2 levels) in call' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.14.1/lib/mini_racer.rb:251:in call_unsafe’

– Informazioni sui thread ---------------------------------------------------
Conteggio totale ractor: 1
Conteggio thread Ruby per questo ractor: 13

– Contesto registri macchina ------------------------------------------------
RIP: 0x000016815713b540 RBP: 0x00007cecb50ea698 RSP: 0x00007cecb50ea678
RAX: 0x000019ae27801789 RBX: 0x0000000000000010 RCX: 0x0000168157544996
RDX: 0x00007cecb50ea660 RDI: 0x000023fff3e31209 RSI: 0x0000241e654c1151
R8: 0x0000000000000042 R9: 0x0000000000000042 R10: 0x0000000000000055
R11: 0x000000000000000b R12: 0x000025c093bc7aa1 R13: 0x00007cec9804ae40
R14: 0x000000000000008b R15: 0x00007cec983c42d0 EFL: 0x0000000000010202

– Informazioni backtrace a livello C -------------------------------------------
2024-11-02 01:47:33.306 UTC [2704] discourse@devsite_discourse LOG: unexpected EOF on client connection with an open transaction
2024-11-02 01:47:33.306 UTC [2754] discourse@discourse LOG: unexpected EOF on client connection with an open transaction
2024-11-02 01:47:33.306 UTC [2703] discourse@zab_discourse LOG: unexpected EOF on client connection with an open transaction
Segmentation fault (core dumped)
I, [2024-11-02T01:47:33.307440 #1] INFO – : Aggiornamento temi con concorrenza: 10
[db:default] ‘DiscoTOC’ - verifica…
[db:thirdsite] ‘Kiosk’ - verifica…
[db:secondsite] ‘DiscoTOC’ - verifica…
[db:thirdsite] ‘Kiosk’ - aggiornato
[db:thirdsite] ‘Dark-Light Toggle’ - verifica…
[db:secondsite] ‘DiscoTOC’ - aggiornamento da 67de4bd6 a 062d4c2d
[db:default] ‘DiscoTOC’ - aggiornamento da 67de4bd6 a 062d4c2d
[db:thirdsite] ‘Dark-Light Toggle’ - aggiornamento da 7ed31b75 a 8d84b508

151:signal-handler (1730512053) Ricevuto SIGTERM, pianificazione dello spegnimento…
I, [2024-11-02T01:47:33.307646 #1] INFO – : Terminazione processi asincroni
I, [2024-11-02T01:47:33.307667 #1] INFO – : Invio INT a HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 39
I, [2024-11-02T01:47:33.307685 #1] INFO – : Invio TERM a exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 151
2024-11-02 01:47:33.307 UTC [39] LOG: received fast shutdown request
2024-11-02 01:47:33.359 UTC [39] LOG: aborting any active transactions
2024-11-02 01:47:33.361 UTC [39] LOG: background worker “logical replication launcher” (PID 54) exited with exit code 1
2024-11-02 01:47:33.361 UTC [49] LOG: shutting down
151:M 02 Nov 2024 01:47:33.405 # User requested shutdown…
151:M 02 Nov 2024 01:47:33.405 * Saving the final RDB snapshot before exiting.
151:M 02 Nov 2024 01:47:33.644 * DB saved on disk
151:M 02 Nov 2024 01:47:33.644 # Redis is now ready to exit, bye bye…
2024-11-02 01:47:33.656 UTC [39] LOG: database system is shut down

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 2662 exit 139>
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 139
** BOOTSTRAP FALLITO ** scorri verso l’alto e cerca messaggi di errore precedenti, potrebbe essercene più di uno.
./discourse-doctor può aiutare a diagnosticare il problema.
0a1c5d5564356a99382f072a4bfbdbf685d65ccfbae65d160fe12bd3df5d2025

5 Mi Piace

Su un multisito appena installato non ho riscontrato questo bug.
Ma su una configurazione esistente da tempo, in funzione da anni, l’ho riscontrato. Ahi.
C’è un modo per tornare a una versione funzionante? – Il riavvio ha avviato il container precedente. Meno male.

Per tornare al container precedente, dovresti essere in grado di eseguire

./launcher run app

Non ho ancora avuto modo di approfondire la questione, dato il periodo dell’anno, ma in sostanza, il modo in cui gestisco l’aggiornamento di questa difficile istanza al momento è il seguente:

cd /var/discourse
mv shared shared.good
./launcher rebuild app
./launcher stop app
mv shared shared.fresh # Uso rm -rf qui..
mv shared.good shared
./launcher start app
./launcher enter app
cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate

# Itera attraverso i diversi siti che ho definito impostando RAILS_DB
# Se non è impostato, riproduci il problema.
cd /var/www/discourse && su discourse -c 'SKIP_EMBER_CLI_COMPILE=1 RAILS_DB=default bundle exec rake themes:update assets:precompile'
cd /var/www/discourse && su discourse -c 'SKIP_EMBER_CLI_COMPILE=1 RAILS_DB=thirdsite bundle exec rake themes:update assets:precompile'

Una volta completato questo passaggio, puoi effettivamente eseguire un ./launcher rebuild app completamente nuovo, a condizione che non siano state apportate modifiche, e dovrebbe compilare end-to-end senza problemi, ma non è realmente necessario.

Sembra che salt= venga chiamato su un’istanza User dove non dovrebbe:

#<NoMethodError: undefined method `salt=' for an instance of User>

Altri errori negli aggiornamenti dei temi:

[default] Impossibile aggiornare 'DiscoTOC' (9): undefined method `ThemeModifierSetError' for class ThemeModifierSet
[default] Impossibile aggiornare 'discourse-icon' (15): undefined method `ThemeModifierSetError' for class ThemeModifierSet
1 Mi Piace

Tornando su questo argomento, questo problema è cessato e non lo sto più affrontando regolarmente, presumo che da qualche parte a monte sia stato corretto un bug che ha impedito che ciò accadesse. Lo contrassegnerò come chiuso e se qualcun altro sta ancora affrontando questo problema, sentiti libero di riaprirlo.

Modifica: non sembra che io possa chiudere il bug da solo, quindi se qualcuno che può chiudere i bug vede questo, consideri questo problema risolto.

2 Mi Piace

Sì, per quanto ne so sono state apportate correzioni, Sam sarà felice di sentirlo!

Grazie per l’aggiornamento.

3 Mi Piace