Subject: bug#5856: 24.0.50; Crash in redisplay

From: Jan Djärv <[email-masked]>
Date: Thu, 08 Apr 2010 09:26:20 +0200

Eli Zaretskii skrev:
>> Date: Thu, 08 Apr 2010 08:16:13 +0200
>> From: Jan Djärv <[email-masked]>
>> CC: [email-masked]
>>
>>>> 12775	  if (!(BUFFERP (glyph->object) && glyph->charpos == pt_old)
>>> Ouch!  My bad, probably.
>>>
>>> First, what caused the crash?  I think it's BUFFERP, so please tell
>>> what is glyph->object.
>>>
>> (gdb) whatis glyph->object
>> type = Lisp_Object
>> (gdb) p glyph->object
>> $4 = 8079492959817000301
>> (gdb) pp glyph->object
>> #<INVALID_LISP_OBJECT 0x7020200a3b29656d>
> 
> Yep, it's an invalid object, somehow.  I wonder how did that happen...
> 
> (Btw, in a crashed session, it is not safe to use pp and pr: they call
> functions in Emacs, which could themselves crash, depending on the
> extent of damage caused by the original crash.  It is better to use
> "xtype" followed by an xSOMETHING command, where SOMETHING depends on
> what "xtype" prints; for example, "xbuffer" if "xtype" says the object
> is a buffer.)

Ok.

> 
>> It is correct, I did C-x b and typed an x in the minibuffer when the crash 
>> occurred.  The contents of the minibuffer is two lines.
> 
> And it looks like you are using some optional feature for minibuffer
> completion?  IOW, what should I do in "emacs -Q" to see the possible
> completions as I see them in the output of "pgrow", viz.
> 
>   Switch to buffer (default xsettings.h):  x(settings.c,lwmenu.c,lwmenu.h,fns.c,te

M-x icomplete-mode

> 
> I'd like to try to reproduce this problem.

This can take some time.  Emacs crashed for me, and then I restarted it from 
gdb.  It took about 3 hours before it crashed again, and I'm sure I've made 
many C-x b in that time.

	Jan D.