Painel de log para de atualizar durante a atualização

Atualizando apenas dois fóruns para a versão 2.7.0.beta6. Um deles foi atualizado sem problemas: primeiro o Docker Manager e, em seguida, o Discourse. O outro, que também precisava de uma atualização do Data Explorer, apresentou travamento no painel de logs duas vezes durante a atualização final do próprio Discourse. Ambas as vezes, o processo ficou parado na mensagem:
Waiting for Unicorn to reload...........
uma vez no início e outra no final, após eu ter atualizado a aba do navegador.

O travamento no final escreveu 11 linhas de “Waiting” antes de parar:

Done compiling CSS: 2021-04-08 12:54:13 UTC
Restarting unicorn pid: 49
Waiting for Unicorn to reload.
Waiting for Unicorn to reload..
Waiting for Unicorn to reload...
Waiting for Unicorn to reload....
Waiting for Unicorn to reload.....
Waiting for Unicorn to reload......
Waiting for Unicorn to reload.......
Waiting for Unicorn to reload........
Waiting for Unicorn to reload.........
Waiting for Unicorn to reload..........
Waiting for Unicorn to reload...........

O travamento no início ocorreu com aproximadamente o mesmo número de linhas.

Consegui monitorar os processos usando a página de Processos, em outra aba, e pude ver que o progresso estava sendo feito.

A atualização foi bem-sucedida e, após uma atualização da página, pude visualizar e revisar todo o log. No entanto, foi desconcertante e talvez enganoso que o painel de logs parasse de atualizar.

Nada a relatar no console de JavaScript.

Ah, depois de muito tempo, vejo algo no console do JS (isto é o Chrome no Mac)

[Violation] 'setTimeout' handler took 64ms

com um link para a linha 5211 de docker-manager-vendor-970…js, ou seja, /assets/docker-manager-vendor-9709990270a4ade37544c98dda3cfad18f77cdf6cd433291c3c5ef7bd25cb50d.js
que se parece com

try{r||n?t=s.minPollInterval:(t=s.callbackInterval,o>2?t*=o:a()||(t=s.backgroundCallbackInterval),t>s.maxPollInterval&&(t=s.maxPollInterval),(t-=new Date-w)<100&&(t=100))}catch(i){console.log&&i.message&&console.log("MESSAGE BUS FAIL: "+i.message)}d&&(clearTimeout(d),d=null),u&&(d=setTimeout((function(){d=null,e()}),t)),s.longPoll=null}})}},s={minHiddenPollInterval:1500,enableChunkedEncoding:!0,enableLongPolling:!0,callbackInterval:15e3,backgroundCallbackInterval:6e4,minPollInterval:100,maxPollInterval:18e4,callbacks:n,clientId:i,alwaysLongPoll:!1,baseUrl:"/",headers:{},ajax:p&&p.ajax,noConflict:function(){return e.MessageBus=e.MessageBus.previousMessageBus,this},diagnostics:function(){console.log("Stopped: "+l+" Started: "+u),console.log("Current callbacks"),console.log(n),console.log("Total ajax calls: "+O+" Recent failure count: "+o+" Total failures: "+R),console.log("Last ajax call: "+(new Date-w)/1e3+" seconds ago")},pause:function(){f=!0},resume:function(){f=!1,T(h),h=[]},stop:function(){l=!0,u=!1,v&&(clearTimeout(v),v=null),s.longPoll&&s.longPoll.abort()},start:function(){var r

Possivelmente seu sistema ficou sem memória ou algo assim.

Você pode tentar reconstruir pelo console?

Note que a atualização foi bem-sucedida: a falha está na apresentação do fluxo de logs pelo navegador. Ao atualizar a página, todo o log ficou visível. Portanto, tenho quase certeza de que estamos lidando com um problema no lado do cliente, e não com qualquer tipo de problema de atualização, reconstrução ou no servidor.

Se ninguém mais já viu isso, ficaria feliz em atribuir o problema ao meu navegador ou laptop.

Não entendo como o JS visto pelo navegador se relaciona com a árvore de origem, mas talvez este seja o código que vi vinculado no console (é um código que não mudou recentemente)

Enfrentei o mesmo problema em alguns sites que administro, mas não em todos, então parece ser um problema de configuração. Ainda não tenho nenhuma evidência concreta, mas minha melhor suposição é que possa estar relacionado a multisite.

Desculpe, não tenho nenhuma informação útil aqui, mas apenas quis comentar para confirmar que o problema não é específico apenas para você.

Obrigado, isso é interessante e útil. Eu ainda não tenho uma configuração multisite — meus dois fóruns estão em hospedagens diferentes. Portanto, tanto configurações multisite quanto não multisite podem ver isso.

Acabou de acontecer novamente com a atualização para 2.7.0.beta9: o fluxo de logs ficou parado mostrando que os unicórnios estavam sendo parados, enquanto a visão de processos (aberta em outra aba) mostrava que o precompile havia iniciado.

Como solução alternativa, abri uma aba na visão de versões, vi o botão azul grande agora rotulado como ‘Atualizando Agora’, cliquei e obtive com sucesso uma nova visão de logs que estava se atualizando corretamente.