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

From: "Fabrice Niessen" <[email-masked]>
Date: Sat, 06 Oct 2012 14:22:39 +0200

Hi Eli,

Eli Zaretskii wrote:
>> Eli Zaretskii wrote:
>>>> _Often_ Emacs is just blocked, and C-g can't help me. I simply have to kill
>>>> Emacs from the Task Manager.
>>>
>>> Next time when this happens, instead of killing Emacs, attach GDB to
>>> it and show us the backtrace you get in all threads.
>>
>> It happened now, once again.
>>
>> I attached GDB to it. Or do I have to say that I attached the process to GDB?
>>
>> --8<---------------cut here---------------start------------->8---
>> GNU gdb (GDB) 7.5.50.20120815-cvs (cygwin-special)
>> Copyright (C) 2012 Free Software Foundation, Inc.
>> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
>> This is free software: you are free to change and redistribute it.
>> There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
>> and "show warranty" for details.
>> This GDB was configured as "i686-cygwin".
>> For bug reporting instructions, please see:
>> <http://www.gnu.org/software/gdb/bugs/>.
>> Attaching to process 7368
>> [New Thread 7368.0x18ec]
>> [New Thread 7368.0x1878]
>> [New Thread 7368.0xdb8]
>> [New Thread 7368.0x1248]
>> [New Thread 7368.0xfd0]
>> [New Thread 7368.0x3d0]
>> [New Thread 7368.0x1a04]
>> [New Thread 7368.0x155c]
>> Reading symbols from /cygdrive/c/Program Files/emacs-24.1/bin/emacs.exe...done.
>> (gdb) continue
>> Continuing.
>
> Do NOT type "continue" at this point, if you attached GDB to Emacs
> that appears to be hung.  Just "thread apply all backtrace" will do.
>
> You do need to type "continue" when you attach GDB to Emacs that's
> crashed, and see an abort dialog.  In this case, wait for the GDB
> prompt after you type "continue", and _then_ type "thread apply all
> backtrace".
>
>> As you can see (?), it got no information after I typed "thread apply all
>> backtrace".
>
> Because Emacs is again running, since you gave the "continue" command,
> and GDB cannot get control.
>
> In the case where you see the abort dialog, typing "continue" stops
> Emacs again when it gets a fatal signal.  But if Emacs hangs, there's
> no fatal signal, so typing "continue" just lets Emacs continue its
> infinite loop.

That's all crystal clear. Thanks for the explanation.

>> (gdb) Can't attach to process.
>> warning: File "/cygdrive/c/Program Files/Emacs-24.2/.gdbinit" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
>> ^C(gdb) Quit
>> quit
>> --8<---------------cut here---------------end--------------->8---
>>
>> But you see I wasn't more successful... Maybe you understand what goes wrong?
>
> It can't attach, because another instance of GDB already is attached.

OK.

>> I guess that I couldn't attach twice GDB processes to Emacs. But what about
>> the warning "auto-loading has been declined by your `auto-load safe-path' set
>> to `$debugdir:$datadir/auto-load'"?
>
> This is a nuisance with latest GDB versions.  I have this in my
> ~/.gdbinit to countermand that:
>
> set auto-load safe-path /

Does it make sense to copy Emacs-24.2's .gdbinit file to ~/.gdbinit?

Or, are both config files read, if I start GDB from Emacs-24.2's directory
(where one .gdbinit file is located)?

>>> Here's the culprit:
>>>
>>>> #13 0x010431b7 in die (msg=0x1537030 "assertion failed:
>>>> buffer->base_buffer->indirections > 0", file=0x1535810 "buffer.c",
>>
>> Do you have enough hints with that already?
>
> No.  But someone else might.

Hopefully, the other mail I sent (at 13:36) should give you much more details
about what goes wrong for me.

Thanks a lot for your help!

Best regards,
Fabrice

--
Fabrice Niessen
Pre-sales, Network and Software Engineer
M i s s i o n   C r i t i c a l   I T
✉ [email-masked]
☎ +32 2-757.10.15