Subject: Re: bug#24640: Crashes in 25.1

From: Eli Zaretskii <[email-masked]>
Date: Sun, 09 Oct 2016 10:05:22 +0300

> From: Reuben Thomas <[email-masked]>
> Date: Sat, 8 Oct 2016 23:08:51 +0100
> Cc: [email-masked]
> 
> ​In frame #0, the code reads:
> 
> if (XMISCANY (obj)->gcmarkbit)
> break;
> 
> at this point obj is 33, XMISCANY(obj) is 20, and gdb tells me "Cannot access memory at address 0x20".

What do the following commands say in that frame #0:

 (gdb) p obj
 (gdb) xtype

> ​If it helps, I'm happy to arrange some sort of live chat to get through the debugging process quicker.

The only efficient way to speed up debugging (or rather to make sure
it succeeds at all) is for you to come up with a reproducible recipe
and post here all the files needed for reproducing the crashes.

>From what I see in the backtraces, your setup fires a timer that runs
some complicated Lisp, and that Lisp somehow corrupts some Lisp
objects, which then cause crashes during GC.  I don't see how this can
be debugged at all, except by someone who actually has this on his/her
machine and knows how to debug these problems.  And the first step is
to stop using an optimized build, because it makes debugging much
harder if not impossible.

If you are willing to try the debugging yourself, there's some advice
in etc/DEBUG (search for "Debugging problems which happen in GC").

Do I understand correctly that this worked for you with Emacs 24.5?

Thanks.