Subject: Re: bug#10159: auto-complete causes crash in emacs HEAD

From: Christopher Monsanto <[email-masked]>
Date: Sat, 22 Sep 2012 08:19:11 -0400

Same here.

(gdb) pp string
#("                                    " 0 36 (face popup-tip-face
keymap nil popup-item ""))

Thanks. Seems to me that this value is coming from xdisp.c,
display_line, var n_glyphs_before, derived from row->used[TEXT_AREA]
(line 19425). (I wish I knew what a "struct it" is, not the most
descriptive name! :-))

Christopher Monsanto
[email-masked]  --  http://monsan.to/

On Sat, Sep 22, 2012 at 7:58 AM, Eli Zaretskii <[email-masked]> wrote:
>> From: Christopher Monsanto <[email-masked]>
>> Date: Sat, 22 Sep 2012 07:12:45 -0400
>>
>> Sorry, there should not be a space in "def ". "def" is what will do it.
>
> Neither "def " nor "def" reproduce the crash for me.  But I succeeded
> in reproducing a very similar crash anyway.  The problem seems to be
> that the display code runs off the end of an overlay string.  To
> verify that this is what happens to you as well, please do
>
>  (gdb) frame 1
>  (gdb) pp string
>
> (If 'pp' doesn't work, you will need to type
>
>  (gdb) source /path/to/emacs/src/.gdbinit
>
> to make that command available to GDB.)
>
> You should see that 'string' is shorter than 43 characters, whereas
> this part of your backtrace:
>
>   #1  0x0000000000663076 in composition_compute_stop_pos (cmp_it=0x7fffffff9148, charpos=43, bytepos=44, endpos=43, string=25414881)
>       at composite.c:1053
>
> indicates that the code attempted to access character number 43.
>
> In my case, 'charpos' is 41, 'bytepos' is 42, and 'string' is 36
> characters long.
>
> I'm looking into the cause of this bug.