Node-RED errors after update

I am running Node-RED in docker on Unraid. After an update, I can't get Node-RED to work right. The WebUI won't come up and I get some errors in the log file. I'm not sure what to do at this point.

Welcome to Node-RED
===================

16 Feb 17:13:22 - [info] Node-RED version: v3.0.2

16 Feb 17:13:22 - [info] Node.js version: v16.16.0

16 Feb 17:13:22 - [info] Linux 5.10.28-Unraid x64 LE
16 Feb 17:13:22 - [info] Loading palette nodes
16 Feb 17:13:24 - [info] Dashboard version 2.28.2 started at /ui

/bin/sh: /data/node_modules/node-red-node-pi-gpio/testgpio.py: not found
16 Feb 17:13:24 - [warn] rpi-gpio : Raspberry Pi specific node set inactive
16 Feb 17:13:24 - [info] Dashboard version 2.28.2 started at /ui

/bin/sh: /data/node_modules/node-red-node-pi-gpio/testgpio.py: not found
16 Feb 17:13:24 - [warn] rpi-gpio : Raspberry Pi specific node set inactive
16 Feb 17:13:24 - [warn] ------------------------------------------------------
16 Feb 17:13:24 - [warn] [node-red-node-serialport/serialport] Error: Error relocating /data/node_modules/@serialport/bindings/build/Release/bindings.node: _ZN2v820EscapableHandleScope6EscapeEPPNS_8internal6ObjectE: symbol not found

16 Feb 17:13:24 - [warn] ------------------------------------------------------
16 Feb 17:13:24 - [info] Settings file : /data/settings.js
16 Feb 17:13:24 - [info] Context store : 'memoryOnly' [module=memory]
16 Feb 17:13:24 - [info] Context store : 'file' [module=localfilesystem]
16 Feb 17:13:24 - [info] User directory : /data
16 Feb 17:13:24 - [warn] Projects disabled : editorTheme.projects.enabled=false
16 Feb 17:13:24 - [info] Flows file : /data/flows.json
16 Feb 17:13:24 - [info] Creating new flow file
16 Feb 17:13:24 - [warn] Encrypted credentials not found
16 Feb 17:13:24 - [info] Server now running at http://127.0.0.1:1880/
16 Feb 17:13:24 - [info] Starting flows
16 Feb 17:13:24 - [red] Uncaught Exception:
16 Feb 17:13:24 - [error] TypeError: RED.settings.functionGlobalContext.get is not a function

at map (/data/node_modules/node-red-contrib-actionflows/actionflows/actionflows.js:270:51)
at EventEmitter.runtimeMap (/data/node_modules/node-red-contrib-actionflows/actionflows/actionflows.js:593:5)
at EventEmitter.emit (node:events:527:28)
at Object.start [as startFlows] (/usr/src/node-red/node_modules/@node-red/runtime/lib/flows/index.js:405:12)

Looks like you have an error in getting some global data. What did you update?
Try starting NR in safe mode node-red --safe and it should start letting you look at your code.

It updated last night after a power outage. I am running it in a docker image on Unraid and I am not sure how to get it to start in safe more. Can't find where I can add the option when it starts.

Found how to start in safe mode. Got it running that way now.

I was able to open the webui in safe mode. I disabled all flows and tried starting without safe mode only to get the same problem. Still getting the "warn" in safe mode.

You can see that the error report references the actionflows node. You will want to check that out first.

Then the error references RED.settings.functionGlobalContext which is defined in your settings.js file in your Node-RED data mount. Check there as well to see whether that is correct.

I removed some nodes that were not being used and that got rid of one error. I still have the Global Context one and can't figure that out. The error doesn't show in the logs when started in safe move, but does when started normally. All the flows are disabled though.

The only thing in settings.js I found about global context was the follow and it is the same as it was before the update...

    // The following property can be used to seed Global Context with predefined
    // values. This allows extra node modules to be made available with the
    // Function node.
    // For example,
    //    functionGlobalContext: { os:require('os') }
    // can be accessed in a function block as:
    //    global.get("os")
    functionGlobalContext: {
        // os:require('os'),
        // jfive:require("johnny-five"),
        // j5board:require("johnny-five").Board({repl:false})
    },


I think I fixed it. I updated the action flow nodes and the error has gone away.

2 Likes

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