Hi DOJO,
For a couple of days the following notice is triggered from time to time:
Unexpected Exception [Insufficient memory to continue the execution of the program.]: Element Subscription (
Server stack trace:
at Interop.SLDataMiner.IDataMiner.NotifyDataMiner(String bstrUser, Int32 iType, Object varValue, Object varValue2, Object& pvarReturnValue)
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)
I had a look into the processes of DataMiner and none of them seem to have reached their limit, nor are there memory leaks.
Does anyone have more context into this and how to further troubleshoot it?
Hi Catarina,
The error originates in SLDataMiner (a 32-bit process) when processing an element subscription notification via .NET Remoting. Even if no process appears to be at its memory limit, 32-bit address space fragmentation can cause allocation failures well before the apparent ceiling - this matches the intermittent, recurring pattern over several days.
To investigate further:
- Check
SLDataMiner.txt/SLErrors.txtaround the error timestamps - the element name should appear in context. - In SLNetClientTest -> Diagnostics > DMA > Active Subscriptions - verify subscriptions aren't accumulating (possible subscription leak from a client not unsubscribing).
- Monitor Virtual Bytes (not just Working Set) of
SLDataMiner.exein perfmon - this reveals address space exhaustion. - Capture a memory dump with ProcDump to identify the culprit subscription:
CMD
procdump -e 1 -f "Insufficient memory" -ma -n 1 SLDataMiner.exe C:\Skyline DataMiner\Tools\Procdump
Does the error always reference the same element, and does it stop after a DMA restart?
Hi Paulo, thank you for the tips.
The issue was in fact the virtual bytes were at the maximum (4 GB) even though the memory usage seemed fine.