[Gc] GC segfault on ARM

Brian Koropoff briank at marakicorp.com
Wed Aug 17 14:01:42 PDT 2005


While attempting to run the Mono .NET implementation on an ARM linux 
system, I encountered a segmentation fault almost immediately upon 
program startup.  A backtrace indicates that it occurs in the garbage 
collector:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 32700)]
GC_push_all_eager (bottom=0x0, top=0x1990a8 "") at mark.c:1468
1468            q = *p;
(gdb) bt
#0  GC_push_all_eager (bottom=0x0, top=0x1990a8 "") at mark.c:1468
#1  0x000b9ef8 in pthread_push_all_stacks () at pthread_stop_world.c:266
#2  0x000b9fac in GC_push_all_stacks () at pthread_stop_world.c:297
#3  0x000b5848 in GC_push_roots (all=1, cold_gc_frame=0xbefffa4c "")
  at mark_rts.c:643
#4  0x000b4c60 in $a () at mark.c:326
#5  0x000b4c60 in $a () at mark.c:326
Previous frame identical to this frame (corrupt stack?)

Since the segfault could be caused by another part of Mono corrupting GC 
data structures, I've also contacted the Mono development list about 
this issue.  The system in question is an IXDPG425 reference board from 
Intel with an ARM V5T (XScale) processor running linux 2.6 in big endian 
mode.  The system uses glibc compiled with LinuxThreads thread support.  
If there is anything in particular that I should investigate as being a 
possible cause, or any further information I could provide that might 
help diagnose the problem, please let me know.

Regards,
Brian Koropoff


More information about the Gc mailing list