Log pane stops updating during update

Just updating two forums to 2.7.0.beta6. One of them went smoothly, updating docker manager and then discourse. The other one, which also needed an update to data explorer, I found the log pane stalled, twice, during the final update of discourse itself. Both times it was in the
Waiting for Unicorn to reload...........
once at the beginning and once at the end, after I’d refreshed the browser tab.

The stall at the end had written 11 lines of Waiting before stalling.

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...........

The stall at the beginning was at about the same number.

I was able to monitor the processes using the Processes page, in another tab, and could see progress was being made.

The upgrade was successful, and after a refresh I could see and review the whole log, but it was disconcerting and perhaps misleading that the log pane stopped refreshing.

Nothing to report from the javascript console.

Ah, after some long time, I see something in the JS console (this is Chrome on Mac)

[Violation] 'setTimeout' handler took 64ms

with a link to line 5211 of docker-manager-vendor-970…js which is to say /assets/docker-manager-vendor-9709990270a4ade37544c98dda3cfad18f77cdf6cd433291c3c5ef7bd25cb50d.js
which looks like

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

Possibly your system ran out of memory or something.

Can you try rebuilding from console?

1 Like

Note that the upgrade was successful: the failure is in the browser’s presentation of the log stream. On refresh, the whole log was visible. So I’m pretty sure we’re looking at a client problem here, not any kind of upgrade or rebuild or server side problem.

If no-one else ever sees this, I’d be happy to put it down to a problem in my browser or laptop.

I don’t understand how the JS seen by the browser relates to the source tree, but maybe this is the code which I saw linked in the console (it’s code which hasn’t changed recently)
https://github.com/discourse/message_bus/blame/e30ed86c9e29679b7fd090bb797007f3933efbef/assets/message-bus.js#L293

I’ve faced same issue on some sites that I manage but not all so it seems like a configuration issue. I still don’t have any concrete evidence but my most informed guess was that it could be something to do with multisite.

I’m sorry I don’t have any useful info here but I just chimed in to confirm that the issue isn’t just specific to you.

1 Like

Thanks, that’s interesting and useful. I don’t have a multisite setup (yet) - my two forums are on different hosts. So, both multisite and non-multisite setups can see this.

Just had this happen again with update to 2.7.0.beta9: the log stream just sat there showing it was stopping unicorns, whereas the processes view (opened in a different tab) showed that precompile had started.

As a workaround, I opened a tab at the versions view, saw the big blue button now labelled as ‘Currently Upgrading’, clicked through and successfully got a new log view which was correctly updating itself.