[Gc] Segmentation fault on out-of-memory

John Bowman imaging at math.ualberta.ca
Sun Oct 14 20:00:42 PDT 2007

Hi Hans,

In Asymptote (asymptote.sourceforge.net), instead of getting an
out-of-memory error when memory is exhausted I occasionally get a
segmentation fault from gc-7.0 and also from the latest cvs version.
This doesn't seem to happen with gc6.8, however (I'm using gcc-4.1.2):

Program received signal SIGSEGV, Segmentation fault.
0x082b34eb in GC_mark_from (mark_stack_top=0x994e580, mark_stack=0x994e010, 
    mark_stack_limit=0x9956010) at mark.c:834
834               PUSH_CONTENTS((ptr_t)current, mark_stack_top,

Expanding the preprocessor macro, it appears that the error occurs here:

	      size_t gran_offset = my_hhdr -> hb_map[gran_displ];

gdb reports the value of gran_displ as 511

Is it possible that this is a bug in gc-7.0?

Thanks for developing this very useful garbage collector.

-- John Bowman
University of Alberta

More information about the Gc mailing list