Subject: gdb: bad backtrace with interrupted write call
Date: Wed, 24 Jul 2002 17:01:53 +0200
Package: gdb
Version: 5.2.cvs20020401-6
Severity: normal
While running Emacs under gdb, it got a SIGPIPE (this is the consequence
of an unknown bug in Emacs). The debugger then showed this backtrace:
Program received signal SIGPIPE, Broken pipe
0x403a83e4 in write () from /lib/libc.so.6
(gdb) bt
#0 0x403a83e4 in write () from /lib/libc.so.6
#1 0x00000000 in ?? ()
(gdb)
which made me think that the stack was smashed, so I continued the
process, expecting to see it abort. Instead, it continued and Emacs
went on, handling the problem by itself. In similar conditions, Emacs
later on crashed, but not this time.
Richard Stallman thus commented this information:
It looks to me like GDB has got confused by some legitimate
stack contents. Perhaps the `write' function does not set up
a normal stack frame. It would be good to change GDB to
handle what `write' actually does on the stack.
So I am writing this bug report, however poor of information it may be.
-- System Information
Debian Release: 3.0
Kernel Version: Linux pot.cnuce.cnr.it 2.4.18 #1 Fri May 17 13:44:40 CEST 2002 i686 unknown
Versions of the packages gdb depends on:
ii libc6 2.2.5-10 GNU C Library: Shared libraries and Timezone
ii libncurses5 5.2.20020112a- Shared libraries for terminal handling
ii libreadline4 4.2a-5 GNU readline and history libraries, run-time