Subject: Re: bug#12402: 24.2.50; Crash switching to ibuffer

From: Eli Zaretskii <[email-masked]>
Date: Thu, 20 Sep 2012 05:56:05 +0300

> From: Andy Moreton <[email-masked]>
> Date: Wed, 19 Sep 2012 22:49:23 +0100
> 
> On Mon 10 Sep 2012, Eli Zaretskii wrote:
> 
> >> > Any chance of a repeatable recipe?
> 
> I've not seen this precise crash again on newer trunk revisions. I have
> seen a GC-related abort appearing recently, such as this from r110025.
> It seems to take a day or two of use for it to appear:
> 
> #1  0x01153656 in emacs_abort () at w32fns.c:7215
> #2  0x010554e4 in sys_kill (pid=0x58c, sig=0x16) at w32proc.c:1433
> #3  0x010014d8 in fatal_error_backtrace (sig=0x16, backtrace_limit=0x7fffffff) at emacs.c:332
> #4  0x010434cf in die (msg=0x15210ac "assertion failed: !VECTOR_MARKED_P (ptr)", file=0x151f181 "alloc.c", line=0x169d) at alloc.c:6743
> #5  0x010411a4 in mark_vectorlike (ptr=0x3867de0) at alloc.c:5789
> #6  0x01041b04 in mark_object (arg=0x3867de5) at alloc.c:6050
> 
> ...many mark_object and mark_vectorlike calls...

I'm quite sure that this is a different problem.  The original abort
was in ralloc.c, and it was not during GC.  This one seems like some
GC bug.

I've seen the abort in ralloc.c as well, and I'm currently testing a
provisional fix.

If you can follow the advice in etc/DEBUG and try to find out which
data structure caused the abort in GC, that would add valuable
information.

Thanks.