Hi,
I have an application (NETMF 4.3) running on a G120 that is always freezing on the second execution of the garbage collector, either when forced to run or when left to run when it chooses. The garbage collector executes after ~7 minutes, so the application can run without error for ~14 minutes before freezing when the garbage collector executes for the second time, then the device will stay frozen and must be restarted.
The code is too big to post here, and in any case would not run without the exact connected hardware, so I’m wondering if anyone has any experience with something similar that they can share to point me in the right direction? What are the possible scenarios where the garbage collector causes the device to freeze? As the application runs for a period of time without error how can I track down the offending piece of code?
Below is an example of the debug output from each garbage collector execution before the device freezes.
Thanks in advance.
[quote] GC: 105msec 404208 bytes used, 6935460 bytes available
Type 0F (STRING ): 1728 bytes
Type 11 (CLASS ): 8388 bytes
Type 12 (VALUETYPE ): 144 bytes
Type 13 (SZARRAY ): 3768 bytes
Type 03 (U1 ): 1596 bytes
Type 04 (CHAR ): 492 bytes
Type 07 (I4 ): 60 bytes
Type 0C (R8 ): 144 bytes
Type 0F (STRING ): 168 bytes
Type 11 (CLASS ): 1308 bytes
Type 15 (FREEBLOCK ): 6935460 bytes
Type 16 (CACHEDBLOCK ): 384 bytes
Type 17 (ASSEMBLY ): 28248 bytes
Type 18 (WEAKCLASS ): 48 bytes
Type 19 (REFLECTION ): 168 bytes
Type 1B (DELEGATE_HEAD ): 432 bytes
Type 1D (OBJECT_TO_EVENT ): 408 bytes
Type 1E (BINARY_BLOB_HEAD ): 352212 bytes
Type 1F (THREAD ): 1152 bytes
Type 20 (SUBTHREAD ): 144 bytes
Type 21 (STACK_FRAME ): 1152 bytes
Type 27 (FINALIZER_HEAD ): 624 bytes
Type 31 (IO_PORT ): 612 bytes
Type 34 (APPDOMAIN_HEAD ): 72 bytes
Type 36 (APPDOMAIN_ASSEMBLY ): 4524 bytes
GC: 106msec 403488 bytes used, 6936180 bytes available
Type 0F (STRING ): 1728 bytes
Type 11 (CLASS ): 8148 bytes
Type 12 (VALUETYPE ): 144 bytes
Type 13 (SZARRAY ): 3720 bytes
Type 03 (U1 ): 1572 bytes
Type 04 (CHAR ): 492 bytes
Type 07 (I4 ): 36 bytes
Type 0C (R8 ): 144 bytes
Type 0F (STRING ): 168 bytes
Type 11 (CLASS ): 1308 bytes
Type 15 (FREEBLOCK ): 6936180 bytes
Type 16 (CACHEDBLOCK ): 48 bytes
Type 17 (ASSEMBLY ): 28248 bytes
Type 18 (WEAKCLASS ): 48 bytes
Type 19 (REFLECTION ): 168 bytes
Type 1B (DELEGATE_HEAD ): 432 bytes
Type 1D (OBJECT_TO_EVENT ): 408 bytes
Type 1E (BINARY_BLOB_HEAD ): 352248 bytes
Type 1F (THREAD ): 1536 bytes
Type 20 (SUBTHREAD ): 192 bytes
Type 21 (STACK_FRAME ): 612 bytes
Type 27 (FINALIZER_HEAD ): 600 bytes
Type 31 (IO_PORT ): 612 bytes
Type 34 (APPDOMAIN_HEAD ): 72 bytes
Type 36 (APPDOMAIN_ASSEMBLY ): 4524 bytes
[/quote]