Node Red Module Not Working

Just updated my gateway to 8.1.25 and the Ignition Node-RED Module faulted. I tried restarting the module, restarting the gateway, and uninstalling and reinstalling the module, but nothing worked. Here's the error:

Exception while starting up module "org.imdc.nodered.IgnitionNodeRED".

java.lang.Exception: Exception while starting up module "org.imdc.nodered.IgnitionNodeRED".
	at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl$LoadedModule.startup(ModuleManagerImpl.java:2445)
	at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl.startup(ModuleManagerImpl.java:417)
	at com.inductiveautomation.ignition.gateway.IgnitionGateway.startupInternal(IgnitionGateway.java:1327)
	at com.inductiveautomation.ignition.gateway.redundancy.RedundancyManagerImpl.startup(RedundancyManagerImpl.java:301)
	at com.inductiveautomation.ignition.gateway.IgnitionGateway.initRedundancy(IgnitionGateway.java:751)
	at com.inductiveautomation.ignition.gateway.IgnitionGateway.lambda$initInternal$0(IgnitionGateway.java:685)
	at com.inductiveautomation.ignition.common.execution.impl.BasicExecutionEngine$ThrowableCatchingRunnable.run(BasicExecutionEngine.java:544)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: org/eclipse/jetty/websocket/servlet/WebSocketServlet
	at java.base/java.lang.ClassLoader.defineClass1(Native Method)
	at java.base/java.lang.ClassLoader.defineClass(Unknown Source)
	at java.base/java.security.SecureClassLoader.defineClass(Unknown Source)
	at java.base/java.net.URLClassLoader.defineClass(Unknown Source)
	at java.base/java.net.URLClassLoader$1.run(Unknown Source)
	at java.base/java.net.URLClassLoader$1.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.net.URLClassLoader.findClass(Unknown Source)
	at com.inductiveautomation.ignition.gateway.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:37)
	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
	at com.inductiveautomation.ignition.gateway.modules.ModuleClassLoader.loadClass(ModuleClassLoader.java:85)
	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
	at org.imdc.nodered.GatewayHook.startup(GatewayHook.java:39)
	at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl$LoadedModule.startup(ModuleManagerImpl.java:2439)
	... 12 more
Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.websocket.servlet.WebSocketServlet
	at java.base/java.net.URLClassLoader.findClass(Unknown Source)
	at com.inductiveautomation.ignition.gateway.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:37)
	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
	at com.inductiveautomation.ignition.gateway.modules.ModuleClassLoader.loadClass(ModuleClassLoader.java:85)
	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
	... 26 more

8.1.25 (b2023021409)
Azul Systems, Inc. 11.0.17

Module version 1.5.11

Does 8.1.25 not support this module yet?

It looks like this module might need to be updated with the upgrade to Jetty 10 w/ 8.1.25.

EDIT: Registered IgnitionModuleDevelopmentCommunity/Ignition-NodeRED#31, should be a pretty easy fix of mostly correcting class namespace references.

1 Like

Merged the PR. 1.15.12 is available here:

1 Like

I'm getting an interesting error that might be fixed by a more-recent version.
Currently using Ignition 8.1.31** (full install, license added for node-red) w/ latest node-red-contrib-ignition-nodes (1.5.10).
Error received is somewhat ambiguous:

"JSON error: SyntaxError: Unexpected token < in JSON at position 0"

A bit of research on the topic... here.

We have Node-RED installed as snap, so we are limited to the libraries available to the Node-RED Community catalog. I see there are new versions available on github.

@Travis.Cox: Any chance you would be able to uprev the node-red-contrib library to the latest (currently 1.5.15)?

** Edit to update Ignition version where problem is observed.

I should've checked the node-red snap earlier (also probably should have placed these comments in a new thread). Luckily, they exposed the packaged npm application as a command. So, updating the Ignition node module was possible with:

cd /var/snap/node-red/current/
sudo node-red.npm update node-red-contrib-ignition-nodes
sudo snap restart node-red

Unfortunately, this did not solve my issue above...
In the end, Tag Provider Read permissions were causing the error.

It appears NodeRED is showing the right version now, 1.5.15:

That was weird since I did that when the .15 release was out. Sorry for the confusion.