OPC UA module faulted on startup

Hey all, just started up 8.3 and Ran into an issue with the opcua module faulting on startup, Heres my stack trace. Any ideas?

java.lang.Exception: Exception while starting up module "com.inductiveautomation.opcua".
	at com.inductiveautomation.ignition.gateway.modules.ModuleInstance.startup(ModuleInstance.java:663)
	at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl.runStartupPhase(ModuleManagerImpl.java:500)
	at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl.startup(ModuleManagerImpl.java:460)
	at com.inductiveautomation.ignition.gateway.IgnitionGateway.startupInternal(IgnitionGateway.java:1304)
	at com.inductiveautomation.ignition.gateway.redundancy.RedundancyManagerImpl.startup(RedundancyManagerImpl.java:352)
	at com.inductiveautomation.ignition.gateway.IgnitionGateway.initRedundancy(IgnitionGateway.java:787)
	at com.inductiveautomation.ignition.gateway.IgnitionGateway.lambda$initInternal$1(IgnitionGateway.java:712)
	at com.inductiveautomation.ignition.common.execution.impl.BasicExecutionEngine$ThrowableCatchingRunnable.run(BasicExecutionEngine.java:550)
	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.util.concurrent.ExecutionException: UaException: status=Bad_ConfigurationError, message=No endpoints bound
	at java.base/java.util.concurrent.CompletableFuture.reportGet(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture.get(Unknown Source)
	at com.inductiveautomation.ignition.gateway.opcua.server.IgnitionOpcUaServer.onStartup(IgnitionOpcUaServer.kt:177)
	at org.eclipse.milo.opcua.sdk.server.AbstractLifecycle.startup(AbstractLifecycle.java:32)
	at com.inductiveautomation.ignition.gateway.opcua.OpcUaModule.startup(OpcUaModule.kt:305)
	at com.inductiveautomation.ignition.gateway.opcua.OpcUaModuleHook.startup(OpcUaModuleHook.kt)
	at com.inductiveautomation.ignition.gateway.modules.ModuleInstance.startup(ModuleInstance.java:657)
	at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl.runStartupPhase(ModuleManagerImpl.java:500)
	at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl.startup(ModuleManagerImpl.java:460)
	at com.inductiveautomation.ignition.gateway.IgnitionGateway.startupInternal(IgnitionGateway.java:1304)
	at com.inductiveautomation.ignition.gateway.redundancy.RedundancyManagerImpl.startup(RedundancyManagerImpl.java:352)
	at com.inductiveautomation.ignition.gateway.IgnitionGateway.initRedundancy(IgnitionGateway.java:787)
	at com.inductiveautomation.ignition.gateway.IgnitionGateway.lambda$initInternal$1(IgnitionGateway.java:712)
	at com.inductiveautomation.ignition.common.execution.impl.BasicExecutionEngine$ThrowableCatchingRunnable.run(BasicExecutionEngine.java:550)
	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: UaException: status=Bad_ConfigurationError, message=No endpoints bound
	at org.eclipse.milo.opcua.sdk.server.OpcUaServer.startup(OpcUaServer.java:308)
	at com.inductiveautomation.ignition.gateway.opcua.server.IgnitionOpcUaServer.onStartup(IgnitionOpcUaServer.kt:177)
	at org.eclipse.milo.opcua.sdk.server.AbstractLifecycle.startup(AbstractLifecycle.java:32)
	at com.inductiveautomation.ignition.gateway.opcua.OpcUaModule.startup(OpcUaModule.kt:305)
	at com.inductiveautomation.ignition.gateway.opcua.OpcUaModuleHook.startup(OpcUaModuleHook.kt)
	at com.inductiveautomation.ignition.gateway.modules.ModuleInstance.startup(ModuleInstance.java:657)
	at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl.runStartupPhase(ModuleManagerImpl.java:500)
	at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl.startup(ModuleManagerImpl.java:460)
	at com.inductiveautomation.ignition.gateway.IgnitionGateway.startupInternal(IgnitionGateway.java:1304)
	at com.inductiveautomation.ignition.gateway.redundancy.RedundancyManagerImpl.startup(RedundancyManagerImpl.java:352)
	at com.inductiveautomation.ignition.gateway.IgnitionGateway.initRedundancy(IgnitionGateway.java:787)
	at com.inductiveautomation.ignition.gateway.IgnitionGateway.lambda$initInternal$1(IgnitionGateway.java:712)
	at com.inductiveautomation.ignition.common.execution.impl.BasicExecutionEngine$ThrowableCatchingRunnable.run(BasicExecutionEngine.java:550)
	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)

Can you attach your wrapper.log file and some details about whether this was a fresh install, upgrade, Docker, etc...

wrapper.log (592.0 KB)

thanks Kevin,

This was a fresh install of 8.3. It is running parallel with a 8.1.48 instance also on my laptop.

Did you change default ports? Ignition cannot run two installs in the same system if you don't assign unique ports to the second install. (Not just HTTP/S, but also the OPC server ports.)

gateways are using 8088 and 8089,

what file can I change the OPC server Port?

the gateway settings page does not render at all

My first guess was either ignition.conf or gateway.xml files. but I didn't see anything in those!

The easiest thing to do will be shut down your 8.1 gateway, restart the 8.3 gateway, then with the module no longer faulted go edit the port.

I need to make a ticket to catch that exception and just let the server fail to start instead of faulting the module.

The file to edit on disk would be at $IGNITION/data/config/resources/core/com.inductiveautomation.opcua/server-config/config.json.

Strongly recommend you don't try to deal with remapping all the required ports. Use a virtual machine, Docker, or just don't try to run multiple Ignition's at once on the same PC. It's never been recommended.

6 Likes

good to know, Thanks for the quick fix. I ended up shutting down the other instance. restarted the 8.3 gateway and was off to the races.

Thanks.