Subject: Re: bug#24764: 25.1.50; Another crash in automatic gc

From: Eli Zaretskii <[email-masked]>
Date: Sat, 22 Oct 2016 15:21:53 +0300

> Date: Sat, 22 Oct 2016 15:01:25 +0300
> From: Eli Zaretskii <[email-masked]>
> Cc: [email-masked], [email-masked]
> 
> For starters, I'd try to see whether 'tail' and 'prev' always have
> these values when GC crashes.

Another question: is the buffer 'b' here:

> 0x000000000058aae0 in unchain_marker (marker=0x88e9968) at marker.c:605
> 605	      for (tail = BUF_MARKERS (b); tail; prev = &tail->next, tail = *prev)

a live buffer, or is it a buffer that was killed?  A buffer is live
if its name is a string, not nil.  Try this:

  (gdb) p b->name_
  (gdb) xpr

(The "xpr" command will only work if you "source .gdbinit" from the
Emacs src directory.)