guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] fix for Re: crash in gc with upside-down stack


From: Neil Jerram
Subject: Re: [PATCH] fix for Re: crash in gc with upside-down stack
Date: Sun, 16 Nov 2008 00:17:14 +0000

2008/11/13 Ludovic Courtès <address@hidden>:
> Hi,
>
> "Linas Vepstas" <address@hidden> writes:
>
>> The patch below fixes a crash during garbage collection, where, during
>> the mark-stack phase, the top and bottom of the stack are found to be
>> in backwards order, typically because scm_with_guile() was called when
>> the stack is much shorter than when a thread was first guilified. That
>> is, the stack base pointer is stale, and can be inverted from the stack
>> top. If GC runs due to activity in some other thread, the stale base
>> pointer leads to the crash (as base-top is approximately 2^32 or 2^64).
>
> Good catch!  I applied it, along with a test case that reproduced the
> problem:
>
>  
> http://git.savannah.gnu.org/gitweb/?p=guile.git;a=commitdiff;h=cd1a1e47b5e781277560d9933a44e6aabd0c9c49

Yes indeed.  Nice work Linas, and nice test Ludovic.

    Neil




reply via email to

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