GNU bug report logs - #6301
23.2.50; GC may lose Lisp objects in the image cache

Previous Next

Package: emacs;

Reported by: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>

Date: Sat, 29 May 2010 15:50:02 UTC

Severity: normal

Tags: patch

Found in version 23.2.50

Done: Chong Yidong <cyd <at> stupidchicken.com>

Bug is archived. No further changes may be made.

Full log


Message #17 received at 6301 <at> debbugs.gnu.org (full text, mbox):

From: Chong Yidong <cyd <at> stupidchicken.com>
To: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>
Cc: 6301 <at> debbugs.gnu.org
Subject: Re: 23.2.50; GC may lose Lisp objects in the image cache
Date: Sun, 21 Nov 2010 19:45:22 -0500
> Currently, Fgarbage_collect calls mark_terminals after marking
> staticpro'ed objects.  Terminal objects need a special marking
> strategy with respect to image cache, but if a terminal object is
> reachable from some staticpro'ed object, then it is marked normally
> (i.e., without considering image cache).  As a result, Lisp objects in
> the image cache might be collected though they should have been
> marked.
>
> Also, as for stack marking, I noticed that about half of the stack
> elements have Lisp_Int* tags at least on Mac OS X.  Such an element
> might be either a real Lisp integer or an aligned pointer value.  We
> can omit mem_find calls for them by checking the tag value early.

Thanks.  I've committed your patches (the former to emacs-23, the latter
to the trunk).  Sorry for the long delay.




This bug report was last modified 14 years and 183 days ago.

Previous Next


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