On Mon 29 Sep 2008 09:35, [EMAIL PROTECTED] (Ludovic Courtès) writes: > Hi! > > Andy Wingo <[EMAIL PROTECTED]> writes: > >> Current plan is to either look at that GC leak, if I'm feeling >> adventurous, or otherwise keep plugging away at the test suite. Most >> things pass but I do find some random bugs (46d2d6f80 took me a long >> time to figure out). > > I see this change (in 877ffa3f9c8b1d58aedff2821ee1811c6f3c3622): > > @@ -331,7 +331,7 @@ vm_mark (SCM obj) > > /* mark the stack conservatively */ > scm_mark_locations ((SCM_STACKITEM *) vp->stack_base, > - vp->sp - vp->stack_base + 1); > + sizeof (SCM)*(vp->sp + 1 - vp->stack_base)); > > Assuming the `sp' and `stack_base' fields are `SCM_STACKITEM *', this > change yields over-marking, which might explain why it fixes a problem > with missed references (as noted in the log) as a side effect.
Yep. It was uncovered in 7ff017002ddc980f684120653549a10c6c7cde5c; seems it has been over-marking since 2001 :) > BTW, I'm not sure what you mean by "GC leak" (missed references or > really ever-growing heap?) and by "plugging away at the test suite". By GC leak I meant a missed reference (when the marking is done "correctly"). By "plugging away at the test suite", I mean, getting more test cases (the Guile ones, not the VM ones) to run. Currently there are a handful that fail. Cheers, Andy -- http://wingolog.org/