GNU bug report logs -
#19883
Smob's mark_smob has become unreliable in Guile 2.x
Previous Next
Reported by: David Kastrup <dak <at> gnu.org>
Date: Mon, 16 Feb 2015 17:16:02 UTC
Severity: normal
Done: Andy Wingo <wingo <at> pobox.com>
Bug is archived. No further changes may be made.
Full log
Message #64 received at 19883 <at> debbugs.gnu.org (full text, mbox):
Andy Wingo <wingo <at> pobox.com> skribis:
> On Thu 26 Feb 2015 16:30, David Kastrup <dak <at> gnu.org> writes:
>
>> Try ./test 2 2000 200
>
> I can reproduce the crash with your test case, thanks :) The patch below
> fixes the bug for me. WDYT Ludovic?
>
> Andy
>
> commit db30120fc3a1727d8f221cbb014314f2babf841e
> Author: Andy Wingo <wingo <at> pobox.com>
> Date: Thu Jun 23 11:47:42 2016 +0200
>
> Fix race between SMOB marking and finalization
>
> * libguile/smob.c (clear_smobnum): New helper.
> (finalize_smob): Re-set the smobnum to the "finalized smob" type
> before finalizing. Fixes #19883.
> (scm_smob_prehistory): Pre-register a "finalized smob" type, which has
> no mark procedure.
This LGTM, nice hack!
Do you think the test case could be added to the test suite somehow?
Thank you,
Ludo’.
This bug report was last modified 8 years and 304 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.