OPC UA Module Status Faulted

Why does OPC UA status show faluted in list of modules in Ignition trial version 7.9? How to restart it?

If you’re talking about the module status and not one of the OPC connections then you should have an error in your gateway logs around the time the UA module started.

I am getting this sort of errors continuously in the log

INFO | jvm 1 | 2018/09/13 13:36:12 | Max allowed deviation=1000ms, actual deviation=296813ms
INFO | jvm 1 | 2018/09/13 13:41:20 | W [ClockDriftDetector ] [08:11:20]: Clock drift, degraded performance, or pause-the-world detected.
INFO | jvm 1 | 2018/09/13 13:41:20 | Max allowed deviation=1000ms, actual deviation=296844ms
INFO | jvm 1 | 2018/09/13 13:46:24 | W [ClockDriftDetector ] [08:16:23]: Clock drift, degraded performance, or pause-the-world detected.
INFO | jvm 1 | 2018/09/13 13:46:24 | Max allowed deviation=1000ms, actual deviation=294437ms
INFO | jvm 1 | 2018/09/13 13:46:24 | E [c.i.i.g.m.MulticastScheduler ] [08:16:24]: IOException thrown when using IP address 231.1.1.1 and send port 4445

I am getting this sort of error after ~ 1 hour of my module start (The IP address 231.1.1.1 and port 4445 are not used in my module. My gateway server shows ip address as192.168.0.1. Any idea whom does the IP address belong to and does ignition use port 4445 for something?)

INFO | jvm 1 | 2018/09/14 23:22:25 | E [c.i.i.g.m.MulticastScheduler ] [17:52:24]: IOException thrown when using IP address 231.1.1.1 and send port 4445
INFO | jvm 1 | 2018/09/14 23:22:25 | java.net.SocketException: No buffer space available (maximum connections reached?): Datagram send failed
INFO | jvm 1 | 2018/09/14 23:22:25 | at java.net.DualStackPlainDatagramSocketImpl.socketSend(Native Method)
INFO | jvm 1 | 2018/09/14 23:22:25 | at java.net.DualStackPlainDatagramSocketImpl.send(DualStackPlainDatagramSocketImpl.java:136)
INFO | jvm 1 | 2018/09/14 23:22:25 | at java.net.DatagramSocket.send(DatagramSocket.java:693)
INFO | jvm 1 | 2018/09/14 23:22:25 | at com.inductiveautomation.ignition.gateway.multicast.MulticastScheduler.run(MulticastScheduler.java:223)
INFO | jvm 1 | 2018/09/14 23:22:25 | at com.inductiveautomation.ignition.common.execution.impl.BasicExecutionEngine$TrackedTask.run(BasicExecutionEngine.java:593)
INFO | jvm 1 | 2018/09/14 23:22:25 | at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
INFO | jvm 1 | 2018/09/14 23:22:25 | at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
INFO | jvm 1 | 2018/09/14 23:22:25 | at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
INFO | jvm 1 | 2018/09/14 23:22:25 | at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
INFO | jvm 1 | 2018/09/14 23:22:25 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
INFO | jvm 1 | 2018/09/14 23:22:25 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
INFO | jvm 1 | 2018/09/14 23:22:25 | at java.lang.Thread.run(Thread.java:745)
INFO | jvm 1 | 2018/09/15 00:10:24 | W [ClockDriftDetector ] [18:40:23]: Clock drift, degraded performance, or pause-the-world detected.
INFO | jvm 1 | 2018/09/15 00:10:24 | Max allowed deviation=1000ms, actual deviation=2877409ms
INFO | jvm 1 | 2018/09/15 00:10:24 | E [c.i.i.g.m.MulticastScheduler ] [18:40:24]: IOException thrown when using IP address 231.1.1.1 and send port 4445
INFO | jvm 1 | 2018/09/15 00:10:24 | java.net.SocketException: Network is unreachable: Datagram send failed
INFO | jvm 1 | 2018/09/15 00:10:24 | at java.net.DualStackPlainDatagramSocketImpl.socketSend(Native Method)
INFO | jvm 1 | 2018/09/15 00:10:24 | at java.net.DualStackPlainDatagramSocketImpl.send(DualStackPlainDatagramSocketImpl.java:136)
INFO | jvm 1 | 2018/09/15 00:10:24 | at java.net.DatagramSocket.send(DatagramSocket.java:693)
INFO | jvm 1 | 2018/09/15 00:10:24 | at com.inductiveautomation.ignition.gateway.multicast.MulticastScheduler.run(MulticastScheduler.java:223)
INFO | jvm 1 | 2018/09/15 00:10:24 | at com.inductiveautomation.ignition.common.execution.impl.BasicExecutionEngine$TrackedTask.run(BasicExecutionEngine.java:593)
INFO | jvm 1 | 2018/09/15 00:10:24 | at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
INFO | jvm 1 | 2018/09/15 00:10:24 | at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
INFO | jvm 1 | 2018/09/15 00:10:24 | at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
INFO | jvm 1 | 2018/09/15 00:10:24 | at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
INFO | jvm 1 | 2018/09/15 00:10:24 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
INFO | jvm 1 | 2018/09/15 00:10:24 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
INFO | jvm 1 | 2018/09/15 00:10:24 | at java.lang.Thread.run(Thread.java:745)

The MulticastScheduler is periodically broadcasting the gateway name and address so things like the NCL can discover it.

You can turn it off in system settings.

The clock drift and buffer space errors may be indicating you’re running out of memory for some reason.

Like a memory leak in a custom module…
If you are creating network packets in your module with netty, be absolutely sure you are following the rules to release its buffers.
Also, take a look at G1GC to better clean up everything else you are doing.

I uninstalled the version 7.9.4 and installed the latest version 7.9.9 and allowed the system to run without loading any other module (such as mine). I get the port 4445 error after two hours of runnig of the system. The wrapper.log is enclosed. What are these errors and where are they coming from?wrapper.log (53.1 KB)wrapper.log (70.8 KB)

The log file seems to grow despite the system being in sleep mode. Are these errors unavoidable in development mode when we go in hibernation / sleep mode when not in use and may be safely ignored? The are only relevant in production mode the server not going to go in sleep mode and cause these errors? Are they arising from OPC UA module?

I mentioned in the previous post these are the MulticastScheduler you can disable.

The other errors are OPC UA related and yes, they are caused by the system sleeping and waking. You can ignore them.

:+1:Thanks a lot , I am glad to read this. I will certainly disable the MultiCastScheduler as mentioned by you earlier , but wanted to ascertain the root cause.

Is there a possibility that this could led to memory leaks and memory overflow error if continued to run for log period of time (days/weeks)?

Could this also cause the OPPC UA module to get faulted?

Hope not.

No. The module doesn’t ever suddenly become faulted. It either starts up successfully or doesn’t.

1 Like