[Gc] Segfault in GC_mark_from in libgc 7.1 (released tarball)

Bruce Hoult bruce at hoult.org
Tue Aug 12 15:17:56 PDT 2008


2008/8/13 Klaus Treichel <ktreichel at web.de>:
> Hi,
>
> what i found out until now is:
>
> 1. limit is an inaccessible address
> (gdb) print limit
> $26 = 0xb55010 <Address 0xb55010 out of bounds>
>
> where 0xb54fff is accessible.
>
> 2. limit is in the range between least_ha and greatest_ha so the check
> doesn't prevent the segfault.

Are least_ha and greatest_ha both accessible?

If so then I guess the OS has given the GC two chunks of memory (in a
heap expansion) with an inaccessible region in between.  I think that
would violate an assumption in the marking code.


More information about the Gc mailing list