GNU bug report logs - #19883
Smob's mark_smob has become unreliable in Guile 2.x

Previous Next

Package: guile;

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):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Andy Wingo <wingo <at> pobox.com>
Cc: 19883 <at> debbugs.gnu.org, David Kastrup <dak <at> gnu.org>
Subject: Re: bug#19883: Correction for backtrace
Date: Thu, 23 Jun 2016 15:12:34 +0200
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.