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

Reply via email to