Upgrading Node-RED on Docker from 0.19.6 to 0.20 makes Node-Red unstable and I lose all my line connections between nodes


#1

So I use Node-RED for home automation purposes. Running Docker on a Synology box, I always use the v8 Docker image. 0.19.6-v8 works a charm and the versions before that have always worked fine too.

I tried to upgrade to 0.20 today and the first thing I notice is a subflow that I imported will suddenly, out of the blue, appear on the canvas OVER other nodes. I try to delete it, but they cannot be deleted on the page: when I delete the node, but it moves to the top left corner of the canvas, and never deletes.

Then after I restart the container, all my lines are gone and Node-RED starts behaving extremely sluggishly. On both Firefox and Chrome, the performance becomes abysmal.

The only was to solve it is to delete the container and go back to 0.19.6, where everything is dandy.

Is there a specific way to upgrade using Docker? Does anybody else have issues with the new version using Docker? How can I properly troubleshoot this?


#2

Hi @pseudonoob - that doesn't sound ideal. Not had any reports of that sort of thing, so hopefully this is a very specific edge case that we've not otherwise encountered.

If you are able to reproduce, can you check the browser's developer console for any error messages?

If you are able to share your flows with me so I can investigate more closely, then please send them to nick.oleary@gmail.com


#3

I have exactly the same problem. Very sluggish and cant see any of the lines/connections and the whole of the web page disappears after a while.

Using Docker V8
I manage to press F12 in chrome and there is not a thing in it.

How can i get back to a previous version?


#4

Hi @cameronuk

there are tagged Docker images for all previous versions. To go back to 0.19.6, you can use the nodered/node-red-docker:0.19.6-v8 image.

As I said in my reply above, I would really appreciate some more information to help us understand what is causing this. I've not had any replies from @pseudonoob so we're no wiser as to what is happening.

  1. can you check the browser's developer console for any error messages?
  2. If you are able to share your flows with me so I can investigate more closely, then please send them to nick.oleary@gmail.com

#5

Hi @knolleary
Thanks for replying to me. I have just downgraded to 0.19.6 and the same has happened all lines/connections are not showing. If i try to link a modual to another it wont let me as its already linked.

The developer console is show lots of errors this is some of it..

vendor.js:5 GET http://192.168.85.5:1880/settings?_=1552601140725 401 (Unauthorized)
send @ vendor.js:5
ajax @ vendor.js:5
a @ red.min.js:16
init @ red.min.js:16
(anonymous) @ main.min.js:16
(anonymous) @ red.min.js:16
(anonymous) @ vendor.js:39
(anonymous) @ vendor.js:39
g @ vendor.js:39
success @ vendor.js:39
j @ vendor.js:2
fireWith @ vendor.js:2
x @ vendor.js:5
b @ vendor.js:5
XMLHttpRequest.send (async)
send @ vendor.js:5
ajax @ vendor.js:5
_fetchOne @ vendor.js:39
(anonymous) @ vendor.js:39
each @ vendor.js:2
(anonymous) @ vendor.js:39
each @ vendor.js:2
_fetch @ vendor.js:39
load @ vendor.js:39
g @ vendor.js:39
init @ red.min.js:16
(anonymous) @ main.min.js:16
j @ vendor.js:2
fireWith @ vendor.js:2
ready @ vendor.js:2
J @ vendor.js:2
192.168.85.5/:1 This page includes a password or credit card input in a non-secure context. A warning has been added to the URL bar. For more information, see https://goo.gl/zmWq3m.
red.min.js:16 Node-RED: 0.19.6
main.min.js:16 Projects disabled
vendor.js:5 [Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
send @ vendor.js:5
ajax @ vendor.js:5
m._evalUrl @ vendor.js:5
domManip @ vendor.js:4
append @ vendor.js:4
l @ main.min.js:16
(anonymous) @ main.min.js:16
success @ main.min.js:16
j @ vendor.js:2
fireWith @ vendor.js:2
x @ vendor.js:5
b @ vendor.js:5
XMLHttpRequest.send (async)
send @ vendor.js:5
ajax @ vendor.js:5
t @ main.min.js:16
success @ main.min.js:16
j @ vendor.js:2
fireWith @ vendor.js:2
x @ vendor.js:5
b @ vendor.js:5
XMLHttpRequest.send (async)
send @ vendor.js:5
ajax @ vendor.js:5
r @ main.min.js:16
(anonymous) @ main.min.js:16
success @ red.min.js:16
j @ vendor.js:2
fireWith @ vendor.js:2
x @ vendor.js:5
b @ vendor.js:5
XMLHttpRequest.send (async)
send @ vendor.js:5
ajax @ vendor.js:5
(anonymous) @ red.min.js:16
loadNodeCatalogs @ red.min.js:16
success @ main.min.js:16
j @ vendor.js:2
fireWith @ vendor.js:2
x @ vendor.js:5
b @ vendor.js:5
XMLHttpRequest.send (async)
send @ vendor.js:5
ajax @ vendor.js:5
e @ main.min.js:16
success @ red.min.js:16
j @ vendor.js:2
fireWith @ vendor.js:2
x @ vendor.js:5
b @ vendor.js:5
XMLHttpRequest.send (async)
send @ vendor.js:5
ajax @ vendor.js:5
t @ red.min.js:16
success @ red.min.js:16
j @ vendor.js:2
fireWith @ vendor.js:2
x @ vendor.js:5
b @ vendor.js:5
XMLHttpRequest.send (async)
send @ vendor.js:5
ajax @ vendor.js:5
a @ red.min.js:16
(anonymous) @ red.min.js:16
(anonymous) @ red.min.js:16
j @ vendor.js:2
fireWith @ vendor.js:2
x @ vendor.js:5
b @ vendor.js:5
XMLHttpRequest.send (async)
send @ vendor.js:5
ajax @ vendor.js:5
(anonymous) @ red.min.js:16
dispatch @ vendor.js:4
r.handle @ vendor.js:4
t.default @ kwift.CHROME.min.js:1
t.default @ kwift.CHROME.min.js:1
(anonymous) @ kwift.CHROME.min.js:1
some @ kwift.CHROME.min.js:1
match @ kwift.CHROME.min.js:1
n.elements.filter.map.forEach @ kwift.CHROME.min.js:1
a @ kwift.CHROME.min.js:1
t.registerOrderHandler.r @ kwift.CHROME.min.js:1
catchPluginEvent @ kwift.CHROME.min.js:18
messageFromExtension.on.e @ kwift.CHROME.min.js:18
i @ kwift.CHROME.min.js:1
t.callHandlers @ kwift.CHROME.min.js:1
value @ kwift.CHROME.min.js:1
(anonymous) @ kwift.CHROME.min.js:1
(anonymous) @ kwift.CHROME.min.js:1
value @ kwift.CHROME.min.js:1
_port.onMessage.addListener.e @ kwift.CHROME.min.js:18

#6

Hi @knolleary,

Here's the page of my nodes where it goes wrong. Looking at Cameron's picture, I can see he also uses Home Assistant, which is what I also use. Perhaps this might be what's causing it?

I have my nodes here, edited out all personal details. https://pastebin.com/QC6quH6k

I can do some testing later tonight to check the browser's developer console, but I have never really worked with that - what's the recommended way to check for errors on Firefox or Chrome? Anything you want to see in particular?

For the record, this is the contrib I use for Home Assistant, latest version: https://flows.nodered.org/node/node-red-contrib-home-assistant-websocket
Which again, works absolutely fine in 0.19.6:v8.

Thanks for the help.


#7

I have just published 0.20.2 which fixes the root cause of this. Please upgrade and let me know how you get on.


#8

Looks like the official docker image hasn't been updated yet to 0.20.2. Once it has I'll give it a go.


#9

Yes 0.20.2 works just fine.

Thank You Nick :+1::+1:


#10

good morning guys, my node-red in docker just got updated over night and now i lost all my flows and the websocket connection to home-assistant. I'm on 0.20.2


#11

What do the logs on startup say?


#12

This solved it for me too. Thank you!