(also) Stuck on “Loading Palette” Screen

TL;DR - same behavior as here, on latest version.

Hi,
I've been using node-red for several months, yet decided to have a fresh install.
After removing everything (node-red, node.js, npm), I've installed the latest nvm-windows, node.js (LTS), and node-red. Upon startup, I'm greeted with this:
image

startup log:

PS C:\Users\ItayKishon> node-red                                                                  
11 May 09:55:02 - [info]                                                                          
                                                                                                  
Welcome to Node-RED                                                                               
===================                                                                               
                                                                                                  
11 May 09:55:02 - [info] Node-RED version: v1.3.4                                                 
11 May 09:55:02 - [info] Node.js  version: v14.16.1                                               
11 May 09:55:02 - [info] Windows_NT 10.0.19041 x64 LE                                             
11 May 09:55:02 - [info] Loading palette nodes                                                    
11 May 09:55:06 - [info] Dashboard version 2.25.0 started at /ui                                  
11 May 09:55:06 - [info] Settings file  : C:\SPB_Data\.node-red\settings.js                       
11 May 09:55:06 - [info] Context store  : 'default' [module=memory]                               
11 May 09:55:06 - [info] User directory : \Users\ItayKishon\.node-red                             
11 May 09:55:06 - [warn] Projects disabled : editorTheme.projects.enabled=false                   
11 May 09:55:06 - [info] Flows file     : \Users\ItayKishon\.node-red\flows_xxxxxxx.json  
11 May 09:55:06 - [info] Server now running at http://127.0.0.1:1880/                             
11 May 09:55:06 - [warn]                                                                          
                                                                                                  
---------------------------------------------------------------------                             
Your flow credentials file is encrypted using a system-generated key.                             
                                                                                                  
If the system-generated key is lost for any reason, your credentials                              
file will not be recoverable, you will have to delete it and re-enter                             
your credentials.                                                                                 
                                                                                                  
You should set your own key using the 'credentialSecret' option in                                
your settings file. Node-RED will then re-encrypt your credentials                                
file using your chosen key the next time you deploy a change.                                     
---------------------------------------------------------------------                             
                                                                                                  
11 May 09:55:06 - [info] Starting flows                                                           
11 May 09:55:06 - [info] Started flows                                                            

Thanks.

Can you check the browser console for any errors?

If there is an error that mentions e.trim then you've hit the issue reported here: [problem] Not work flow editor Node-RED 1.3.4 on Chrome

Well have it fixed in the next release, but the workaround for now is to try a different browser.

There is an error, yet unrelated to e.trim (shown below).
Edge (v90) shows the same behavior, with the same console error (probably being based on Chromium?)
Firefox (v88) experiences the same loading freeze, yet with a slightly different error message (seems to be from the same origin, though).

Chrome log:

vendor.js:4 JQMIGRATE: Migrate is installed, version 3.3.0
DevTools failed to load SourceMap: Could not load content for http://127.0.0.1:1880/vendor/purify.min.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE
red.min.js:16 Node-RED: 1.3.4
red.min.js:16 Versions
red.min.js:16 jQuery 3.5.1
red.min.js:16 jQuery UI 1.12.1
red.min.js:16 ACE 1.4.12
red.min.js:16 D3 3.0.3
red.min.js:16 Projects disabled
red.min.js:16 Uncaught TypeError: Cannot read property 'length' of undefined
    at Object.addNodeSet (red.min.js:16)
    at Object.setNodeList (red.min.js:16)
    at Object.success (red.min.js:16)
    at c (vendor.js:2)
    at Object.fireWith [as resolveWith] (vendor.js:2)
    at l (vendor.js:2)
    at XMLHttpRequest.<anonymous> (vendor.js:2)
addNodeSet @ red.min.js:16
setNodeList @ red.min.js:16
success @ red.min.js:16
c @ vendor.js:2
fireWith @ vendor.js:2
l @ vendor.js:2
(anonymous) @ vendor.js:2
load (async)
send @ vendor.js:2
ajax @ vendor.js:2
s.ajax @ vendor.js:4
(anonymous) @ red.min.js:16
i @ red.min.js:16
a @ red.min.js:16
i @ red.min.js:16
success @ red.min.js:16
c @ vendor.js:2
fireWith @ vendor.js:2
l @ vendor.js:2
(anonymous) @ vendor.js:2
load (async)
send @ vendor.js:2
ajax @ vendor.js:2
s.ajax @ vendor.js:4
(anonymous) @ red.min.js:16
(anonymous) @ red.min.js:16
success @ red.min.js:16
c @ vendor.js:2
fireWith @ vendor.js:2
l @ vendor.js:2
(anonymous) @ vendor.js:2
load (async)
send @ vendor.js:2
ajax @ vendor.js:2
s.ajax @ vendor.js:4
(anonymous) @ red.min.js:16
loadPluginCatalogs @ red.min.js:16
success @ red.min.js:16
c @ vendor.js:2
fireWith @ vendor.js:2
l @ vendor.js:2
(anonymous) @ vendor.js:2
load (async)
send @ vendor.js:2
ajax @ vendor.js:2
s.ajax @ vendor.js:4
t @ red.min.js:16
l @ red.min.js:16
(anonymous) @ red.min.js:16
success @ red.min.js:16
c @ vendor.js:2
fireWith @ vendor.js:2
l @ vendor.js:2
(anonymous) @ vendor.js:2
load (async)
send @ vendor.js:2
ajax @ vendor.js:2
s.ajax @ vendor.js:4
t @ red.min.js:16
success @ red.min.js:16
c @ vendor.js:2
fireWith @ vendor.js:2
l @ vendor.js:2
(anonymous) @ vendor.js:2
load (async)
send @ vendor.js:2
ajax @ vendor.js:2
s.ajax @ vendor.js:4
a @ red.min.js:16
init @ red.min.js:16
(anonymous) @ red.min.js:16
(anonymous) @ red.min.js:16
(anonymous) @ vendor.js:42
(anonymous) @ vendor.js:42
g @ vendor.js:42
success @ vendor.js:42
c @ vendor.js:2
fireWith @ vendor.js:2
l @ vendor.js:2
(anonymous) @ vendor.js:2
load (async)
send @ vendor.js:2
ajax @ vendor.js:2
s.ajax @ vendor.js:4
_fetchOne @ vendor.js:42
(anonymous) @ vendor.js:42
each @ vendor.js:2
(anonymous) @ vendor.js:42
each @ vendor.js:2
_fetch @ vendor.js:42
load @ vendor.js:42
g @ vendor.js:42
init @ red.min.js:16
init @ red.min.js:16
(anonymous) @ main.min.js:16
e @ vendor.js:2
t @ vendor.js:2
setTimeout (async)
(anonymous) @ vendor.js:2
c @ vendor.js:2
fireWith @ vendor.js:2
fire @ vendor.js:2
c @ vendor.js:2
fireWith @ vendor.js:2
ready @ vendor.js:2
B @ vendor.js:2

Firefox log:

Uncaught TypeError: e.types is undefined
    addNodeSet http://127.0.0.1:1880/red/red.min.js:16
    setNodeList http://127.0.0.1:1880/red/red.min.js:16
    success http://127.0.0.1:1880/red/red.min.js:16
    c http://127.0.0.1:1880/vendor/vendor.js:2
    fireWith http://127.0.0.1:1880/vendor/vendor.js:2
    l http://127.0.0.1:1880/vendor/vendor.js:2
    o http://127.0.0.1:1880/vendor/vendor.js:2
red.min.js:16:44964
    addNodeSet http://127.0.0.1:1880/red/red.min.js:16
    setNodeList http://127.0.0.1:1880/red/red.min.js:16
    success http://127.0.0.1:1880/red/red.min.js:16
    c http://127.0.0.1:1880/vendor/vendor.js:2
    fireWith http://127.0.0.1:1880/vendor/vendor.js:2
    l http://127.0.0.1:1880/vendor/vendor.js:2
    o http://127.0.0.1:1880/vendor/vendor.js:2

Seeing as the browser being used isn't the issue, is there a previous node-red version I should use?
Thanks.

You can roll back to a previous version by running, for example
npm install -g --unsafe-perm node-red@1.3.3

Then restart node-red.

If you find that it is fixed by a particular version then let us know.

@knolleary is the purify map warning normal on windows, or could there be a relationship between the warning and this issue?

is the purify map warning normal on windows, or could there be a relationship between the warning and this issue?

That is unrelated to the issue here.

@ItayKishon-Vayyar have you got any custom nodes installed? This error can happen if there's a "bad" node installed. I'm working on some better handling of these cases for the 1.3.5 release.

This is a completely fresh install, after removing all node-red,node.js & npm.
I've installed the the latest nvm-windows, node.js (LTS) - v14.16.1, and node-red - v1.3.4.
I'm trying the previous version (1.3.3). Will update.

Can you follow these steps to get some more information:

  1. open the chrome developer tools and switch to the Network tab
  2. Click the :no_entry_sign: button to clear the log
  3. Reload the page
  4. type 'nodes' into the filter box.
  5. You should see an entry like nodes?_=123456 (the number will be different).
  6. Click on that entry and then the 'Response' tab.
  7. Copy the contents and share it with us.

(wow, thanks for the quick & detailed response.)
Here it is, still for v1.3.4, on Chrome 90:

[{"id":"node-red/inject","name":"inject","types":["inject"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/debug","name":"debug","types":["debug"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/complete","name":"complete","types":["complete"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/catch","name":"catch","types":["catch"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/status","name":"status","types":["status"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/link","name":"link","types":["link in","link out"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/comment","name":"comment","types":["comment"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/unknown","name":"unknown","types":["unknown"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/function","name":"function","types":["function"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/switch","name":"switch","types":["switch"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/change","name":"change","types":["change"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/range","name":"range","types":["range"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/template","name":"template","types":["template"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/delay","name":"delay","types":["delay"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/trigger","name":"trigger","types":["trigger"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/exec","name":"exec","types":["exec"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/tls","name":"tls","types":["tls-config"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/httpproxy","name":"httpproxy","types":["http proxy"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/mqtt","name":"mqtt","types":["mqtt in","mqtt out","mqtt-broker"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/httpin","name":"httpin","types":["http in","http response"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/httprequest","name":"httprequest","types":["http request"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/websocket","name":"websocket","types":["websocket in","websocket out","websocket-listener","websocket-client"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/tcpin","name":"tcpin","types":["tcp in","tcp out","tcp request"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/udp","name":"udp","types":["udp in","udp out"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/CSV","name":"CSV","types":["csv"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/HTML","name":"HTML","types":["html"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/JSON","name":"JSON","types":["json"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/XML","name":"XML","types":["xml"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/YAML","name":"YAML","types":["yaml"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/split","name":"split","types":["split","join"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/sort","name":"sort","types":["sort"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/batch","name":"batch","types":["batch"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/file","name":"file","types":["file","file in"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red/watch","name":"watch","types":["watch"],"enabled":true,"local":false,"user":false,"module":"node-red","version":"1.3.4"},{"id":"node-red-node-rbe/rbe","name":"rbe","types":["rbe"],"enabled":true,"local":false,"user":false,"module":"node-red-node-rbe","version":"0.5.0"},{"id":"node-red-node-tail/tail","name":"tail","types":["tail"],"enabled":true,"local":false,"user":false,"module":"node-red-node-tail","version":"0.3.1"},{"id":"node-red-dashboard/ui_base","name":"ui_base","types":["ui_base"],"enabled":true,"local":true,"user":false,"module":"node-red-dashboard","version":"2.25.0"},{"id":"node-red-dashboard/ui_button","name":"ui_button","types":["ui_button"],"enabled":true,"local":true,"user":false,"module":"node-red-dashboard","version":"2.25.0"},{"id":"node-red-dashboard/ui_dropdown","name":"ui_dropdown","types":["ui_dropdown"],"enabled":true,"local":true,"user":false,"module":"node-red-dashboard","version":"2.25.0"},{"id":"node-red-dashboard/ui_switch","name":"ui_switch","types":["ui_switch"],"enabled":true,"local":true,"user":false,"module":"node-red-dashboard","version":"2.25.0"},{"id":"node-red-dashboard/ui_slider","name":"ui_slider","types":["ui_slider"],"enabled":true,"local":true,"user":false,"module":"node-red-dashboard","version":"2.25.0"},{"id":"node-red-dashboard/ui_numeric","name":"ui_numeric","types":["ui_numeric"],"enabled":true,"local":true,"user":false,"module":"node-red-dashboard","version":"2.25.0"},{"id":"node-red-dashboard/ui_text_input","name":"ui_text_input","types":["ui_text_input"],"enabled":true,"local":true,"user":false,"module":"node-red-dashboard","version":"2.25.0"},{"id":"node-red-dashboard/ui_date_picker","name":"ui_date_picker","types":["ui_date_picker"],"enabled":true,"local":true,"user":false,"module":"node-red-dashboard","version":"2.25.0"},{"id":"node-red-dashboard/ui_colour_picker","name":"ui_colour_picker","types":["ui_colour_picker"],"enabled":true,"local":true,"user":false,"module":"node-red-dashboard","version":"2.25.0"},{"id":"node-red-dashboard/ui_form","name":"ui_form","types":["ui_form"],"enabled":true,"local":true,"user":false,"module":"node-red-dashboard","version":"2.25.0"},{"id":"node-red-dashboard/ui_text","name":"ui_text","types":["ui_text"],"enabled":true,"local":true,"user":false,"module":"node-red-dashboard","version":"2.25.0"},{"id":"node-red-dashboard/ui_gauge","name":"ui_gauge","types":["ui_gauge"],"enabled":true,"local":true,"user":false,"module":"node-red-dashboard","version":"2.25.0"},{"id":"node-red-dashboard/ui_chart","name":"ui_chart","types":["ui_chart"],"enabled":true,"local":true,"user":false,"module":"node-red-dashboard","version":"2.25.0"},{"id":"node-red-dashboard/ui_audio","name":"ui_audio","types":["ui_audio"],"enabled":true,"local":true,"user":false,"module":"node-red-dashboard","version":"2.25.0"},{"id":"node-red-dashboard/ui_toast","name":"ui_toast","types":["ui_toast"],"enabled":true,"local":true,"user":false,"module":"node-red-dashboard","version":"2.25.0"},{"id":"node-red-dashboard/ui_ui_control","name":"ui_ui_control","types":["ui_ui_control"],"enabled":true,"local":true,"user":false,"module":"node-red-dashboard","version":"2.25.0"},{"id":"node-red-dashboard/ui_template","name":"ui_template","types":["ui_template"],"enabled":true,"local":true,"user":false,"module":"node-red-dashboard","version":"2.25.0"},{"id":"node-red-dashboard/ui_link","name":"ui_link","types":["ui_link"],"enabled":true,"local":true,"user":false,"module":"node-red-dashboard","version":"2.25.0"},{"id":"node-red-dashboard/ui_tab","name":"ui_tab","types":["ui_tab"],"enabled":true,"local":true,"user":false,"module":"node-red-dashboard","version":"2.25.0"},{"id":"node-red-dashboard/ui_group","name":"ui_group","types":["ui_group"],"enabled":true,"local":true,"user":false,"module":"node-red-dashboard","version":"2.25.0"},{"id":"node-red-dashboard/ui_spacer","name":"ui_spacer","types":["ui_spacer"],"enabled":true,"local":true,"user":false,"module":"node-red-dashboard","version":"2.25.0"},{"id":"node-red-node-ui-table/ui_table","name":"ui_table","types":["ui_table"],"enabled":true,"local":true,"user":false,"module":"node-red-node-ui-table","version":"0.3.10"},{"id":"node-red-contrib-component-dashboard/yad","name":"yad","types":["yad-configuration"],"enabled":true,"local":true,"user":false,"module":"node-red-contrib-component-dashboard","version":"0.0.4"},{"id":"node-red-contrib-component-dashboard/yad-node","name":"yad-node","types":["yad-node"],"enabled":true,"local":true,"user":false,"module":"node-red-contrib-component-dashboard","version":"0.0.4"},{"id":"node-red-contrib-component-dashboard/yad-paper-button","name":"yad-paper-button","types":["yad-paper-button"],"enabled":true,"local":true,"user":false,"module":"node-red-contrib-component-dashboard","version":"0.0.4"},{"id":"node-red-contrib-component-dashboard/yad-toggle-icon-button","name":"yad-toggle-icon-button","types":["yad-toggle-icon-button"],"enabled":true,"local":true,"user":false,"module":"node-red-contrib-component-dashboard","version":"0.0.4"},{"id":"node-red-contrib-component-dashboard/yad-text-widget","name":"yad-text-widget","types":["yad-text-widget"],"enabled":true,"local":true,"user":false,"module":"node-red-contrib-component-dashboard","version":"0.0.4"},{"id":"node-red-contrib-component-dashboard/yad-switch","name":"yad-switch","types":["yad-switch"],"enabled":true,"local":true,"user":false,"module":"node-red-contrib-component-dashboard","version":"0.0.4"},{"id":"node-red-contrib-amqp/amqp","name":"amqp","local":true,"user":false,"module":"node-red-contrib-amqp","version":"1.0.2"}]

Hmmm - browsing through that response, I see a node which I've previously tried to install (which caused me some problems, leading to the supposedly fresh install). Namely: node-red-contrib-amqp.
That means that removing all the above hasn't completely cleared all the settings from the computer.
I'll try to find & remove all those old settings.

Hi @ItayKishon-Vayyar

yes - node-red-contrib-amqp is the cause of the issue.

If you have a look in the file .config.nodes.json in your node-red settings directory you should find a reference to that node including the full path to where it is being loaded from.

Did you delete or rename your .node-red folder for a 'completely fresh install'. Otherwise you will not have removed the problem node.

Apparently... :upside_down_face:

So although I found the node-red-contrib-amqp reference in the .config.nodes.jsonfile:

    "node-red-contrib-amqp": {
        "name": "node-red-contrib-amqp",
        "version": "1.0.2",
        "local": true,
        "user": true,
        "nodes": {
            "amqp": {
                "name": "amqp",
                "local": true,
                "user": false,
                "module": "node-red-contrib-amqp",
                "file": "\\Users\\ItayKishon\\.node-red\\node_modules\\node-red-contrib-amqp\\lib\\amqp.js"
            }
        }
    }

, the folder itself doesn't exist.

Removing the above reference from .config.nodes.json solved the issue, and the system has loaded. And may I add - with all my previous flows, as this was obviously not a completely fresh install...

Now everything is working again. I wonder - has the invalid node reference caused the loading problem?

That is interesting to know - and gives me an idea as to how you got into this state. Will see if we can avoid it in the future.

The handling for this scenario is now fixed in git for 1.3.5.

Thanks so much. :smiley:

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