EMX CAN could not recover from RXOver error

Hi,

my EMX is connected to a CAN bus, where ~200 messages are sent every second. Everythings is working fine, until I pause EMX for some debugging reasons. Obviously, all buffers are quickly overwhelmed and once I continue executing the program, I receive a CAN.Error.RXOver error. What is bad, is that EMX continues firing these RXOver events with every new burst of CAN messages, again and again. DataReceivedEvent is no longer fired.

How to tell EMX “thanks, I’ve got it, please operate normally from this moment on”? Reseting CAN does not help.

Size of the software buffer is 1000. Enlarging it or using CAN filters is not an option.

P.S. In between these RXOver errors, Debug output sometimes prints this (which somewhat freaks me out):

GC: 379msec 1312884 bytes used, 11728164 bytes available
Type 0F (STRING ): 2124 bytes
Type 11 (CLASS ): 95340 bytes
Type 12 (VALUETYPE ): 2976 bytes
Type 13 (SZARRAY ): 80208 bytes
Type 15 (FREEBLOCK ): 11728164 bytes
Type 16 (CACHEDBLOCK ): 360 bytes
Type 17 (ASSEMBLY ): 25704 bytes
Type 18 (WEAKCLASS ): 48 bytes
Type 19 (REFLECTION ): 48 bytes
Type 1B (DELEGATE_HEAD ): 540 bytes
Type 1C (DELEGATELIST_HEAD ): 48 bytes
Type 1D (OBJECT_TO_EVENT ): 144 bytes
Type 1E (BINARY_BLOB_HEAD ): 1095660 bytes
Type 1F (THREAD ): 2304 bytes
Type 20 (SUBTHREAD ): 288 bytes
Type 21 (STACK_FRAME ): 3444 bytes
Type 23 (LOCK_HEAD ): 120 bytes
Type 24 (LOCK_OWNER_HEAD ): 48 bytes
Type 26 (WAIT_FOR_OBJECT_HEAD): 96 bytes
Type 27 (FINALIZER_HEAD ): 408 bytes
Type 31 (IO_PORT ): 144 bytes
Type 34 (APPDOMAIN_HEAD ): 72 bytes
Type 36 (APPDOMAIN_ASSEMBLY ): 2760 bytes

Those errors are queued and there is no way to flush these “event” queues as they have many things, not just CAN.

The way would be to stop CAN before you stop fro debugging or unplug the cable. There maybe other ways as well.