[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Serious GC bug in GUILE 1.6 CVS
From: |
Marius Vollmer |
Subject: |
Re: Serious GC bug in GUILE 1.6 CVS |
Date: |
Tue, 07 Sep 2004 17:45:09 +0200 |
User-agent: |
Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3 (gnu/linux) |
Han-Wen Nienhuys <address@hidden> writes:
> Compile GUILE with
>
> #define SCM_DEBUG_CELL_ACCESSES 1
>
> in config.h. Then apply this patch
>
> + (set-debug-cell-accesses! 5000)
>
> then compilation bombs out with:
I have found the bug. init_heap_seg was using SCM_SET_CELL_TYPE to
initialize fresh memory to 'free cells', but with DEBUG_CELL_ACCESSES,
SCM_SET_CELL_TYPE could run a GC, which might see the half initialized
heap segment during conservative scanning and would access
uninitialozed memory which caused it to fail.
I have fixed this by using the new macro SCM_SET_FREE_CELL_TYPE, which
does no checking.
- Re: Serious GC bug in GUILE 1.6 CVS,
Marius Vollmer <=