Atualização = :caveira_e_ossos cruzados:

Olá a todos

Mantenho-me atualizado sobre as atualizações, vi que uma estava para sair e fiz, o resultado foi nenhuma interface de usuário, exceto no admin

Usei SSH e fiz atualizações do servidor para garantir que tudo estivesse bem, sem ajuda

Tentei reverter e obtive isto

Entrei no Modo de Segurança e fui iniciado, mas obtive uma interface de usuário parcial

Não consigo fazer login, diz que meu nome de usuário está disponível e que meu e-mail não existe

Poderia me ajudar, por favor e obrigado


editar, reiniciei o servidor e obtive

não me convenci, fui me registrar, pensei que um backup seria devido agora

sem sorte lá também


editar, atualizando uma janela diferente, pareci conseguir me registrar

então

ainda sem sorte


SSH e as coisas ainda parecem como estavam


editar
image



DISCOURSE DOCTOR Dom 12 de nov 01:54:06 UTC 2023
SO: Linux ip-10-0-159-37 6.2.0-1015-aws #15~22.04.1-Ubuntu SMP Sex 6 de out 21:37:24 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux


Encontrado containers/app.yml

==================== CONFIGURAÇÕES DO YML ====================
DISCOURSE_HOSTNAME=forum.full30.com
SMTP_ADDRESS=smtp.sendgrid.net
DEVELOPER_EMAILS=REDACTED
SMTP_PASSWORD=REDACTED
SMTP_PORT=587
SMTP_USER_NAME=apikey
LETSENCRYPT_ACCOUNT_EMAIL=REDACTED LETSENCRYPT_ACCOUNT_EMAIL

==================== INFORMAÇÕES DO DOCKER ====================
VERSÃO DO DOCKER: Docker version 24.0.7, build afdd53b

PROCESSOS DO DOCKER (docker ps -a)

CONTAINER ID   IMAGEM                 COMANDO        CRIADO        STATUS                      PORTAS     NOMES
0be0150fecde   local_discourse/app   \"/sbin/boot\"   5 meses atrás   Exited (5) 11 minutos atrás             app

==================== PROBLEMA SÉRIO!!!! ====================
aplicativo não está em execução!
Tentando reconstruir
==================== LOG DE RECONSTRUÇÃO ====================
arquitetura x86_64 detectada.
Garantindo que o launcher esteja atualizado
Buscando origem
Launcher está atualizado
Parando o contêiner antigo
+ /usr/bin/docker stop -t 600 app
app
2.0.20231023-1945: Puxando de discourse/base
Digest: sha256:2b0eb484d20888cc2daadb690dcfa73522105650c1420212e99345a36a424d77
Status: Imagem está atualizada para discourse/base:2.0.20231023-1945
docker.io/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-11-12T01:54:13.829288 #1]  INFO -- : Lendo do stdin
I, [2023-11-12T01:54:13.834181 #1]  INFO -- :
I, [2023-11-12T01:54:13.862453 #1]  INFO -- : Gerando locais (isso pode demorar um pouco)...
Geração completa.

I, [2023-11-12T01:54:13.862638 #1]  INFO -- :
I, [2023-11-12T01:54:13.865023 #1]  INFO -- :
I, [2023-11-12T01:54:13.865390 #1]  INFO -- :
I, [2023-11-12T01:54:13.867489 #1]  INFO -- :
I, [2023-11-12T01:54:13.867791 #1]  INFO -- :
I, [2023-11-12T01:54:13.869643 #1]  INFO -- :
I, [2023-11-12T01:54:13.869925 #1]  INFO -- :
/tmp/discourse-debug.txt
2 curtidas

Isso parece significativo:

Warning: Could not create server TCP listening socket *:6379: bind: Address already in use

Eu acho que o Redis deve rodar na porta 6379.

Não conseguir criar o servidor Redis pode causar problemas com as migrações?

Error: relation "summary_sections" already exists

Por algum motivo, a migração para criar a tabela summary_sections está sendo executada novamente. Existem outros erros de tabela duplicada em seus logs?

Eu acho que a outra pergunta é, você tem um arquivo de backup recente?

6 curtidas

lol, sim, eu adivinharia o mesmo, a resposta infelizmente é olhando para o meu servidor, vejo 5 de novembro como o mais recente, como não consigo fazer login como administrador, não consigo ver se talvez haja um mais novo criado pelo Discourse

Mas… isto é desta manhã,

forum

Se eu não conseguir fazer login no painel de administração para fazer um backup, então simplesmente não sei o que fazer?

Obrigado pela resposta, espero poder voltar a funcionar rapidamente, mesmo com um backup de uma semana.

Robert

1 curtida

Estou tão pouco familiarizado com logs, que estou fazendo isso há cinco anos com tão poucas e facilmente reparáveis questões que não havia razão para estar, e eu não tenho uma equipe de tecnologia para perguntar, é algo que você pode me guiar para obter e postar e será que será ocultado como o arquivo do Doutor se eu fizer o upload?

Também tive um problema com esta atualização mais recente para um novo site, posso ter interrompido acidentalmente a instalação e, em seguida, o site relatou que havia sido atualizado e, ao mesmo tempo, precisava ser atualizado urgentemente, mas não podia ser atualizado porque acabara de concluir a atualização mais recente.

Reconstruir o aplicativo do console resolveu isso, não precisei recuperar de um backup.

Seria bom saber como reiniciar o site a partir do backup, também não sei como fazer isso.

2 curtidas

só para tentar novamente fiz

cd /var/discourse
git pull
./launcher rebuild app

e novamente obtive

erros/avisos a seguir

image

o Doctor não ajudou novamente, guardei seu relatório mas nada de novo nele

1 curtida

Fazendo outra reconstrução agora, obtive erros semelhantes:

137:M 12 Nov 2023 13:09:14.143 # Aviso: Não foi possível criar o socket de escuta TCP do servidor *:6379: bind: Endereço já em uso
137:M 12 Nov 2023 13:09:14.143 # Falha ao escutar na porta 6379 (TCP), abortando.

No entanto, ainda está funcionando, lembro-me de ter visto isso antes, mas a instalação foi concluída.

Você está logado no console do servidor com ssh como root?

Algumas vezes durante a instalação leva um tempo para ser concluída, parecia mais de 10 minutos, pensei que estava travando no início, mas depois de esperar tempo suficiente, ela foi concluída.

Muitos erros sobre dependência de pares incorreta/não atendida.

Em seguida, ele para após a linha “salvamento em segundo plano terminou com sucesso”, o que parece uma conclusão, mas aparentemente não é; é aqui que pode levar dez minutos para passar para a próxima etapa.

2 curtidas

Para visualizar os detalhes do log, você pode fazer o seguinte:

faça login como root ou execute “sudo su
em seguida, execute os comandos:

cd /var/discourse
./launcher enter app
tail -f log/production.log

Após executar o último comando, você precisará fazer uma requisição HTTP para o seu Discourse. Uma nova mensagem de erro será exibida no seu terminal. Então, você pode parar a execução do comando tail usando Ctrl+C e visualizar ou copiar a mensagem.

Para sair do shell do container, você pode usar o comando exit.

2 curtidas

sim

Resposta de erro do daemon: O contêiner 0be0150fecde6af5e98c0f12b97d24ccc1333fee2e96f02174ac63b79df8efbc não está em execução
tail: não é possível abrir ‘log/production.log’ para leitura: Arquivo ou diretório inexistente
tail: nenhum arquivo restante

Tentei a requisição HTTP como curl “https://forum.full30.com"

e recebi

curl: (3) URL usando formato inválido/ilegal ou URL faltando

então… talvez eu simplesmente não tenha entendido o que você quis dizer com requisição http :man_shrugging:

Com esse sendo seu backup mais recente, e eu não sendo um especialista nesse tipo de coisa, não tenho certeza se devo dar conselhos aqui.

Pelo que pude apurar, o problema com Warning: Could not create server TCP listening socket *:6379 provavelmente não está relacionado aos erros que você está recebendo para as migrações. Por exemplo:

INFO -- cd /var/www/discourse and su discourse -c 'bundle exec rake db:migrate'

ERROR: database "discourse" already exists

Error: role "discourse" already exists

Error: relation "summary_sections" already exists

Esses erros parecem sugerir que seu banco de dados está de alguma forma corrompido. O comando bundle exec rake db:migrate (que está na seção INFO do trecho de seus logs que postei acima) deve acionar o Discourse para verificar a tabela schema_migrations do banco de dados para ver quais migrações foram executadas anteriormente. Isso evita que a mesma migração seja executada várias vezes. Então, minha suposição é que ou a tabela schema_migrations do seu banco de dados está corrompida, ou entradas duplicadas de alguma forma chegaram à pasta db/migrations, ou arquivos na pasta db/migrations foram renomeados de alguma forma. Não tenho certeza do que poderia desencadear qualquer uma dessas coisas.

Eu ficaria tentado a entrar no aplicativo com ./launcher enter app e executar a migração manualmente de lá para ver se isso faz alguma diferença. Mas espere para fazer isso. Espero que alguém com mais conhecimento dos scripts do launcher veja esta postagem e corrija qualquer coisa que eu tenha escrito que esteja errada.

3 curtidas

Curioso sobre sua opinião, ou de qualquer pessoa

Estamos planejando outra mudança de servidor, seria um bom momento, já que esses problemas parecem estar centrados em

PG::DuplicateTable: ERROR: relation "summary_sections" already exists

itens de “já existe”, etc.?

Uma mudança ajudaria?

Suspeito que isso resolveria o problema. Não custa nada tentar criar uma nova instalação e importar seu arquivo de backup mais recente para ela.

2 curtidas

O site já parece pensar que é uma nova instalação, observe algumas das minhas capturas de tela.

Isso ocorreu simplesmente quando usei o safemode, é uma falha bastante substancial apenas de uma atualização, e o mais estranho é se apenas minha instância do discourse foi afetada e tombada.

Eu fiz git pulls etc, nenhuma diferença, eu diria que é como construir do zero, se eu estiver errado, por favor, me diga como.

tentou

./launcher start-cmd app

./launcher cleanup

excluiu 18 MB de imagens, fez um novo pull/rebuild/fail/doctor e ainda não funcionou

todas as minhas informações ainda estão presentes quando acesso meu APP, então pelo menos isso é bom

Tenho 95% de certeza de que os erros de tabela duplicada podem ser ignorados com segurança. (Lembro-me de vê-los em todas as atualizações em nosso fórum)

1 curtida

Eu os ignorei, mas ainda não consigo voltar a ficar online.

o que você acha desses erros?

Você poderia postar um log completo de uma reconstrução?

1 curtida

Ontem tive o mesmo problema. Pensei que fosse um problema de servidor porque em atualizações anteriores houve um comportamento semelhante, e decidi executar para resolver temporariamente

/launcher rebuild app

Baixei o último backup e implantei um novo servidor. Restaurar o backup foi muito fácil e, misteriosamente, tudo já está atualizado.

1 curtida
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' falhou com retorno #<Process::Status: pid 645 exit 1>
Localização da falha: /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"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap falhou com código de saída 1
** FALHA AO INICIALIZAR ** 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.
adb2c505fd2f1289f44586496fea24ff31264f73c26eb524baf16602a189f
root@ip-10-0-159-37:/var/discourse#

significa fazer o quê exatamente?

Sim, o que devo ocultar primeiro?