guile-devel
[Top][All Lists]
Advanced

[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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]