I have a a batch processe called packet_processor running on a Servoy 4.1 server (Mac OSX, Java 1.5) It receives/sends/processes udp packets using the udp plugin.
This process periodically generates a ConcurrentModification exception. Usually it just keeps working despite the error, but recently this error stopped it from processing packets, which eventually lead to “OutOfMemoryError: Java heap space” as unprocessed packet data accumulated in memory, which eventually brought the server down altogether. Interesting to note that scheduled jobs in the packet_processor continued running normally, but the main packet processing loop just stopped running.
I’d like to know what this ConcurrentModification exception means and how can I avoid it? And if I can’t avoid it, would it be safe for me to use the robot plugin to automatically stop and restart the batch process when the error is encountered?
Thank you.