Em dúvida sobre erro ./launcher rebuild app (Process::Status: pid 2096)

Hoje, ao executar o comando ./launcher rebuild app (sem motivo aparente), recebi este erro (também, isso foi depois de desativar todos os plugins no arquivo app.yml)… Agradeceria muito qualquer ajuda com isso!

error-log_2024-10-31_1.txt (44,1 KB)

terminando com…

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' falhou com retorno #<Process::Status: pid 2096 exit 1>
Localização da falha: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec falhou com os parâmetros {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap falhou com código de saída 1
** FAILED TO BOOTSTRAP **
1 curtida

A parte relevante do log é

undefined method `+' for nil
/var/www/discourse/db/migrate/20241025045928_add_invites_link_to_sidebar.rb:44:in `up'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4.2/lib/active_record/migration.rb:989:in `public_send'

Parece relacionado a FEATURE: Add invite link to the sidebar (#29448) · discourse/discourse@19672fa · GitHub (cc @osama)

4 curtidas

Muito obrigado (e pela explicação), eu também vi isso e me perguntei se era isso!

1 curtida

@denvergeeks Vou corrigir a migração, mas estou um pouco curioso sobre como seu site chegou a esse estado. Como a barra lateral se parece no seu site? Você excluiu todos os links da barra lateral padrão do banco de dados?

Claro – não tenho uma captura de tela da barra lateral ou do site, mas nada foi modificado, exceto a adição de alguns itens básicos de menu em “mais…”

É apenas uma das minhas instâncias de pesquisa pessoal do Discourse (não pública), então eu poderia ajudar a depurar se você me dissesse o que quer que eu faça na linha de comando. (Eu tenho meu próprio servidor dedicado, se isso ajudar.)

1 curtida

Você pode me dizer o que as seguintes consultas retornam em seu banco de dados?

SELECT id FROM sidebar_sections WHERE section_type = 0;
SELECT linkable_type, linkable_id, position FROM sidebar_section_links WHERE sidebar_section_id IN (SELECT id FROM sidebar_sections WHERE section_type = 0);
SELECT id, segment FROM sidebar_urls WHERE id IN (SELECT linkable_id FROM sidebar_section_links WHERE sidebar_section_id IN (SELECT id FROM sidebar_sections WHERE section_type = 0));

Eu certamente posso - você poderia fornecer os comandos a partir do início/prompt? (Eu sou o usuário root)

1 curtida

Não consigo dizer os comandos exatos de imediato, mas procurei aqui no Meta e acho que estes funcionarão:

./launcher enter app
su postgres
psql

Após o comando psql, você poderá colar as consultas e executá-las para ver os resultados. Me avise se os comandos não funcionarem.

root@JEN /var/discourse # ./launcher enter app101
su postgres
psql
x86_64 arch detected.
Error response from daemon: container 8ee36bdfa85b786ea149e6714f65048e136091fe31be2f5425be5fe04a852729 is not running
su: user postgres does not exist or the user entry does not contain all the required fields
Command 'psql' not found, but can be installed with:
apt install postgresql-client-common

Hmm, parece que seu contêiner não está em execução. Seu site está fora do ar no momento? Tente:

./launcher start app101
root@JEN /var/discourse # ./launcher start app101
x86_64 arch detectado.

iniciando container existente
+ /usr/bin/docker start app101
app101
root@JEN /var/discourse # ./launcher enter app101
su postgres
psql
x86_64 arch detectado.
root@JEN-app101:/var/www/discourse# SELECT id FROM sidebar_sections WHERE section_type = 0;
bash: SELECT: comando não encontrado
root@JEN-app101:/var/www/discourse#

O site foi iniciado e aqui está a barra lateral e… mais itens

1 curtida

Ok, agora faz sentido. A migração espera pelo menos 1 link fora de ... mais, mas você não tem nenhum, então ela falha. Vou atualizar a migração para que ela considere este caso.

2 curtidas

Recebi o mesmo erro (e parei o contêiner) em um dos meus outros sites também. (Mas não em alguns outros sites.)

Editar: Sim, então aquele outro site (onde encontrei o mesmo comportamento) também não tem link fora do ... mais

Terminamos?

A imagem é uma fotografia de baixa resolução e desfocada do rosto de uma criança pequena, com a criança olhando diretamente para a câmera e sorrindo. (Legenda gerada por IA)

Desculpe @denvergeeks, surgiu algo pessoal urgente e tive que ficar AFK por algumas horas. Preparei um PR com uma correção:

Avisarei quando for mesclado e passar nos testes.

3 curtidas

@denvergeeks, a correção chegou ao branch tests-passed. Se você compilar novamente agora, deverá ter sucesso.

3 curtidas

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.