GNU bug report logs - #17168
24.3.50; Segfault at mark_object

Previous Next

Package: emacs;

Reported by: Nicolas Richard <theonewiththeevillook <at> yahoo.fr>

Date: Wed, 2 Apr 2014 07:45:05 UTC

Severity: important

Tags: moreinfo

Merged with 15583, 15688, 15719, 15972, 16278, 16521, 17167, 17184

Found in version 24.3.50

Done: Stefan Monnier <monnier <at> IRO.UMontreal.CA>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Daniel Colascione <dancol <at> dancol.org>
To: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Cc: Dmitry Antipov <dmantipov <at> yandex.ru>, 17168 <at> debbugs.gnu.org
Subject: bug#17168: 24.3.50; Segfault at mark_object
Date: Sun, 06 Apr 2014 08:46:59 -0700
[Message part 1 (text/plain, inline)]
On 04/06/2014 05:36 AM, Stefan Monnier wrote:
>> This scheme works and passes Dmitry's test, but the resulting
>> Vpure_reachable vector has over 8,000 items. Most of these items are
>> ordinary interned symbols.
> 
> What objects are there besides symbols in Vpure_reachable?

Just symbols for me.

> If we can reduce Vpure_reachable to only contain symbols, then we can
> replace it with a `pinned' bit in the Lisp_Symbol struct and then walk
> the list of symbols during mark, marking all those symbols with the
> `pinned' bit.

The pinned bit approach is exactly what I implemented, except that we
walk obarray, like we already do, instead of all symbols. Your approach
would require that we check for non-symbols in purecopy and reject them,
and it'd have a bigger performance impact, since we'd then need to walk
the entire symbol list essentially twice.

I'd strongly prefer the fully general approach in my patch. It isn't
*that* complicated.

[signature.asc (application/pgp-signature, attachment)]

This bug report was last modified 11 years and 47 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.