Crash completo del forum (Test Pressing)

Il mio forum è crashato durante l’aggiornamento del software e ora è completamente scomparso. Ricevo i seguenti messaggi di errore…

" Oops
Il software che alimenta questo forum di discussione ha riscontrato un problema imprevisto. Ci scusiamo per l’inconveniente.

Informazioni dettagliate sull’errore sono state registrate e generata una notifica automatica. Ci daremo un’occhiata.

Non è necessaria alcuna ulteriore azione. Tuttavia, se la condizione di errore persiste, è possibile fornire ulteriori dettagli, inclusi i passaggi per riprodurre l’errore, pubblicando un argomento di discussione nella categoria di feedback del sito."

Il forum che gestisco si trova su > https://forum.testpressing.org/

Qualsiasi aiuto sarebbe apprezzato.

Ho anche appena aggiornato e il mio container non si sta creando e poi va in crash. È molto sfortunato.

Non riavviare la ricostruzione quando si blocca, poiché ha bloccato tutto quando l’ho fatto…

stesso comportamento qui. Stavo vedendo errori con i worker, li ho riavviati… si sono bloccati… ho provato a ricostruire. Ora si blocca in modo perpetuo

/var/discourse# ./launcher rebuild app
x86_64 arch rilevato.
ATTENZIONE: il file containers/app.yml è leggibile dal mondo. Puoi proteggere questo file eseguendo: chmod o-rwx containers/app.yml
Assicurarsi che il launcher sia aggiornato
Recupero origine
Il launcher è aggiornato
2.0.20240825-0027: Estrazione da discourse/base
Digest: sha256:6de68cb49198b5281f79ed9401b3fe818c854d220dcf0238549fe2f2adb19146
Stato: L'immagine è aggiornata a 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-08-27T21:43:42.091270 #1]  INFO -- : Lettura da stdin
I, [2024-08-27T21:43:42.110405 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown:
I, [2024-08-27T21:43:42.117678 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2024-08-27T21:43:42.125472 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2024-08-27T21:43:42.132700 #1]  INFO -- : File > /root/install_postgres  chmod: +x  chown:
I, [2024-08-27T21:43:42.139622 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown:
I, [2024-08-27T21:43:42.140454 #1]  INFO -- : Sostituzione di data_directory = '/var/lib/postgresql/13/main' con data_directory = '/shared/postgres_data' in /etc/postgresql/13/main/postgresql.conf
I, [2024-08-27T21:43:42.141762 #1]  INFO -- : Sostituzione di (?-mix:#?listen_addresses *=.*) con listen_addresses = '*' in /etc/postgresql/13/main/postgresql.conf
I, [2024-08-27T21:43:42.142675 #1]  INFO -- : Sostituzione di (?-mix:#?synchronous_commit *=.*) con synchronous_commit = $db_synchronous_commit in /etc/postgresql/13/main/postgresql.conf
I, [2024-08-27T21:43:42.143534 #1]  INFO -- : Sostituzione di (?-mix:#?shared_buffers *=.*) con shared_buffers = $db_shared_buffers in /etc/postgresql/13/main/postgresql.conf
I, [2024-08-27T21:43:42.144382 #1]  INFO -- : Sostituzione di (?-mix:#?work_mem *=.*) con work_mem = $db_work_mem in /etc/postgresql/13/main/postgresql.conf
I, [2024-08-27T21:43:42.144912 #1]  INFO -- : Sostituzione di (?-mix:#?default_text_search_config *=.*) con default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/13/main/postgresql.conf
I, [2024-08-27T21:43:42.145541 #1]  INFO -- : Sostituzione di (?-mix:#?checkpoint_segments *=.*) con checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/13/main/postgresql.conf
I, [2024-08-27T21:43:42.146355 #1]  INFO -- : Sostituzione di (?-mix:#?logging_collector *=.*) con logging_collector = $db_logging_collector in /etc/postgresql/13/main/postgresql.conf
I, [2024-08-27T21:43:42.146979 #1]  INFO -- : Sostituzione di (?-mix:#?log_min_duration_statement *=.*) con log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/13/main/postgresql.conf
I, [2024-08-27T21:43:42.147851 #1]  INFO -- : Sostituzione di (?-mix:^#local +replication +postgres +peer$) con local replication postgres  peer in /etc/postgresql/13/main/pg_hba.conf
I, [2024-08-27T21:43:42.148557 #1]  INFO -- : Sostituzione di (?-mix:^host.*all.*all.*127.*$) con host all all 0.0.0.0/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2024-08-27T21:43:42.149423 #1]  INFO -- : Sostituzione di (?-mix:^host.*all.*all.*::1\/128.*$) con host all all ::/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2024-08-27T21:43:42.149931 #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

2024/08/27 21:43:42 socat[28] E connect(, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): Connection refused
I, [2024-08-27T21:43:42.217004 #1]  INFO -- : Generazione delle localizzazioni (potrebbe richiedere del tempo)...
Generazione completata.

I, [2024-08-27T21:43:42.217327 #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-08-27T21:43:42.220344 #1]  INFO -- : Terminazione dei processi asincroni
2024-08-27 21:43:42.300 UTC [30] LOG:  avvio di PostgreSQL 13.16 (Debian 13.16-1.pgdg120+1) su x86_64-pc-linux-gnu, compilato da gcc (Debian 12.2.0-14) 12.2.0, 64-bit
2024-08-27 21:43:42.300 UTC [30] LOG:  in ascolto sull'indirizzo IPv4 "0.0.0.0", porta 5432
2024-08-27 21:43:42.300 UTC [30] LOG:  in ascolto sull'indirizzo IPv6 "::", porta 5432
2024-08-27 21:43:42.303 UTC [30] LOG:  in ascolto sul socket Unix "/var/run/postgresql/.s.PGSQL.5432"
2024-08-27 21:43:42.310 UTC [31] LOG:  il sistema di database è stato interrotto; ultimo avviso alle 2024-08-27 21:41:14 UTC
2024-08-27 21:43:42.503 UTC [31] LOG:  il sistema di database non è stato arrestato correttamente; recupero automatico in corso
2024-08-27 21:43:42.507 UTC [31] LOG:  il redo inizia a 38C/55C02EA0
2024-08-27 21:43:42.507 UTC [31] LOG:  lunghezza record non valida a 38C/55C02ED8: richiesti 24, ottenuti 0
2024-08-27 21:43:42.507 UTC [31] LOG:  redo completato a 38C/55C02EA0
2024-08-27 21:43:42.540 UTC [30] LOG:  il sistema di database è pronto ad accettare connessioni

Si blocca lì indefinitamente… non assegna mai porte al container o avvia l’app rails o altro, per quanto ne so

Se esegui

./launcher start app

si riavvierà?

no… c’è un container zombie che ./launcher rebuild app crea, il quale restituisce l’output sopra. Questo è l’aspetto del container. Inizia a costruire dall’immagine base di discourse ma poi si blocca, come menzionato sopra. Non si registra come l’app discourse.

/var/discourse# docker ps -a
CONTAINER ID        IMAGE                              COMMAND                  CREATED             STATUS              PORTS               NAMES
02ae320b72a0        discourse/base:2.0.20240825-0027   "/bin/bash -c '/usr/…"   7 minutes ago       Up 7 minutes                            sleepy_driscoll

Quando eseguo ./launcher start app si verifica un errore perché tenta di avviare una nuova app e PSQL è in esecuzione su 5432 nel container zombie. Se elimino il container zombie (e/o le immagini), crea un nuovo container e si blocca con i log come nel mio post precedente.

molto stressante e sfortunato. Non so come siamo arrivati a questo punto. Ho disabilitato tutti i plugin nel mio app.yaml e ho provato a ricostruire.

Penso che questi log siano i più pertinenti per la situazione del mio forum

2024-08-27 21:43:42.300 UTC [30] 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-08-27 21:43:42.300 UTC [30] LOG:  listening on IPv4 address \"0.0.0.0\", port 5432
2024-08-27 21:43:42.300 UTC [30] LOG:  listening on IPv6 address \"::\", port 5432
2024-08-27 21:43:42.303 UTC [30] LOG:  listening on Unix socket \"/var/run/postgresql/.s.PGSQL.5432\"
2024-08-27 21:43:42.310 UTC [31] LOG:  database system was interrupted; last known up at 2024-08-27 21:41:14 UTC
2024-08-27 21:43:42.503 UTC [31] LOG:  database system was not properly shut down; automatic recovery in progress
2024-08-27 21:43:42.507 UTC [31] LOG:  redo starts at 38C/55C02EA0
2024-08-27 21:43:42.507 UTC [31] LOG:  invalid record length at 38C/55C02ED8: wanted 24, got 0
2024-08-27 21:43:42.507 UTC [31] LOG:  redo done at 38C/55C02EA0
2024-08-27 21:43:42.540 UTC [30] LOG:  database system is ready to accept connections

si blocca qui per sempre… non compila mai gli asset, non avvia mai l’app rails, non avvia mai redis, ecc.

1 Mi Piace

oh okay…quindi questa è una cosa per almeno una manciata di persone :frowning:

Maggiori informazioni:

/var/discourse# ./launcher start app
Rilevata architettura x86_64.
ATTENZIONE: il file containers/app.yml è leggibile da tutti. Puoi proteggere questo file eseguendo: chmod o-rwx containers/app.yml

+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=8 -e UNICORN_SIDEKIQS=1 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e LETSENCRYPT_DIR=/shared/letsencrypt -e DISCOURSE_FORCE_HTTPS=true -e DISCOURSE_HOSTNAME=redacted.com -e DISCOURSE_DEVELOPER_EMAILS=redacted -e DISCOURSE_SMTP_ADDRESS=smtp.redacted.com -e DISCOURSE_SMTP_PORT=587 -e DISCOURSE_SMTP_USER_NAME=postmaster@redacted -e DISCOURSE_SMTP_PASSWORD=redacted -e DISCOURSE_SMTP_ENABLE_START_TLS=true -e LETSENCRYPT_ACCOUNT_EMAIL=redacted -h discourse-beta-ubuntu-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 443:443 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:52:ee:ee:62:b2 local_discourse/app /sbin/boot
Impossibile trovare l'immagine 'local_discourse/app:latest' localmente
/usr/bin/docker: Errore nella risposta dal daemon: accesso negato al pull per local_discourse/app, il repository non esiste o potrebbe richiedere 'docker login'.
Vedi '/usr/bin/docker run --help'.

Quando provo ad avviare l’app :point_up_2: … si lamenta che l’immagine local_discourse/app non c’è. Il che è corretto:

/var/discourse# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
discourse/base      2.0.20240825-0027   9dc96b6115cb        2 days ago          3.38GB

ma provare a scaricare e costruire l’immagine non funziona, a causa del blocco del db

2 Mi Piace

Vedi

per la soluzione.