Hello! Andy Wingo <wi...@pobox.com> writes:
> On Mon 25 Apr 2011 15:53, l...@gnu.org (Ludovic Courtès) writes: [...] >> Currently they all pass, but ‘test-scm-spawn-thread’ hits a libgc >> assertion failure (“Duplicate large block deallocation”) once every 5 >> runs or so: > > I guess we disable this one then? > > That code always seemed a little fishy to me: > > /* Ensure the signal handling thread has been launched, because we might be > shutting it down. */ > scm_i_ensure_signal_delivery_thread (); > > Perhaps we can avoid spawning a thread in the key destructor. I apparently found a fix: calling ‘scm_i_ensure_signal_delivery_thread’ in Guile mode. I *think* the stack of ‘GC_pthread_create’ wasn’t scanned, so the area pointed to by its variable ‘si’ would be reclaimed before the function completes, leading to the “duplicate deallocation” error. Pfffeww. Thanks, Ludo’.