Subject: Re: bug#18815: 25.0.50; emacs crash

From: Yagnesh Raghava Yakkala <[email-masked]>
Date: Tue, 28 Oct 2014 03:36:04 +0900

Hello Eli,

On Oct 28 2014, Eli Zaretskii <[email-masked]> wrote:

>> From: Yagnesh Raghava Yakkala <[email-masked]>
>> Cc: [email-masked]
>> Date: Mon, 27 Oct 2014 07:57:40 +0900
>> 
>> (gdb) frame 5
>> #5  0x000000000050fa9d in bidi_level_of_next_char (bidi_it=0x7fffffff3768) at bidi.c:3092
>> 3092	    type = bidi_type_of_next_char (bidi_it);
>> (gdb) p bidi_it->string
>> $1 = {
>>   lstring = 17660721, 
>>   s = 0x0, 
>>   schars = 8, 
>>   bufpos = 0, 
>>   from_disp_str = false, 
>>   unibyte = true
>> }
>> (gdb) p bidi_it->string.lstring
>> $2 = 17660721
>> (gdb) xtype
>> Lisp_String
>> (gdb) xstring
>> $3 = (struct Lisp_String *) 0x10d7b30
>> " (%l,%c)"
>
> This string comes from column-number-mode.  But if I invoke
> column-number-mode, I still cannot reproduce the problem, so there's
> something else at work here.  Can you describe what you do to
> reproduce the crash?

Crashes on different tasks. Using magit, some times C-x C-f.  But one reliable
way was, selecting a url in a buffer with M-x ffap and RET.

> Also, please show what the following commands produce:
>
>  (gdb) frame 3
>  (gdb) p bidi_it->charpos
>  (gdb) p bidi_it->next_for_neutral
>  (gdb) p bidi_it->prev_for_neutral
>  (gdb) p bidi_it->bracket_pairing_pos
>  (gdb) p bidi_it->bracket_enclosed_type
>  (gdb) p bidi_cache_idx
>  (gdb) p bidi_cache_start

Turns out, I don't even know how to run those commands and get the output from
gnome-terminal. With the execution of first command above, bidi.c file came
out in a little box on the top of gnome-terminal which is hindering me to copy
and paste.

Anyway, I tried "M-x gud-gdb" first time ever and got this, let me know I made
a mistake in executing listed commands.

--8<---------------cut here---------------start------------->8---
(gdb) run
Starting program: /home/yagnesh/bin/emacs 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffec5b1700 (LWP 31087)]
[New Thread 0x7fffeb29f700 (LWP 31088)]
[New Thread 0x7fffe9681700 (LWP 31089)]

bidi.c:2856: Emacs fatal error: assertion failed: bidi_it->next_for_neutral.charpos > bidi_it->charpos || (bidi_it->next_for_neutral.charpos == bidi_it->charpos && bidi_it->type == PDI)
Fatal error 6: Aborted
Backtrace:
/home/yagnesh/bin/emacs[0x59d66f]
/home/yagnesh/bin/emacs[0x573081]
/home/yagnesh/bin/emacs[0x5fb968]
/home/yagnesh/bin/emacs[0x50f332]
/home/yagnesh/bin/emacs[0x50f83c]
/home/yagnesh/bin/emacs[0x50fa9d]
/home/yagnesh/bin/emacs[0x510094]
/home/yagnesh/bin/emacs[0x45368b]
/home/yagnesh/bin/emacs[0x45396e]
/home/yagnesh/bin/emacs[0x450dbb]
/home/yagnesh/bin/emacs[0x48871a]
/home/yagnesh/bin/emacs[0x484c83]
/home/yagnesh/bin/emacs[0x4857f3]
/home/yagnesh/bin/emacs[0x4857f3]
/home/yagnesh/bin/emacs[0x4857f3]
/home/yagnesh/bin/emacs[0x4857f3]
/home/yagnesh/bin/emacs[0x48415c]
/home/yagnesh/bin/emacs[0x483cb1]
/home/yagnesh/bin/emacs[0x46eed4]
/home/yagnesh/bin/emacs[0x46448c]
/home/yagnesh/bin/emacs[0x61a4c6]
/home/yagnesh/bin/emacs[0x4643fa]
/home/yagnesh/bin/emacs[0x4632b3]
/home/yagnesh/bin/emacs[0x463d5e]
/home/yagnesh/bin/emacs[0x674772]
/home/yagnesh/bin/emacs[0x4242e9]
/home/yagnesh/bin/emacs[0x57b27e]
/home/yagnesh/bin/emacs[0x58a3ae]
/home/yagnesh/bin/emacs[0x577c32]
/home/yagnesh/bin/emacs[0x61a352]
/home/yagnesh/bin/emacs[0x5774bf]
/home/yagnesh/bin/emacs[0x6197a0]
/home/yagnesh/bin/emacs[0x57746d]
/home/yagnesh/bin/emacs[0x576a91]
/home/yagnesh/bin/emacs[0x576c79]
/home/yagnesh/bin/emacs[0x574a78]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7ffff13cab45]
/home/yagnesh/bin/emacs[0x4152d9]

Program received signal SIGABRT, Aborted.
0x00007ffff176079b in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:37
37	../nptl/sysdeps/unix/sysv/linux/pt-raise.c: No such file or directory.
(gdb) frame 5
#5  0x000000000050fa9d in bidi_level_of_next_char (bidi_it=0x7fffffff36a8) at bidi.c:3092
(gdb) p bidi_it->string
$1 = {lstring = 17660721, s = 0x0, schars = 8, bufpos = 0, from_disp_str = false, unibyte = true}
(gdb) p bidi_it->string.lstring
$2 = 17660721
(gdb) xtype
Undefined command: "xtype".  Try "help".
(gdb) source ~/git/build-emacs/emacs/src/.gdbinit
Warning: /home/yagnesh/../lwlib: No such file or directory.
SIGINT is used by the debugger.
Are you sure you want to change it? (y or n) [answered Y; input not from terminal]
DISPLAY = :0
TERM = dumb
Breakpoint 1 at 0x573002: file emacs.c, line 361.
Temporary breakpoint 2 at 0x59bd81: file sysdep.c, line 915.
(gdb) xtype
Lisp_String
(gdb) xstring
$3 = (struct Lisp_String *) 0x10d7b30
" (%l,%c)"
(gdb) frame 3
#3  0x000000000050f332 in bidi_resolve_neutral (bidi_it=0x7fffffff36a8) at bidi.c:2852
(gdb) p bidi_it->charpos
$4 = 7
(gdb) p bidi_it->next_for_neutral
$5 = {
  charpos = 7, 
  type = STRONG_L, 
  orig_type = UNKNOWN_BT
}
(gdb) p bidi_it->prev_for_neutral
$6 = {
  charpos = 6, 
  type = STRONG_L, 
  orig_type = STRONG_L
}
(gdb) p bidi_it->bracket_pairing_pos
$7 = -1
(gdb) p bidi_it->bracket_enclosed_type
$8 = UNKNOWN_BT
(gdb) p bidi_cache_idx
$9 = 3
(gdb) p bidi_cache_start
$10 = 2
(gdb)
--8<---------------cut here---------------end--------------->8---

Thanks.,
-- 
ఎందరో మహానుభావులు అందరికి వందనములు.
YYR