Ignition 7.6.4 - OutOfMemory after couple of connections

Hello,

I am using Ignition 7.6.4 on a linux Ubuntu/Server 12.04 …

I am using Prosys Java SDK to create subscription to listen to some variables …

After +/- 20 connections, I got this logs in the /var/log/ignition/wrapper.log

Any idea?

Is a new version of Ignition may help?

Thanks,
Laurent

INFO | jvm 1 | 2014/05/13 08:54:28 | ERROR [TCPServerChannel UAChannel ] [08:54:28,758]: Uncaught throwable while processing chunk.
INFO | jvm 1 | 2014/05/13 08:54:28 | java.lang.NullPointerException
INFO | jvm 1 | 2014/05/13 08:54:28 | at com.inductiveautomation.xopc.server.stack.TCPServerChannel.receiveMessage(TCPServerChannel.java:206)
INFO | jvm 1 | 2014/05/13 08:54:28 | at com.inductiveautomation.xopc.common.stack.UAChannel.processAsymmetricChunk(UAChannel.java:1305)
INFO | jvm 1 | 2014/05/13 08:54:28 | at com.inductiveautomation.xopc.common.stack.UAChannel.processChunk(UAChannel.java:774)
INFO | jvm 1 | 2014/05/13 08:54:28 | at com.inductiveautomation.xopc.common.stack.UAChannel.access$000(UAChannel.java:62)
INFO | jvm 1 | 2014/05/13 08:54:28 | at com.inductiveautomation.xopc.common.stack.UAChannel$ProcessChunk.run(UAChannel.java:1581)
INFO | jvm 1 | 2014/05/13 08:54:28 | at com.inductiveautomation.xopc.client.stack.SerialExecutionQueue$RunnableExecutor.execute(SerialExecutionQueue.java:100)
INFO | jvm 1 | 2014/05/13 08:54:28 | at com.inductiveautomation.xopc.client.stack.SerialExecutionQueue$RunnableExecutor.execute(SerialExecutionQueue.java:97)
INFO | jvm 1 | 2014/05/13 08:54:28 | at com.inductiveautomation.xopc.client.stack.SerialExecutionQueue$PollAndExecute.run(SerialExecutionQueue.java:75)
INFO | jvm 1 | 2014/05/13 08:54:28 | at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
INFO | jvm 1 | 2014/05/13 08:54:28 | at java.util.concurrent.FutureTask.run(FutureTask.java:262)
INFO | jvm 1 | 2014/05/13 08:54:28 | at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
INFO | jvm 1 | 2014/05/13 08:54:28 | at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
INFO | jvm 1 | 2014/05/13 08:54:28 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
INFO | jvm 1 | 2014/05/13 08:54:28 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
INFO | jvm 1 | 2014/05/13 08:54:28 | at java.lang.Thread.run(Thread.java:745)
INFO | jvm 1 | 2014/05/13 08:54:59 | WARN [TCPServerChannel ] [08:54:59,485]: Connection lost due to IOException.
INFO | jvm 1 | 2014/05/13 08:54:59 | java.io.IOException: End of stream reached.
INFO | jvm 1 | 2014/05/13 08:54:59 | at com.inductiveautomation.iosession.socket.AsyncSocketIOSession.run(AsyncSocketIOSession.java:74)
INFO | jvm 1 | 2014/05/13 08:54:59 | at java.lang.Thread.run(Thread.java:745)
INFO | jvm 1 | 2014/05/13 08:55:22 | WARN [TCPServerChannel ] [08:55:22,517]: Connection lost due to IOException.
INFO | jvm 1 | 2014/05/13 08:55:22 | java.io.IOException: End of stream reached.
INFO | jvm 1 | 2014/05/13 08:55:22 | at com.inductiveautomation.iosession.socket.AsyncSocketIOSession.run(AsyncSocketIOSession.java:74)
INFO | jvm 1 | 2014/05/13 08:55:22 | at java.lang.Thread.run(Thread.java:745)
INFO | jvm 1 | 2014/05/13 08:55:22 | INFO [ActivateSessionService ] [08:55:22,594]: Anonymous user connected.
INFO | jvm 1 | 2014/05/13 08:55:22 | WARN [TCPServerChannel ] [08:55:22,731]: Connection lost due to IOException.
INFO | jvm 1 | 2014/05/13 08:55:22 | java.io.IOException: End of stream reached.
INFO | jvm 1 | 2014/05/13 08:55:22 | at com.inductiveautomation.iosession.socket.AsyncSocketIOSession.run(AsyncSocketIOSession.java:74)
INFO | jvm 1 | 2014/05/13 08:55:22 | at java.lang.Thread.run(Thread.java:745)
INFO | jvm 1 | 2014/05/13 08:55:28 | INFO [SecureRandomProvider ] [08:55:28,566]: Secure random seed generated in 192931ms
INFO | jvm 1 | 2014/05/13 08:55:42 | Exception in thread “TCPAcceptor” java.lang.OutOfMemoryError: Java heap space
INFO | jvm 1 | 2014/05/13 08:55:42 | at java.nio.HeapByteBuffer.(HeapByteBuffer.java:57)
INFO | jvm 1 | 2014/05/13 08:55:42 | at java.nio.ByteBuffer.allocate(ByteBuffer.java:331)
INFO | jvm 1 | 2014/05/13 08:55:42 | at com.inductiveautomation.xopc.common.stack.UAChannel.(UAChannel.java:1494)
INFO | jvm 1 | 2014/05/13 08:55:42 | at com.inductiveautomation.xopc.server.stack.TCPServerChannel.(TCPServerChannel.java:76)
INFO | jvm 1 | 2014/05/13 08:55:42 | at com.inductiveautomation.xopc.server.core.XOPCServer$TCPAcceptor.run(XOPCServer.java:440)
INFO | jvm 1 | 2014/05/13 08:55:42 | at java.lang.Thread.run(Thread.java:745)

Hi,

I’m not exactly sure why you’re running out of memory, I suppose it would depending on how many tags those 20 connections are trying to access, but you might be able to allocate more memory to Ignition for the time being and get around the problem at this level of use…
Changing amount of memory allocated to Ignition

Regards,