Discourse offline após atualização falha "bootstrap failed with exit code 5"

Olá a todos,

Meu Discourse está atualmente fora do ar :cry: :pensive:

Ele falhou após tentar atualizar esta manhã de/para v3.2.0.beta3 +468:

Na linha de comando, a mensagem de erro é:

E o log completo do console:

root@greyarro:~# cd /var/discourse/
root@greyarro:/var/discourse# git pull
Já está atualizado.
root@greyarro:/var/discourse# ./launcher rebuild app
Arquitetura x86_64 detectada.
AVISO: o arquivo containers/app.yml é legível por todos. Você pode proteger este arquivo executando: chmod o-rwx containers/app.yml
Garantindo que o launcher esteja atualizado
Buscando origin
Launcher está atualizado
2.0.20231023-1945: Pulling from discourse/base
Digest: sha256:2b0eb484d20888cc2daadb690dcfa73522105650c1420212e99345a36a424d77
Status: A imagem está atualizada para discourse/base:2.0.20231023-1945
/usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2023-12-11T06:36:42.453494 #1]  INFO -- : Lendo de stdin
I, [2023-12-11T06:36:42.461560 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2023-12-11T06:36:42.523575 #1]  INFO -- : Gerando locales (isso pode demorar um pouco)...
Geração concluída.

I, [2023-12-11T06:36:42.524082 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2023-12-11T06:36:42.529018 #1]  INFO -- : 
I, [2023-12-11T06:36:42.529478 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2023-12-11T06:36:42.534085 #1]  INFO -- : 
I, [2023-12-11T06:36:42.534610 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2023-12-11T06:36:42.538665 #1]  INFO -- : 
I, [2023-12-11T06:36:42.539119 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2023-12-11T06:36:42.542429 #1]  INFO -- : 
I, [2023-12-11T06:36:42.542918 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2023-12-11T06:36:42.545917 #1]  INFO -- : 
I, [2023-12-11T06:36:42.546272 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres já está em execução, pare o container ; exit 1
2023/12/11 06:36:42 socat[17] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): Arquivo ou diretório não encontrado
I, [2023-12-11T06:36:42.557289 #1]  INFO -- : 
I, [2023-12-11T06:36:42.557926 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2023-12-11T06:36:42.562906 #1]  INFO -- : 
I, [2023-12-11T06:36:42.563405 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2023-12-11T06:36:42.568125 #1]  INFO -- : 
I, [2023-12-11T06:36:42.568537 #1]  INFO -- : > mkdir -p /shared/postgres_run/13-main.pg_stat_tmp
I, [2023-12-11T06:36:42.571897 #1]  INFO -- : 
I, [2023-12-11T06:36:42.572328 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/13-main.pg_stat_tmp
I, [2023-12-11T06:36:42.575429 #1]  INFO -- : 
I, [2023-12-11T06:36:42.583069 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown: 
I, [2023-12-11T06:36:42.591097 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown: 
I, [2023-12-11T06:36:42.599557 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown: 
I, [2023-12-11T06:36:42.607693 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown: 
I, [2023-12-11T06:36:42.608293 #1]  INFO -- : > chown -R root /var/lib/postgresql/13/main
I, [2023-12-11T06:36:43.061308 #1]  INFO -- : 
I, [2023-12-11T06:36:43.061769 #1]  INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/13/bin/initdb -D /shared/postgres_data || exit 0
I, [2023-12-11T06:36:43.066134 #1]  INFO -- : 
I, [2023-12-11T06:36:43.066571 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2023-12-11T06:36:43.105049 #1]  INFO -- : 
I, [2023-12-11T06:36:43.105891 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2023-12-11T06:36:43.111420 #1]  INFO -- : 
I, [2023-12-11T06:36:43.112072 #1]  INFO -- : > /root/upgrade_postgres
I, [2023-12-11T06:36:43.122177 #1]  INFO -- : 
I, [2023-12-11T06:36:43.122713 #1]  INFO -- : > rm /root/upgrade_postgres
I, [2023-12-11T06:36:43.126702 #1]  INFO -- : 
I, [2023-12-11T06:36:43.127981 #1]  INFO -- : Substituindo data_directory = '/var/lib/postgresql/13/main' por data_directory = '/shared/postgres_data' em /etc/postgresql/13/main/postgresql.conf
I, [2023-12-11T06:36:43.128927 #1]  INFO -- : Substituindo (?-mix:#?listen_addresses *=.*) por listen_addresses = '*' em /etc/postgresql/13/main/postgresql.conf
I, [2023-12-11T06:36:43.129583 #1]  INFO -- : Substituindo (?-mix:#?synchronous_commit *=.*) por synchronous_commit = $db_synchronous_commit em /etc/postgresql/13/main/postgresql.conf
I, [2023-12-11T06:36:43.130214 #1]  INFO -- : Substituindo (?-mix:#?shared_buffers *=.*) por shared_buffers = $db_shared_buffers em /etc/postgresql/13/main/postgresql.conf
I, [2023-12-11T06:36:43.130899 #1]  INFO -- : Substituindo (?-mix:#?work_mem *=.*) por work_mem = $db_work_mem em /etc/postgresql/13/main/postgresql.conf
I, [2023-12-11T06:36:43.131457 #1]  INFO -- : Substituindo (?-mix:#?default_text_search_config *=.*) por default_text_search_config = '$db_default_text_search_config' em /etc/postgresql/13/main/postgresql.conf
I, [2023-12-11T06:36:43.132096 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2023-12-11T06:36:43.137173 #1]  INFO -- : 
I, [2023-12-11T06:36:43.137747 #1]  INFO -- : Substituindo (?-mix:#?checkpoint_segments *=.*) por checkpoint_segments = $db_checkpoint_segments em /etc/postgresql/13/main/postgresql.conf
I, [2023-12-11T06:36:43.138339 #1]  INFO -- : Substituindo (?-mix:#?logging_collector *=.*) por logging_collector = $db_logging_collector em /etc/postgresql/13/main/postgresql.conf
I, [2023-12-11T06:36:43.139065 #1]  INFO -- : Substituindo (?-mix:#?log_min_duration_statement *=.*) por log_min_duration_statement = $db_log_min_duration_statement em /etc/postgresql/13/main/postgresql.conf
I, [2023-12-11T06:36:43.140177 #1]  INFO -- : Substituindo (?-mix:^#local +replication +postgres +peer$) por local replication postgres  peer em /etc/postgresql/13/main/pg_hba.conf
I, [2023-12-11T06:36:43.140923 #1]  INFO -- : Substituindo (?-mix:^host.*all.*all.*127.*$) por host all all 0.0.0.0/0 md5 em /etc/postgresql/13/main/pg_hba.conf
I, [2023-12-11T06:36:43.141403 #1]  INFO -- : Substituindo (?-mix:^host.*all.*all.*::1\/128.*$) por host all all ::/0 md5 em /etc/postgresql/13/main/pg_hba.conf
I, [2023-12-11T06:36:43.141961 #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, [2023-12-11T06:36:43.144661 #1]  INFO -- : > sleep 5
2023-12-11 06:36:43.213 UTC [40] LOG:  iniciando PostgreSQL 13.12 (Debian 13.12-1.pgdg110+1) em x86_64-pc-linux-gnu, compilado por gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
2023-12-11 06:36:43.213 UTC [40] LOG:  escutando no endereço IPv4 "0.0.0.0", porta 5432
2023-12-11 06:36:43.213 UTC [40] LOG:  escutando no endereço IPv6 "::", porta 5432
2023-12-11 06:36:43.217 UTC [40] LOG:  escutando no soquete Unix "/var/run/postgresql/.s.PGSQL.5432"
2023-12-11 06:36:43.223 UTC [43] LOG:  o sistema de banco de dados foi desligado em 2023-12-11 06:33:31 UTC
2023-12-11 06:36:43.236 UTC [40] LOG:  o sistema de banco de dados está pronto para aceitar conexões
I, [2023-12-11T06:36:48.151212 #1]  INFO -- : 
I, [2023-12-11T06:36:48.151469 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
2023-12-11 06:36:48.241 UTC [53] postgres@postgres ERROR:  o banco de dados "discourse" já existe
2023-12-11 06:36:48.241 UTC [53] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: erro: falha na criação do banco de dados: ERROR:  o banco de dados "discourse" já existe
I, [2023-12-11T06:36:48.244084 #1]  INFO -- : 
I, [2023-12-11T06:36:48.244295 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2023-12-11 06:36:48.310 UTC [57] postgres@discourse ERROR:  o papel "discourse" já existe
2023-12-11 06:36:48.310 UTC [57] postgres@discourse STATEMENT:  create user discourse;
ERROR:  o papel "discourse" já existe
I, [2023-12-11T06:36:48.313540 #1]  INFO -- : 
I, [2023-12-11T06:36:48.313932 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
I, [2023-12-11T06:36:48.372120 #1]  INFO -- : GRANT

I, [2023-12-11T06:36:48.372374 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
I, [2023-12-11T06:36:48.428450 #1]  INFO -- : ALTER SCHEMA

I, [2023-12-11T06:36:48.428697 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists hstore;"'
NOTICE:  a extensão "hstore" já existe, ignorando
I, [2023-12-11T06:36:48.509937 #1]  INFO -- : CREATE EXTENSION

I, [2023-12-11T06:36:48.510198 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists pg_trgm;"'
NOTICE:  a extensão "pg_trgm" já existe, ignorando
I, [2023-12-11T06:36:48.575901 #1]  INFO -- : CREATE EXTENSION

I, [2023-12-11T06:36:48.576560 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists vector;"'
NOTICE:  a extensão "vector" já existe, ignorando
I, [2023-12-11T06:36:48.634184 #1]  INFO -- : CREATE EXTENSION

I, [2023-12-11T06:36:48.634407 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists hstore;"'
NOTICE:  a extensão "hstore" já existe, ignorando
I, [2023-12-11T06:36:48.691197 #1]  INFO -- : CREATE EXTENSION

I, [2023-12-11T06:36:48.691402 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists pg_trgm;"'
NOTICE:  a extensão "pg_trgm" já existe, ignorando
I, [2023-12-11T06:36:48.747583 #1]  INFO -- : CREATE EXTENSION

I, [2023-12-11T06:36:48.747801 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists vector;"'
NOTICE:  a extensão "vector" já existe, ignorando
I, [2023-12-11T06:36:48.805422 #1]  INFO -- : CREATE EXTENSION

I, [2023-12-11T06:36:48.805817 #1]  INFO -- : > sudo -u postgres psql discourse
I, [2023-12-11T06:36:48.808688 #1]  INFO -- : update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'discourse' AND encoding = pg_char_to_encoding('SQL_ASCII');

I, [2023-12-11T06:36:48.891679 #1]  INFO -- : File > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2023-12-11T06:36:48.896830 #1]  INFO -- : File > /var/spool/cron/crontabs/postgres  chmod:   chown: 
I, [2023-12-11T06:36:48.896998 #1]  INFO -- : > echo postgres instalado!
I, [2023-12-11T06:36:48.899962 #1]  INFO -- : postgres instalado!

I, [2023-12-11T06:36:48.907627 #1]  INFO -- : File > /etc/service/redis/run  chmod: +x  chown: 
I, [2023-12-11T06:36:48.914411 #1]  INFO -- : File > /etc/service/redis/log/run  chmod: +x  chown: 
I, [2023-12-11T06:36:48.920982 #1]  INFO -- : File > /etc/runit/3.d/10-redis  chmod: +x  chown: 
I, [2023-12-11T06:36:48.922023 #1]  INFO -- : Substituindo daemonize yes por  em /etc/redis/redis.conf
I, [2023-12-11T06:36:48.922829 #1]  INFO -- : Substituindo (?-mix:^pidfile.*$) por  em /etc/redis/redis.conf
I, [2023-12-11T06:36:48.923923 #1]  INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2023-12-11T06:36:48.928742 #1]  INFO -- : 
I, [2023-12-11T06:36:48.929799 #1]  INFO -- : Substituindo (?-mix:^logfile.*$) por logfile "" em /etc/redis/redis.conf
I, [2023-12-11T06:36:48.930627 #1]  INFO -- : Substituindo (?-mix:^bind .*$) por  em /etc/redis/redis.conf
I, [2023-12-11T06:36:48.931845 #1]  INFO -- : Substituindo (?-mix:^dir .*$) por dir /shared/redis_data em /etc/redis/redis.conf
I, [2023-12-11T06:36:48.933205 #1]  INFO -- : Substituindo (?-mix:^protected-mode yes) por protected-mode no em /etc/redis/redis.conf
I, [2023-12-11T06:36:48.934373 #1]  INFO -- : Substituindo # io-threads 4 por io-threads $redis_io_threads em /etc/redis/redis.conf
I, [2023-12-11T06:36:48.935362 #1]  INFO -- : > echo redis instalado
I, [2023-12-11T06:36:48.939050 #1]  INFO -- : redis instalado

I, [2023-12-11T06:36:48.939481 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2023-12-11T06:36:48.947715 #1]  INFO -- : logfile ""

I, [2023-12-11T06:36:48.948224 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2023-12-11T06:36:48.950934 #1]  INFO -- : > sleep 10
109:C 11 Dez 2023 06:36:48.962 # oO0OoO0OoO0Oo Redis está iniciando oO0OoO0OoO0Oo
109:C 11 Dez 2023 06:36:48.962 # Versão do Redis=7.0.7, bits=64, commit=00000000, modificado=0, pid=109, iniciado agora
109:C 11 Dez 2023 06:36:48.962 # Configuração carregada
109:M 11 Dez 2023 06:36:48.963 * relógio monótono: POSIX clock_gettime
109:M 11 Dez 2023 06:36:48.964 * Modo de execução=standalone, porta=6379.
109:M 11 Dez 2023 06:36:48.964 # AVISO: A configuração de backlog TCP de 511 não pode ser imposta porque /proc/sys/net/core/somaxconn está definido para o valor menor de 128.
109:M 11 Dez 2023 06:36:48.964 # Servidor inicializado
109:M 11 Dez 2023 06:36:48.964 # AVISO: O overcommit de memória deve estar habilitado! Sem ele, um salvamento em segundo plano ou replicação pode falhar em condições de baixa memória. Se desabilitado, também pode causar falhas sem condições de baixa memória, veja https://github.com/jemalloc/jemalloc/issues/1328. Para corrigir esse problema, adicione 'vm.overcommit_memory = 1' ao /etc/sysctl.conf e depois reinicie ou execute o comando 'sysctl vm.overcommit_memory=1' para que isso tenha efeito.
109:M 11 Dez 2023 06:36:48.965 * Carregando RDB produzido pela versão 7.0.7
109:M 11 Dez 2023 06:36:48.965 * Idade do RDB 196 segundos
109:M 11 Dez 2023 06:36:48.965 * Uso de memória do RDB quando criado 238.89 Mb
109:M 11 Dez 2023 06:36:49.836 * Concluído o carregamento do RDB, chaves carregadas: 78979, chaves expiradas: 55.
109:M 11 Dez 2023 06:36:49.836 * DB carregado do disco: 0.871 segundos
109:M 11 Dez 2023 06:36:49.836 * Pronto para aceitar conexões
I, [2023-12-11T06:36:58.954574 #1]  INFO -- : 
I, [2023-12-11T06:36:58.955135 #1]  INFO -- : > thpoff echo "thpoff está instalado!"
I, [2023-12-11T06:36:58.960865 #1]  INFO -- : thpoff está instalado!

I, [2023-12-11T06:36:58.961207 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_SMTP_ADDRESS"] == "smtp.example.com"; puts "Abortando! O e-mail não está configurado!"; exit 1; end'
I, [2023-12-11T06:36:59.059159 #1]  INFO -- : 
I, [2023-12-11T06:36:59.059736 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "Abortando! O domínio não está configurado!"; exit 1; end'
I, [2023-12-11T06:36:59.148371 #1]  INFO -- : 
I, [2023-12-11T06:36:59.149030 #1]  INFO -- : > /usr/local/bin/ruby -e 'if (ENV["DISCOURSE_CDN_URL"] || "")[0..1] == "//"; puts "Abortando! O CDN deve ter um protocolo especificado. Uma vez corrigido, você deve rebake seus posts agora para corrigir todos os posts."; exit 1; end'
I, [2023-12-11T06:36:59.236730 #1]  INFO -- : 
I, [2023-12-11T06:36:59.237387 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2023-12-11T06:36:59.242323 #1]  INFO -- : 
I, [2023-12-11T06:36:59.247436 #1]  INFO -- : File > /etc/cron.d/anacron  chmod:   chown: 
I, [2023-12-11T06:36:59.254458 #1]  INFO -- : File > /etc/runit/1.d/copy-env  chmod: +x  chown: 
I, [2023-12-11T06:36:59.261375 #1]  INFO -- : File > /etc/service/unicorn/run  chmod: +x  chown: 
I, [2023-12-11T06:36:59.268779 #1]  INFO -- : File > /etc/service/nginx/run  chmod: +x  chown: 
I, [2023-12-11T06:36:59.276427 #1]  INFO -- : File > /etc/runit/3.d/01-nginx  chmod: +x  chown: 
I, [2023-12-11T06:36:59.283178 #1]  INFO -- : File > /etc/runit/3.d/02-unicorn  chmod: +x  chown: 
I, [2023-12-11T06:36:59.283492 #1]  INFO -- : Substituindo # postgres por sv start postgres || exit 1 em /etc/service/unicorn/run
I, [2023-12-11T06:36:59.284057 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2023-12-11T06:36:59.287039 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git reset --hard
137:C 11 Dez 2023 06:36:59.295 # oO0OoO0OoO0Oo Redis está iniciando oO0OoO0OoO0Oo
137:C 11 Dez 2023 06:36:59.295 # Versão do Redis=7.0.7, bits=64, commit=00000000, modificado=0, pid=137, iniciado agora
137:C 11 Dez 2023 06:36:59.295 # Configuração carregada
137:M 11 Dez 2023 06:36:59.295 * relógio monótono: POSIX clock_gettime
137:M 11 Dez 2023 06:36:59.295 # Aviso: Não foi possível criar o soquete de escuta TCP do servidor *:6379: bind: Endereço já em uso
137:M 11 Dez 2023 06:36:59.295 # Falha ao escutar na porta 6379 (TCP), abortando.
Atualizando arquivos: 100% (33858/33858), concluído.
I, [2023-12-11T06:37:03.209327 #1]  INFO -- : HEAD está agora em 043b4a418 FIX: substitui o uso de data-tooltip por <DTooltip /> (#24062)

I, [2023-12-11T06:37:03.209496 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git clean -f
I, [2023-12-11T06:37:03.416955 #1]  INFO -- : 
I, [2023-12-11T06:37:03.417150 #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-flake-key
 - [deleted]             (none)     -> origin/0-grant-badge-fix
 - [deleted]             (none)     -> origin/0-obscuring
 - [deleted]             (none)     -> origin/0-router-lint
 - [deleted]             (none)     -> origin/0-router-service
 - [deleted]             (none)     -> origin/a-smokes-test
 - [deleted]             (none)     -> origin/autoimport-cleanup
 - [deleted]             (none)     -> origin/category-bullet-only
 - [deleted]             (none)     -> origin/dependabot/bundler/syntax_tree-6.2.0
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-3.4.0
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-multipart-3.8.0
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/core-3.6.0
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/utils-5.5.2
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/xhr-upload-3.4.2
 - [deleted]             (none)     -> origin/dev-upgrade-reject-reason-reviewable-modal
 - [deleted]             (none)     -> origin/dev/ability-to-collect-stats-without-public-exposing
 - [deleted]             (none)     -> origin/dev/minio-s3-system-specs
 - [deleted]             (none)     -> origin/dev/re-enable-minio-specs
 - [deleted]             (none)     -> origin/dev/switch-over-category-settings
 - [deleted]             (none)     -> origin/dev/switch-over-more-category-settings
 - [deleted]             (none)     -> origin/discovery-named-outlets
 - [deleted]             (none)     -> origin/feature/theme-settings-migration
 - [deleted]             (none)     -> origin/fix/account-for-empty-string-site-settings
 - [deleted]             (none)     -> origin/footnote-plugin
 - [deleted]             (none)     -> origin/metadata-update
 - [deleted]             (none)     -> origin/modal-ux
 - [deleted]             (none)     -> origin/neil-2
 - [deleted]             (none)     -> origin/perf_cache_async_search
 - [deleted]             (none)     -> origin/redo-post-focus-setting
 - [deleted]             (none)     -> origin/spoiler-plugin
 - [deleted]             (none)     -> origin/support-search-customizationz
   043b4a418..4949d85c1  main                  -> origin/main
 * [new branch]          0-class-attribute     -> origin/0-class-attribute
 * [new branch]          0-for-attributes      -> origin/0-for-attributes
 * [new branch]          0-i18n-case           -> origin/0-i18n-case
 * [new branch]          add-custom-emoji-sanitization-clean -> origin/add-custom-emoji-sanitization-clean
 * [new branch]          add-ds-store-to-gitignore -> origin/add-ds-store-to-gitignore
 + 64520a075...ff17131c9 add-new-chat-indicator-preference-only-mentions -> origin/add-new-chat-indicator-preference-only-mentions  (forced update)
 * [new branch]          api-topic-title-decorator -> origin/api-topic-title-decorator
 * [new branch]          array-custom-field-order -> origin/array-custom-field-order
 * [new branch]          boosted-searches      -> origin/boosted-searches
 * [new branch]          bulk-button-class     -> origin/bulk-button-class
 * [new branch]          category_definition   -> origin/category_definition
 * [new branch]          chat-github-onebox    -> origin/chat-github-onebox
 * [new branch]          chat-reaction-emoji-alignment -> origin/chat-reaction-emoji-alignment
 * [new branch]          chat/direct-messages  -> origin/chat/direct-messages
 * [new branch]          confirm-session-only-after-5-mins -> origin/confirm-session-only-after-5-mins
 * [new branch]          custom-field-store-cleanup -> origin/custom-field-store-cleanup
 * [new branch]          delete-backups-based-on-time-window -> origin/delete-backups-based-on-time-window
 * [new branch]          dependabot/github_actions/actions/labeler-5 -> origin/dependabot/github_actions/actions/labeler-5
 * [new branch]          dependabot/github_actions/actions/stale-9 -> origin/dependabot/github_actions/actions/stale-9
 * [new branch]          dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-3.5.0 -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-3.5.0
 * [new branch]          dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-multipart-3.9.0 -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-multipart-3.9.0
 * [new branch]          dependabot/npm_and_yarn/app/assets/javascripts/uppy/core-3.7.1 -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/core-3.7.1
 * [new branch]          dependabot/npm_and_yarn/app/assets/javascripts/uppy/utils-5.6.0 -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/utils-5.6.0
 * [new branch]          dependabot/npm_and_yarn/app/assets/javascripts/uppy/xhr-upload-3.5.0 -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/xhr-upload-3.5.0
 * [new branch]          desktop-notification-handlers -> origin/desktop-notification-handlers
 * [new branch]          dev/add-a-reference-column-to-notifications -> origin/dev/add-a-reference-column-to-notifications
 + ee95e6359...a2b413786 dev/add-new-chat-metrics -> origin/dev/add-new-chat-metrics  (forced update)
 * [new branch]          dev/drop-notification_id-column-on-chat-mentions -> origin/dev/drop-notification_id-column-on-chat-mentions
 * [new branch]          dev/dry-up-user-status-serializers -> origin/dev/dry-up-user-status-serializers
 * [new branch]          dev/flaky-chat-details-collapser-spec -> origin/dev/flaky-chat-details-collapser-spec
 * [new branch]          dev/no-need-to-include-user-status-twice -> origin/dev/no-need-to-include-user-status-twice
 * [new branch]          dev/remove-legacy-hamburger-menu -> origin/dev/remove-legacy-hamburger-menu
 * [new branch]          dev/rethink-mass-mentions -> origin/dev/rethink-mass-mentions
 * [new branch]          dev/rethink-mass-mentions-polymorphic -> origin/dev/rethink-mass-mentions-polymorphic
 * [new branch]          dev/revert-guardian-devex -> origin/dev/revert-guardian-devex
 + 54940ca5c...3eacfe150 dev_paginate_categories_json -> origin/dev_paginate_categories_json  (forced update)
 * [new branch]          dev_watched_words     -> origin/dev_watched_words
 + 46fe4511f...a9d0e7069 ember-4               -> origin/ember-4  (forced update)
 * [new branch]          ember-5-plugins       -> origin/ember-5-plugins
 * [new branch]          extract_stripper      -> origin/extract_stripper
 * [new branch]          feature/admin-sidebar-v0 -> origin/feature/admin-sidebar-v0
   9a6c6fd5b..8780daeee  feature/bookmark-menu-and-modal-redesign -> origin/feature/bookmark-menu-and-modal-redesign
 * [new branch]          feature/migrations-schema-generator -> origin/feature/migrations-schema-generator
 * [new branch]          feature_watched_words_validation -> origin/feature_watched_words_validation
 * [new branch]          file-size-restriction -> origin/file-size-restriction
   43df37774..4393dd37e  filtered-events       -> origin/filtered-events
 * [new branch]          fix/count-mass-mentions-correctly -> origin/fix/count-mass-mentions-correctly
 * [new branch]          full-page             -> origin/full-page
   ce7fb6906..31e32f8a1  generic-import-latest -> origin/generic-import-latest
 * [new branch]          generic-import-latest-snowflake -> origin/generic-import-latest-snowflake
 * [new branch]          generic-import-update -> origin/generic-import-update
 * [new branch]          image-assets          -> origin/image-assets
 * [new branch]          independent-theme-compiler -> origin/independent-theme-compiler
 * [new branch]          input-text-field-component -> origin/input-text-field-component
 * [new branch]          issue/fix-guardian-init-basic-user -> origin/issue/fix-guardian-init-basic-user
 * [new branch]          keyword-site-setting  -> origin/keyword-site-setting
 + bdcc24f96...92e545292 list-wrapper          -> origin/list-wrapper  (forced update)
   e3636078c..5def32699  mock-chat-index-redesign -> origin/mock-chat-index-redesign
 * [new branch]          move_inflector        -> origin/move_inflector
 * [new branch]          multi-invite          -> origin/multi-invite
 * [new branch]          noti-glimmer          -> origin/noti-glimmer
 * [new branch]          oklab                 -> origin/oklab
 * [new branch]          poc/auto-after-before-plugin-outlets -> origin/poc/auto-after-before-plugin-outlets
 * [new branch]          poc/insert-before-after-wrapping-outlet -> origin/poc/insert-before-after-wrapping-outlet
 * [new branch]          pretty-text-please    -> origin/pretty-text-please
 * [new branch]          reload-page-user-prefs-2fa -> origin/reload-page-user-prefs-2fa
 * [new branch]          revert-maxmind        -> origin/revert-maxmind
   ef3f41543..223626d7a  stable                -> origin/stable
 * [new branch]          support-load-more-btn -> origin/support-load-more-btn
 * [new branch]          test-issue-temporary  -> origin/test-issue-temporary
   043b4a418..4949d85c1  tests-passed          -> origin/tests-passed
 * [new branch]          tmp/reimplement-all-and-here-mentions -> origin/tmp/reimplement-all-and-here-mentions
 * [new branch]          tobiaseigen-patch-3   -> origin/tobiaseigen-patch-3
 * [new branch]          transform-hooks       -> origin/transform-hooks
 * [new branch]          transform-post-fn-api -> origin/transform-post-fn-api
 * [new branch]          tweaks-2-fr           -> origin/tweaks-2-fr
 * [new branch]          username_cache        -> origin/username_cache
 * [new branch]          ux-add-sorting-params-to-outlet -> origin/ux-add-sorting-params-to-outlet
 t [tag update]          beta                  -> beta
 t [tag update]          latest-release        -> latest-release
 * [new tag]             v3.1.3                -> v3.1.3
 * [new tag]             v3.2.0.beta3          -> v3.2.0.beta3
I, [2023-12-11T06:37:05.107220 #1]  INFO -- : 
I, [2023-12-11T06:37:05.107337 #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, [2023-12-11T06:37:10.039336 #1]  INFO -- : Branch 'tests-passed' set up to track remote branch 'tests-passed' from 'origin'.

I, [2023-12-11T06:37:10.039485 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git config user.discourse-version tests-passed
I, [2023-12-11T06:37:10.055796 #1]  INFO -- : 
I, [2023-12-11T06:37:10.055932 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2023-12-11T06:37:10.062383 #1]  INFO -- : 
I, [2023-12-11T06:37:10.062911 #1]  INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2023-12-11T06:37:10.068906 #1]  INFO -- : 
I, [2023-12-11T06:37:10.069051 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2023-12-11T06:37:10.075337 #1]  INFO -- : 
I, [2023-12-11T06:37:10.075478 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2023-12-11T06:37:10.081087 #1]  INFO -- : 
I, [2023-12-11T06:37:10.081222 #1]  INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2023-12-11T06:37:10.087004 #1]  INFO -- : 
I, [2023-12-11T06:37:10.087139 #1]  INFO -- : > cd /var/www/discourse && mkdir -p                    /shared/log/rails
I, [2023-12-11T06:37:10.093140 #1]  INFO -- : 
I, [2023-12-11T06:37:10.093305 #1]  INFO -- : > cd /var/www/discourse && bash -c "touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2023-12-11T06:37:10.100413 #1]  INFO -- : 
I, [2023-12-11T06:37:10.100570 #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, [2023-12-11T06:37:10.108011 #1]  INFO -- : 
I, [2023-12-11T06:37:10.108130 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2023-12-11T06:37:10.116596 #1]  INFO -- : 
I, [2023-12-11T06:37:10.116726 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2023-12-11T06:37:10.124273 #1]  INFO -- : 
I, [2023-12-11T06:37:10.124421 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2023-12-11T06:37:10.134061 #1]  INFO -- : 
I, [2023-12-11T06:37:10.134228 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2023-12-11T06:37:10.141458 #1]  INFO -- : 
I, [2023-12-11T06:37:10.141602 #1]  INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2023-12-11T06:37:10.163707 #1]  INFO -- : 
I, [2023-12-11T06:37:10.163854 #1]  INFO -- : > cd /var/www/discourse && [ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2023-12-11T06:37:10.169471 #1]  INFO -- : 
I, [2023-12-11T06:37:10.170368 #1]  INFO -- : Replacing # redis with sv start redis || exit 1 in /etc/service/unicorn/run
I, [2023-12-11T06:37:10.171519 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
Cloning into 'docker_manager'...
I, [2023-12-11T06:37:11.142485 #1]  INFO -- : 
I, [2023-12-11T06:37:11.142680 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-solved.git
Cloning into 'discourse-solved'...
I, [2023-12-11T06:37:11.877496 #1]  INFO -- : 
I, [2023-12-11T06:37:11.878167 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/paviliondev/discourse-locations.git
Cloning into 'discourse-locations'...
I, [2023-12-11T06:37:12.713978 #1]  INFO -- : 
I, [2023-12-11T06:37:12.714105 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-data-explorer.git
Cloning into 'discourse-data-explorer'...
I, [2023-12-11T06:37:13.532864 #1]  INFO -- : 
I, [2023-12-11T06:37:13.533001 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-adplugin.git
Cloning into 'discourse-adplugin'...
I, [2023-12-11T06:37:14.305555 #1]  INFO -- : 
I, [2023-12-11T06:37:14.305817 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-reactions.git
Cloning into 'discourse-reactions'...
I, [2023-12-11T06:37:15.045125 #1]  INFO -- : 
I, [2023-12-11T06:37:15.045247 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-templates.git
Cloning into 'discourse-templates'...
I, [2023-12-11T06:37:15.809915 #1]  INFO -- : 
I, [2023-12-11T06:37:15.810046 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-affiliate.git
Cloning into 'discourse-affiliate'...
I, [2023-12-11T06:37:16.433061 #1]  INFO -- : 
I, [2023-12-11T06:37:16.434123 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2023-12-11T06:37:16.442090 #1]  INFO -- : 
I, [2023-12-11T06:37:16.442586 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2023-12-11T06:37:16.446759 #1]  INFO -- : 
I, [2023-12-11T06:37:16.447263 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2023-12-11T06:37:16.451474 #1]  INFO -- : 
I, [2023-12-11T06:37:16.452405 #1]  INFO -- : Replacing pid /run/nginx.pid; with daemon off; in /etc/nginx/nginx.conf
I, [2023-12-11T06:37:16.453144 #1]  INFO -- : Replacing (?m-ix:upstream[^\}]+\}) with upstream discourse { server 127.0.0.1:3000; } in /etc/nginx/conf.d/discourse.conf
I, [2023-12-11T06:37:16.453873 #1]  INFO -- : Replacing (?-mix:server_name.+$) with server_name _ ; in /etc/nginx/conf.d/discourse.conf
I, [2023-12-11T06:37:16.454418 #1]  INFO -- : Replacing (?-mix:client_max_body_size.+$) with client_max_body_size $upload_size ; in /etc/nginx/conf.d/discourse.conf
I, [2023-12-11T06:37:16.454991 #1]  INFO -- : Replacing (?-mix:worker_connections.+$) with worker_connections $nginx_worker_connections ; in /etc/nginx/nginx.conf
I, [2023-12-11T06:37:16.455481 #1]  INFO -- : > echo "done configuring web"
I, [2023-12-11T06:37:16.459601 #1]  INFO -- : done configuring web

I, [2023-12-11T06:37:16.460326 #1]  INFO -- : > cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
I, [2023-12-11T06:37:16.836806 #1]  INFO -- : 
I, [2023-12-11T06:37:16.836974 #1]  INFO -- : > cd /var/www/discourse && find /var/www/discourse ! -user discourse -exec chown discourse {} \+
I, [2023-12-11T06:37:19.438303 #1]  INFO -- : 
I, [2023-12-11T06:37:19.438984 #1]  INFO -- : > cd /var/www/discourse && if [ "tests-passed" != "tests-passed" ]; then
  rm -rf app/assets/javascripts/node_modules
fi
I, [2023-12-11T06:37:19.442692 #1]  INFO -- : 
I, [2023-12-11T06:37:19.442789 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'
warning " > @glint/environment-ember-loose@1.1.0" has unmet peer dependency "@glimmer/component@^1.1.2".
warning " > @glint/environment-ember-template-imports@1.1.0" has unmet peer dependency "ember-template-imports@^3.0.0".
warning Resolution field "unset-value@2.0.1" is incompatible with requested version "unset-value@^1.0.0"
warning Pattern ["wrap-ansi@^7.0.0"] is trying to unpack in the same destination "/home/discourse/.cache/yarn/v6/npm-wrap-ansi-cjs-7.0.0-67e145cff510a6a6984bdf1152911d69d2eb9e43-integrity/node_modules/wrap-ansi-cjs" as pattern ["wrap-ansi-cjs@npm:wrap-ansi@^7.0.0"]. This could result in non-deterministic behavior, skipping.
warning " > discourse-markdown-it@1.0.0" has unmet peer dependency "xss@*".
warning "workspace-aggregator-4a0ff1cd-82ba-483f-8207-6b2c0f0b31fb > discourse > @ember/legacy-built-in-components@0.5.0" has incorrect peer dependency "ember-source@>= 4.8".
warning "workspace-aggregator-4a0ff1cd-82ba-483f-8207-6b2c0f0b31fb > discourse > @uppy/aws-s3@3.0.6" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-4a0ff1cd-82ba-483f-8207-6b2c0f0b31fb > discourse > @uppy/aws-s3-multipart@3.1.3" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-4a0ff1cd-82ba-483f-8207-6b2c0f0b31fb > discourse > @uppy/xhr-upload@3.1.1" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-4a0ff1cd-82ba-483f-8207-6b2c0f0b31fb > discourse-plugins > ember-this-fallback@0.4.0" has unmet peer dependency "ember-source@^3.28.11 || ^4.0.0".
warning "workspace-aggregator-4a0ff1cd-82ba-483f-8207-6b2c0f0b31fb > discourse > @uppy/aws-s3 > @uppy/xhr-upload@3.3.0" has incorrect peer dependency "@uppy/core@^3.2.1".
I, [2023-12-11T06:39:22.730680 #1]  INFO -- : yarn install v1.22.19
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
[4/5] Linking dependencies...
[5/5] Building fresh packages...
$ yarn --cwd app/assets/javascripts $(node -e 'const argv = JSON.parse(process.env.npm_config_argv).original; const passthrough = [`--frozen-lockfile`, `-s`].filter(arg => argv.includes(arg)); console.log(passthrough.join(` `));')
yarn install v1.22.19
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
$ ./run-patch-package
patch-package 8.0.0
Applying patches...
babel-plugin-debug-macros@0.3.4 ✔
content-tag@1.1.2 ✔
ember-cli@5.0.0 ✔
ember-this-fallback@0.4.0 (1 deprecation-name) ✔
ember-this-fallback@0.4.0 (2 themes) ✔
virtual-dom@2.1.1 ✔
Done in 64.07s.
Done in 115.18s.
yarn cache v1.22.19
success Cleared cache.
Done in 7.53s.

I, [2023-12-11T06:39:22.731495 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle config --local deployment true'
I, [2023-12-11T06:39:23.103216 #1]  INFO -- : 
I, [2023-12-11T06:39:23.103337 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle config --local without "development test"'
I, [2023-12-11T06:39:23.331037 #1]  INFO -- : You are replacing the current local value of without, which is currently "test:development"

I, [2023-12-11T06:39:23.331186 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle install --retry 3 --jobs 4'
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0/ext
/usr/local/bin/ruby extconf.rb
  -- tar zxvfo msgpack-1.1.0.tar.gz
  -- env CFLAGS=nil LDFLAGS=nil CC=nil
-- ./configure --disable-dependency-tracking --disable-shared --with-pic
--prefix=/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0/ext/dst/
--libdir=/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0/ext/dst/lib
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
	--with-opt-dir
	--without-opt-dir
	--with-opt-include
	--without-opt-include=${opt-dir}/include
	--with-opt-lib
	--without-opt-lib=${opt-dir}/lib
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
	--ruby=/usr/local/bin/$(RUBY_BASE_NAME)
extconf.rb:6:in `sys': ./configure --disable-dependency-tracking
--disable-shared --with-pic
--prefix=/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0/ext/dst/
--libdir=/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0/ext/dst/lib
failed, please report to https://github.com/tmm1/rbtrace/issues (RuntimeError)
	from extconf.rb:42:in `block (2 levels) in <main>'
	from extconf.rb:34:in `chdir'
	from extconf.rb:34:in `block in <main>'
	from extconf.rb:30:in `chdir'
	from extconf.rb:30:in `<main>'

To see why this extension failed to compile, please check the mkmf.log which can
be found here:

/var/www/discourse/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/rbtrace-0.5.0/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0 for inspection.
Results logged to
/var/www/discourse/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/rbtrace-0.5.0/gem_make.out

  /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:120:in `run'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/ext/ext_conf_builder.rb:28:in
`build'
/usr/Ocorreu um erro durante a instalação do rbtrace (0.5.0), e o Bundler não pode continuar.

No Gemfile:
  rbtrace
I, [2023-12-11T06:40:09.131584 #1]  INFO -- : Buscando metadados do gem em https://rubygems.org/.........
Buscando rake 13.1.0
Instalando rake 13.1.0
Usando concurrent-ruby 1.2.2
Usando minitest 5.20.0
Usando builder 3.2.4
Usando erubi 1.12.0
Buscando racc 1.7.3
Usando crass 1.0.6
Usando rack 2.2.8
Usando mini_mime 1.1.5
Buscando date 3.3.4
Buscando public_suffix 5.0.4
Buscando timeout 0.4.1
Instalando timeout 0.4.1
Instalando public_suffix 5.0.4
Instalando date 3.3.4 com extensões nativas
Instalando racc 1.7.3 com extensões nativas
Buscando aws-eventstream 1.3.0
Instalando aws-eventstream 1.3.0
Usando aws-partitions 1.583.0
Usando jmespath 1.6.2
Buscando base64 0.2.0
Instalando base64 0.2.0
Buscando bigdecimal 3.1.4
Usando msgpack 1.7.2
Usando bundler 2.4.13
Usando byebug 11.1.3
Usando cbor 0.5.9.6
Buscando cgi 0.4.1
Instalando bigdecimal 3.1.4 com extensões nativas
Instalando cgi 0.4.1 com extensões nativas
Usando chunky_png 1.4.0
Usando coderay 1.1.3
Usando colored2 4.0.0
Usando connection_pool 2.4.1
Usando openssl 3.2.0
Usando cppjieba_rb 0.4.2
Usando diffy 3.4.2
Usando digest 3.1.1
Usando discourse-fonts 0.0.9
Usando email_reply_trimmer 0.1.13
Buscando excon 0.105.0
Instalando excon 0.105.0
Usando execjs 2.9.1
Usando exifr 1.4.0
Usando faraday-net_http 3.0.2
Usando ruby2_keywords 0.0.5
Usando fast_blank 1.0.1
Usando fast_xs 0.8.0
Usando fastimage 2.2.7
Usando ffi 1.16.3
Usando fspath 3.1.2
Usando gc_tracer 1.5.1
Buscando google-protobuf 3.25.1 (x86_64-linux)
Instalando google-protobuf 3.25.1 (x86_64-linux)
Usando guess_html_encoding 0.0.11
Usando hana 1.3.7
Usando hashie 5.0.0
Usando highline 2.1.0
Usando htmlentities 4.3.4
Usando http_accept_language 2.1.1
Usando image_size 3.3.0
Usando in_threads 1.6.0
Usando progress 3.6.0
Buscando json 2.7.1
Instalando json 2.7.1 com extensões nativas
Buscando regexp_parser 2.8.3
Instalando regexp_parser 2.8.3
Buscando unf_ext 0.0.9.1
Instalando unf_ext 0.0.9.1 com extensões nativas
Usando jwt 2.7.1
Usando kgio 2.11.4
Usando libv8-node 18.16.0.0 (x86_64-linux)
Usando method_source 1.0.0
Usando thor 1.3.0
Usando zeitwerk 2.6.12
Usando logstash-event 1.2.02
Buscando logster 2.13.1
Instalando logster 2.13.1
Usando lru_redux 1.1.0
Usando lz4-ruby 0.3.3
Usando maxminddb 0.1.22
Usando memory_profiler 1.0.1
Usando redis 4.8.1
Usando mini_sql 1.5.0
Usando multi_json 1.15.0
Usando multi_xml 0.6.0
Usando mustache 1.1.1
Buscando uri 0.13.0
Instalando uri 0.13.0
Buscando nio4r 2.7.0
Instalando nio4r 2.7.0 com extensões nativas
Usando version_gem 1.1.3
Usando optimist 3.1.0
Usando pg 1.5.4
Usando raindrops 0.20.1
Usando rchardet 1.8.0
Usando rexml 3.2.6
Usando rinku 2.0.6
Usando rotp 6.3.0
Usando rqrcode_core 1.2.0
Usando rubyzip 2.3.2
Usando sshkey 3.0.0
Usando stackprof 0.2.25
Usando i18n 1.14.1
Usando tzinfo 2.0.6
Usando rack-test 2.1.0
Usando request_store 1.5.1
Usando message_bus 4.3.8
Buscando rack-mini-profiler 3.3.0
Instalando rack-mini-profiler 3.3.0
Usando rack-protection 3.1.0
Usando sprockets 3.7.2 de https://github.com/rails/sprockets (em 3.x@f4d3dae)
Buscando net-protocol 0.2.2
Instalando net-protocol 0.2.2
Buscando addressable 2.8.6
Instalando addressable 2.8.6
Usando aws-sigv4 1.5.0
Buscando bootsnap 1.17.0
Instalando bootsnap 1.17.0 com extensões nativas
Usando openssl-signature_algorithm 1.3.0
Usando uglifier 4.2.0
Buscando faraday 2.7.12
Instalando faraday 2.7.12
Usando mini_suffix 0.3.3
Buscando nokogiri 1.15.5 (x86_64-linux)
Instalando nokogiri 1.15.5 (x86_64-linux)
Usando image_optim 0.31.3
Usando omniauth 1.9.2
Buscando sass-embedded 1.69.5 (x86_64-linux-gnu)
Instalando sass-embedded 1.69.5 (x86_64-linux-gnu)
Usando unf 0.1.4
Buscando web-push 3.0.1
Instalando web-push 3.0.1
Usando logstash-logger 0.26.1
Usando mini_racer 0.8.0
Usando pry 0.14.2
Usando sidekiq 6.5.12
Usando redis-namespace 1.11.0
Buscando net-http 0.4.0
Instalando net-http 0.4.0
Usando oauth-tty 1.0.5
Usando snaky_hash 2.0.1
Buscando rbtrace 0.5.0
Instalando rbtrace 0.5.0 com extensões nativas
Usando activesupport 7.0.7
Usando rqrcode 2.2.0
Usando rss 0.3.0
Usando tzinfo-data 1.2023.3
Usando unicorn 6.1.0
Usando net-pop 0.1.2
Usando net-smtp 0.4.0
Usando css_parser 1.16.0
Usando aws-sdk-core 3.130.2
Usando cose 1.3.0
Usando faraday-retry 2.2.0
Usando oauth2 1.4.11
Buscando loofah 2.22.0
Instalando loofah 2.22.0
Usando ruby-readability 0.7.0
Usando sanitize 6.1.0
Buscando sassc-embedded 1.68.6
Instalando sassc-embedded 1.68.6
Usando simpleidn 0.2.1
Usando rtlcss 0.2.1
Usando pry-byebug 3.10.1
Usando pry-rails 0.3.9
Usando mini_scheduler 0.16.0
Usando oauth 1.1.0
Usando rails-dom-testing 2.2.0
Usando globalid 1.2.1
Usando activemodel 7.0.7
Usando aws-sdk-kms 1.56.0
Usando aws-sdk-sns 1.53.0
Usando omniauth-oauth2 1.7.3
Usando rails-html-sanitizer 1.6.0
Buscando json_schemer 2.1.1
Instalando json_schemer 2.1.1
Usando omniauth-oauth 1.2.0
Usando actionview 7.0.7
Usando activejob 7.0.7
Usando active_model_serializers 0.8.4
Usando activerecord 7.0.7
Usando aws-sdk-s3 1.114.0
Usando omniauth-facebook 9.0.0
Usando omniauth-github 1.4.0
Usando omniauth-google-oauth2 0.8.2
Usando omniauth-twitter 1.4.0
Usando actionpack 7.0.7
Usando actionview_precompiler 0.3.0
Usando discourse-seed-fu 2.3.12
Usando railties 7.0.7
Usando sprockets-rails 3.4.2
Usando lograge 0.14.0
Usando rails_failover 2.0.1
Usando rails_multisite 5.0.0
Usando puma 6.4.0
Buscando net-imap 0.4.7
Instalando net-imap 0.4.7
Usando mail 2.8.1
Usando actionmailer 7.0.7
Buscando oj 3.16.2
Instalando oj 3.16.2 com extensões nativas

I, [2023-12-11T06:40:09.132711 #1]  INFO -- : Encerrando processos assíncronos
I, [2023-12-11T06:40:09.133069 #1]  INFO -- : Enviando INT para 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: 40
2023-12-11 06:40:09.133 UTC [40] LOG:  recebido pedido de desligamento rápido
I, [2023-12-11T06:40:09.133831 #1]  INFO -- : Enviando TERM para exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 109
109:signal-handler (1702276809) Recebido SIGTERM agendando desligamento...
2023-12-11 06:40:09.138 UTC [40] LOG:  abortando transações ativas
2023-12-11 06:40:09.144 UTC [40] LOG:  trabalhador em segundo plano "logical replication launcher" (PID 49) saiu com código de saída 1
2023-12-11 06:40:09.146 UTC [44] LOG:  desligando
2023-12-11 06:40:09.168 UTC [40] LOG:  sistema de banco de dados está desligado
109:M 11 Dec 2023 06:40:09.173 # Desligamento solicitado pelo usuário...
109:M 11 Dec 2023 06:40:09.173 * Salvando o snapshot RDB final antes de sair.
109:M 11 Dec 2023 06:40:10.723 * Banco de dados salvo em disco
109:M 11 Dec 2023 06:40:10.723 # Redis está pronto para sair, tchau...


FALHOU
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle install --retry 3 --jobs 4' falhou com retorno #<Process::Status: pid 585 exit 5>
Local do erro: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec falhou com os parâmetros {"cd"=>"$home", "hook"=>"bundle_exec", "cmd"=>["su discourse -c 'bundle config --local deployment true'", "su discourse -c 'bundle config --local without \"development test\"'", "su discourse -c 'bundle install --retry 3 --jobs 4'"]}
bootstrap falhou com código de saída 5
** FALHA NO BOOTSTRAP ** 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.
9d6071df716185b1c31a8703028a03d6fb0198216704c41506a69b09c67d4519
root@greyarro:/var/discourse# 

Executei ./discourse-doctor, que pareceu fazer muitas coisas assustadoras que eu não entendi, mas infelizmente não fez diferença alguma e terminou com o que parece ser a mesma mensagem:

FALHOU

--------------------

Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle install --retry 3 --jobs 4' falhou com retorno #<Process::Status: pid 585 exit 5>

Local do erro: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'

exec falhou com os parâmetros {"cd"=>"$home", "hook"=>"bundle_exec", "cmd"=>["su discourse -c 'bundle config --local deployment true'", "su discourse -c 'bundle config --local without \"development test\"'", "su discourse -c 'bundle install --retry 3 --jobs 4'"]}

bootstrap falhou com código de saída 5

** FALHA NO BOOTSTRAP ** 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.

9f72d4c67a46bda65d95233149ac8f661bdae02e70ae9a265666920d71de14e2

==================== FIM DO LOG DE RECONSTRUÇÃO ====================

Falha ao reconstruir o app.

Alguém pode esclarecer o problema ou me ajudar a colocar o sistema no ar novamente??

Gem::Ext::BuildError: ERROR: Falha ao construir a extensão nativa do gem.

diretório atual:
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0/ext

Isso é uma instalação padrão?

Pelo que me lembro @RGJ - mas já faz uns seis anos que o criei, mas não me lembro de ter feito nada fora do comum naquela época.

Eu sempre atualizo para a versão mais recente cerca de uma vez por semana também, usando a linha de comando, esta é a primeira vez que falha em atualizar em todos esses anos.

Não estou nada familiarizado com Ruby, o que essa mensagem está sugerindo para você? :thinking:

A mensagem sugere que algo está desatualizado ou não é padrão, mas está buscando a imagem mais recente, então isso não faz sentido.

Pode ser um problema de sistema operacional desatualizado? :thinking:

Atualmente executando em:

NAME="Ubuntu"

VERSION="18.04.6 LTS (Bionic Beaver)"

ID=ubuntu

ID_LIKE=debian

PRETTY_NAME="Ubuntu 18.04.6 LTS"

VERSION_ID="18.04"

HOME_URL="https://www.ubuntu.com/"

SUPPORT_URL="https://help.ubuntu.com/"

BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"

PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"

VERSION_CODENAME=bionic

UBUNTU_CODENAME=bionic

Vou ter que assumir o pior agora, que meu Discourse morreu.

Tenho uma cópia do meu app.yml mais recente e acabei de baixar o backup do banco de dados da noite passada do S3.

Acho que vou fazer do-release-upgrade do meu Ubuntu de 18.04.6 LTS para a versão mais recente, depois acho que farei uma instalação limpa seguindo o guia em discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

Uma vez instalado, posso então fazer o upload do meu backup de banco de dados de 1,5 GB através do painel de administração? :thinking:

Tenho usado o S3 para uploads há anos, então espero que todo o conteúdo do usuário carregado ainda seja acessível a partir daí.

Existem armadilhas? Há algo que não estará no banco de dados? Alguma configuração? Arquivos ou outro conteúdo?

:flushed:

Tirei um snapshot (Digital Ocean) do servidor em seu estado atual, a atualização de versão está em andamento.

Por curiosidade, eu estava atualizando de https://github.com/discourse/discourse/compare/aadc104817bb0306856b4718f5c50fb481e77c16…4949d85c15be99abb3515e659ef674d58cc2c4c4 e você verá que eu estava apenas 128x commits / 11x dias atrás do mais recente.

Existe alguma maneira de eu fazer o git pull da versão anterior e reconstruir usando ela? Apenas para colocar nossa comunidade funcionando novamente? :thinking:

Você tentou ./launcher start app para tentar recuperar o anterior à reconstrução?

Ah, no meu pânico cego por tudo ter falhado esta manhã, removi todos os contêineres que não estavam em execução :pensive:

Eu acho que, desde que você tenha as informações do seu app.yml e seu backup recente, você voltará a funcionar em pouco tempo em um novo droplet. :+1:

Uau!!

Acho que me dei uma tábua de salvação :scream:

Enquanto esperava a distribuição atualizar, parece que ativei de forma muito inteligente os backups do Digital Ocean :scream:

Hora de ver se eles são bons :grimacing:

Ok, Plano B então…

Restaurar o backup do snapshot do Digital Ocean da semana passada de 04/12/2023

Fazer upload do meu backup do banco de dados de ontem à noite (11/12/2023 às 2h)

Acho que isso nos levará aproximadamente de volta a onde estávamos às 6h da manhã de hoje, quando tudo desmoronou.

Eu nunca fiz uma restauração de banco de dados antes.

Assumindo que o backup/restauração do D.O. funcione e me traga de volta para segunda-feira da semana passada, posso simplesmente fazer o upload do arquivo backup.tar.gz de 1,5 GB diretamente através dos menus de backup do administrador? Preciso extraí-lo primeiro ou algo assim?

Devo colocar o site em modo somente leitura ou fazer mais alguma coisa enquanto isso?

Servidor no ar! (do snapshot da segunda-feira passada)

Acontece que vocês, pessoas muito inteligentes da Discourse, criaram um botão “Restaurar” diretamente no menu de administração, então eu nem preciso carregar o backup :bowing_man:

:crossed_fingers:

:sob:

Possivelmente porque coloquei o site em modo somente leitura antes de tentar a restauração.

Desativando o modo somente leitura e tentando restaurar novamente…

Não, isso também não funcionou.

Registro de erro:

Acabei de parar o aplicativo novamente.

Se eu olhar meu sidekiq, ele tem mais de 12.000 tarefas.

Parece que está tentando reenviar os anúncios de e-mail agendados da semana passada novamente :man_facepalming:

Existe alguma ação de linha de comando que eu possa tomar para eliminar tudo isso? Acho que esses itens na fila estão impedindo a restauração.

O que eu faria seria iniciar um novo droplet e seguir Mover um site Discourse para outro VPS com rsync.
Mas acho que você não tem mais o seu /var/discourse, a menos que tenha feito outro backup antes de restaurar o que encontrou?

Então, inicie um novo droplet, copie seu app.yml e restaure o backup de ontem do S3. É isso que você deve fazer.

Além disso, qual é a sua versão do docker? Tive uma reconstrução falhar com um erro que se parece com isso (vou rastrear esse tópico quando chegar ao meu laptop).

Tenho um snapshot completo do servidor de 7 dias atrás, que restaurei, e meu Discourse está funcionando novamente - mas com um banco de dados desatualizado em 7 dias.

Agora estou tentando restaurar o banco de dados do backup de ontem à noite, que está no S3.

Enquanto isso cai, inicie um novo droplet. (o que você quer, mesmo que ele seja restaurado)

Obrigado Jay :slight_smile:

Eu matei manualmente todos os jobs do sidekiq e parece que a restauração do banco de dados está em andamento:

:crossed_fingers:

Se isso também falhar, vou desligar tudo e seguir sua rota rsync, obrigado :blush:

Você quer um novo sistema operacional. Eu não confio em atualizações. Você quer usar o hardware mais novo que você obterá de sua criação de um novo droplet.

Também não sou fã :slight_smile:

O backup semanal do Digital Ocean de 7 dias atrás, que restaurei, também reverteu o sistema operacional Ubuntu 18.04, então estou novamente pré-atualização.

A restauração do banco de dados parece ter sido bem-sucedida.

Estou tirando outro snapshot agora - por precaução.

Se tudo isso funcionar e nos colocar de volta online, poderei então considerar fazer uma migração rsync para o sistema operacional mais recente - mas com calma, em vez de em pânico apressado :see_no_evil: