From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23234 invoked by alias); 10 Nov 2007 23:50:15 -0000 Received: (qmail 23219 invoked by uid 22791); 10 Nov 2007 23:50:14 -0000 X-Spam-Check-By: sourceware.org Received: from main.gmane.org (HELO ciao.gmane.org) (80.91.229.2) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sat, 10 Nov 2007 23:50:09 +0000 Received: from root by ciao.gmane.org with local (Exim 4.43) id 1Ir05S-0004ZX-7v for gdb@sources.redhat.com; Sat, 10 Nov 2007 23:50:02 +0000 Received: from i577be51d.versanet.de ([87.123.229.29]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 10 Nov 2007 23:50:02 +0000 Received: from Stephen.Berman by i577be51d.versanet.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 10 Nov 2007 23:50:02 +0000 To: gdb@sources.redhat.com From: Stephen Berman Subject: GDB cannot access memory after Emacs abort Date: Sat, 10 Nov 2007 23:50:00 -0000 Message-ID: <87hcjtllau.fsf@escher.local.home> References: <87r6j6rvn3.fsf@escher.local.home> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.50 (gnu/linux) X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2007-11/txt/msg00082.txt.bz2 I recently experienced an abort in CVS Emacs and was unable to get a backtrace from GDB. The Emacs bug causing the abort was fixed, but Richard Stallman responded to the lack of a backtrace with this comment: > That could be a serious problem in GDB. It would be good to talk > with GDB developers about how to investigate it. Since the bug's > cause is known, they could focus on figuring out why GDB fails > to give a backtrace. Here is the GDB-relevant part of my bug report about the abort (Emacs was built using the GTK+ toolkit): > I attempted to debug in gdb; here's the output when the abort occurs: > > (emacs:19177): Gtk-WARNING **: Can't set a parent on widget which has a parent > > > Gtk-ERROR **: file gtkcontainer.c: line 2641 (gtk_container_propagate_expose): assertion failed: (child->parent == GTK_WIDGET (container)) > aborting... > [Switching to Thread 0xb6ec66c0 (LWP 19177)] > > Breakpoint 1, abort () at emacs.c:431 > 431 kill (getpid (), SIGABRT); > > At this point my desktop (I tried in KDE, GNOME and twm, same behavior > in all) is totally locked up, but I can switch to a virtual tty and > there kill emacs with SIGKILL (kill -9); SIGTERM (kill -15) does not do > the job. This releases the desktop, but gdb delivers no further > feedback: > > (gdb) xbacktrace > Cannot access memory at address 0x8321b6c > (gdb) bt > #0 abort () at emacs.c:431 > Cannot access memory at address 0xbfd6836c > Cannot access memory at address 0x8321b6c > > Setting a break point at abort() in emacs.c makes no difference. I > don't have the GTK+ source code so I cannot debug it there. Does anyone have an idea why there was no backtrace? Steve Berman