2008/11/13 Ludovic Courtès <[EMAIL PROTECTED]>: > Hi, > > "Linas Vepstas" <[EMAIL PROTECTED]> 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