Subject: Re: bug#12579: 24.1; Emacs 24.1 / 24.2 (daily) crashes

From: "Fabrice Niessen" <[email-masked]>
Date: Thu, 08 Nov 2012 11:17:08 +0100

Hi Eli,

Eli Zaretskii wrote:
>> New infloop. Same context (completing pattern for Helm-for-files). This time,
>> with a correct .gdbinit file.
>
> OK, thanks.
>
> I think you can stop posting the backtraces, they all look the same.

OK.

> Next, I'd like to see which process is being waited for.  To this end,
> next time you have an infloop, go to this stack frame:
>
>  #14 0x0102ffff in status_notify (deleting_process=0x3e25e70) at process.c:6606
>
> and display the details of the process being deleted.  Like this:
>
>   (gdb) frame 14
>
> (The number 14 comes from #14 on the above line from backtrace.  It
> could be a different number, so please look up the frame which is
> inside status_notify function at line 6606 of process.c.)
>
>   (gdb) print *p
>   (gdb) print p->name
>   (gdb) xstring
>   (gdb) print p->command
>   (gdb) xtype
>
> If the last command says p->command is a symbol, type "xsymbol" to
> show it; otherwise it will probably say it's a string, and then
> "xstring" will display it.

--8<---------------cut here---------------start------------->8---
$ gdb -p 6196
[...]
(gdb) thread apply all backtrace
[...]
Thread 1 (Thread 6196.0x580):
---Type <return> to continue, or q <return> to quit---
#0  0x7c91e514 in ntdll!LdrAccessResource () from /cygdrive/c/WINDOWS/system32/ntdll.dll
#1  0x7c91df5a in ntdll!ZwWaitForSingleObject () from /cygdrive/c/WINDOWS/system32/ntdll.dll
#2  0x7c929b23 in ntdll!RtlpWaitForCriticalSection () from /cygdrive/c/WINDOWS/system32/ntdll.dll
#3  0x7c911046 in ntdll!RtlEnumerateGenericTableLikeADirectory () from /cygdrive/c/WINDOWS/system32/ntdll.dll
#4  0x00a41fe0 in ?? ()
#5  0x77bfd114 in msvcrt!_close () from /cygdrive/c/WINDOWS/system32/msvcrt.dll
#6  0x00000005 in ?? ()
#7  0x00000009 in ?? ()
#8  0x00000005 in ?? ()
#9  0x08802920 in ?? ()
#10 0x0108d41e in sys_close (fd=5) at w32.c:5918
#11 0x011452a8 in emacs_close (fd=5) at sysdep.c:2082
#12 0x01029ce4 in deactivate_process (proc=142616869) at process.c:3924
#13 0x01022d92 in remove_process (proc=142616869) at process.c:735
#14 0x0102ffff in status_notify (deleting_process=0x8802920) at process.c:6606
#15 0x01023263 in Fdelete_process (process=142616869) at process.c:850
#16 0x01013174 in eval_sub (form=58276094) at eval.c:2139
[...]
#190 0x010375f8 in Frecursive_edit () at keyboard.c:842
#191 0x01002920 in main (argc=1, argv=0xa44480) at emacs.c:1552
(gdb) thread 1
[Switching to thread 1 (Thread 6196.0x580)]
#0  0x7c91e514 in ntdll!LdrAccessResource () from /cygdrive/c/WINDOWS/system32/ntdll.dll
(gdb) frame 14
#14 0x0102ffff in status_notify (deleting_process=0x8802920) at process.c:6606
(gdb) 6606      process.c: No such file or directory.
print *p
$1 = {header = {size = 1073872914, next = {nbytes = 144, buffer = 0x90, vector = 0x90}}, tty_name = 57358362, name = 64171793,
  command = 135560334, filter = 57358386, sentinel = 65761430, log = 57358362, buffer = 79997445, childp = 57358386,
  plist = 57358362, type = 57481914, mark = 97021099, status = 136598966, decode_coding_system = 59149866,
  decoding_buf = 20036945, encode_coding_system = 59149842, encoding_buf = 20036945, write_queue = 57358362,
  gnutls_cred_type = 57358362, pid = 7912, infd = 5, outfd = 9, tick = 43, update_tick = 43, decoding_carryover = 0,
  read_output_delay = 0, adaptive_read_buffering = 1, read_output_skip = 0, kill_without_query = 0, pty_flag = 0,
  inherit_coding_system_flag = 0, raw_status_new = 0, raw_status = 0, gnutls_initstage = GNUTLS_STAGE_EMPTY, gnutls_state = 0x0,
  gnutls_x509_cred = 0x0, gnutls_anon_cred = 0x0, gnutls_log_level = 0, gnutls_handshakes_tried = 0, gnutls_p = 0}
(gdb) print p->name
$2 = 64171793
(gdb) xstring
Undefined command: "xstring".  Try "help".
(gdb) source /cygdrive/c/Program Files/Emacs-24.2/bin/.gdbinit
Warning: /cygdrive/d/home/sva/src/org-config/../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]
Environment variable "DISPLAY" not defined.
TERM = xterm-256color
Breakpoint 1 at 0x10013b6: file emacs.c, line 317.
Temporary breakpoint 2 at 0x11441d5: file sysdep.c, line 794.
(gdb) xstring
$3 = (struct Lisp_String *) 0x3d32f10
"locate-process"
(gdb) print p->command
$4 = 135560334
(gdb) xtype
Lisp_Cons
(gdb) xsymbol
$5 = (struct Lisp_Symbol *) 0x8147c88
0
(gdb) xstring
Argument to arithmetic operation not a number or boolean.
(gdb) xcons
Argument to arithmetic operation not a number or boolean.
(gdb) nextcons
There is no member named u.
(gdb) xcar
Argument to arithmetic operation not a number or boolean.
--8<---------------cut here---------------end--------------->8---

Thanks to you...
Fabrice