[Top][All Lists]

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

Re: Preview: portable dumper

From: Daniel Colascione
Subject: Re: Preview: portable dumper
Date: Wed, 14 Feb 2018 16:42:08 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0

On 02/14/2018 01:03 PM, Philipp Stephani wrote:

Eli Zaretskii <address@hidden <mailto:address@hidden>> schrieb am Di., 13. Feb. 2018 um 17:39 Uhr:

     > From: Daniel Colascione <address@hidden
     > Date: Mon, 12 Feb 2018 12:18:36 -0800
     > I've pushed the portable dumper to the pdumper Savannah branch. It
     > should support a fully PIC Emacs.

    Thanks.  I'd urge people to try this branch and report any issues they

Got a crash when building on Debian testing. I've attached the output of 'bt full'.

Thanks. There were two bugs, both relating to conservative GC:

1) To make conservative GC work, we record in the dump the start position and Lisp type of each object in the dump. The problem was that we were recording object-start records for objects in the discardable region. With the right stack garbage as input, conservative GC would find one of these object-start records, use it as evidence that it was looking at a real object, then call mark_object, which died because it knows that objects in the discardable region shouldn't be live. Fixed by just not emitting these discardable-region object-start records anymore.

2) When evaluating a Lisp_Object on the stack in mark_maybe_object, occasionally, we can find a word with a valid pointer component but the wrong type tags. Now we check that the Lisp_Object's tagged type matches the actual type of the object in the dump.

I don't know why it was so hard to repro these on my machine. I had to bootstrap a few times before Emacs began crashing.

reply via email to

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