Subject: bug#17168: 24.3.50; Segfault at mark_object

From: Eli Zaretskii <[email-masked]>
Date: Sun, 06 Apr 2014 18:06:56 +0300

> From: Stefan Monnier <[email-masked]>
> Date: Sun, 06 Apr 2014 08:36:02 -0400
> Cc: Dmitry Antipov <[email-masked]>, [email-masked]
> 
> > 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?
> 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.

As an alternative, would it make sense to try to understand why the
problems started when they did?  IOW, how come we never saw this until
now?

In http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15583#23, Richard
provided the last good revno (113938) and the first bad one (114268);
I looked at that range of revisions, and 114156 looks relevant.  How
about if we revert it and see if the problems go away?