This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

SIGSEGV in GC_mark_from



Here's what I'm puzzling over today:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 17 (LWP 3)]
GC_mark_from (mark_stack_top=0xfd7c57f8, mark_stack=0xfd7b0000, 
    mark_stack_limit=0xfd7d0000) at ../../../boehm-gc/mark.c:654
654               deferred = *limit;

This is reproducible but not deterministic.  "limit" looks like a
legal address but doesn't seem to be mapped:

(gdb) print limit
$1 = (word *) 0xfe8780b0

(gdb) call GC_print_heap_sects()
Total heap size: 16662528
Section 0 from 0xfe940000 to 0xfe950000 0/16 blacklisted
Section 1 from 0xfe8e0000 to 0xfe8f0000 0/16 blacklisted
Section 2 from 0xfe8c0000 to 0xfe8d0000 0/16 blacklisted
Section 3 from 0xfe880000 to 0xfe892000 0/18 blacklisted
Section 4 from 0xfe860000 to 0xfe878000 0/24 blacklisted
...

The descriptor doesn't look right either:

(gdb) print (void *)descr
$37 = (void *) 0xfd355af0

Any ideas?  This is on sparc-sun-solaris2.7.

Jeff



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]