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

From: "Fabrice Niessen" <[email-masked]>
Date: Sat, 06 Oct 2012 11:31:43 +0200

Hi Eli,

First, thanks a lot for following up this closely, as you do!

I'm eager to have a very stable Emacs under Windows, being an Emacs user since
1999. And being forced to use Windows right now.

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.
thread apply all backtrace

[Inferior 1 (process 7368) exited with code 01]
(gdb) Quit(gdb)
--8<---------------cut here---------------end--------------->8---

As you can see (?), it got no information after I typed "thread apply all
backtrace". GDB was simply not responding... I waited one minute or more.

Then, I tried launching /another/ GDB instance from C:/Program
Files/Emacs-24.2, as, there, I have a .gdbinit file.

--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/>.
(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?

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'"?

> 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?

> Next time, could you also type "xbacktrace" and show the results?  If
> you don't have the .gdbinit file to go with the binary you use, you
> should be able to find it in the src directory of the corresponding
> source tarball; then type "source .gdbinit" from the GDB prompt, when
> you enter GDB, or just put .gdbinit in the directory where you start
> GDB.  The xbacktrace command is defined on .gdbinit.

What's good is that I already found a .gdbinit file in the Emacs 24.2
"zipball" I had downloaded from http://alpha.gnu.org/gnu/emacs/windows/.

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