This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Boehm's GC crashed by adjustment of GC root set
- From: Daniel Berlin <dberlin at dberlin dot org>
- To: Laurynas Biveinis <laurynas dot biveinis at gmail dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Sat, 17 Jun 2006 19:40:53 -0400
- Subject: Re: Boehm's GC crashed by adjustment of GC root set
- References: <d1e3ff2b0606170419s37a2543fy@mail.gmail.com>
Laurynas Biveinis wrote:
> Hi,
>
> So far I've been debugging GCC bootstrap failures with Boehm's GC, and
> now I'm stuck.
>
> I used to register all GC roots at the startup of GCC, including
> stringpool roots. That worked fine until first ht_expand() call, which
> moves identifier hash table around in the memory and Boehm's GC still
> uses its old location as a root segment. Oops. But if I try to remove
> the old root segment and register the current one with
> GC_remove_roots() and GC_add_roots(), first GC_collect() crashes with
>
Are you trying to do incremental marking?
If the root set changes in the middle of an incremental mark and it's
still got things from the old root set to mark, i bet it blows up, :)
--Dan