emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GC and stack marking


From: Daniel Colascione
Subject: Re: GC and stack marking
Date: Tue, 20 May 2014 12:12:45 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0

On 05/20/2014 09:57 AM, Eli Zaretskii wrote:
>> From: Stefan Monnier <address@hidden>
>> Cc: address@hidden, Fabrice Popineau <address@hidden>
>> Date: Tue, 20 May 2014 09:44:05 -0400
>>
>>> The short version of the question is: is it possible that a Lisp
>>> object which is no longer referenced by anything won't be GC'ed
>>> because it is marked by mark_stack due to some kind of coincidence?
>>
>> Yes, of course, it's what makes a conservative marking conservative.
> 
> I have nothing against conservative, but this failure to GC is too
> spectacular to ignore.
> 
>>> So the huge hash-table gets dumped into the emacs executable, and
>>
>> That's bad luck, indeed.
>>
>>> causes all kinds of trouble in the dumped Emacs.
>>
>> But it shouldn't cause any trouble (other than extra memory use).
> 
> It does, due to all kinds of subtleties.  The result is that the
> large_vectors linked list gets dumped with a pointer to a non-existent
> memory, and the dumped Emacs then crashes on the first GC when it
> tries to traverse that linked list.

Can you elaborate on how that happens? This behavior sounds like a plain
GC bug.

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]