This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
gdb internal error
- From: Andreas Schwab <schwab at suse dot de>
- To: gdb at sourceware dot org
- Date: Thu, 13 Sep 2007 16:55:55 +0200
- Subject: gdb internal error
$ cat hello.c
#include <stdio.h>
int
main (void)
{
printf ("Hello, world!\n");
}
$ gcc -g3 -DFOO -UFOO -DFOO=2 hello.c -o hello
$ gdb -ex start hello
GNU gdb 6.6.90.20070911-cvs
Copyright (C) 2007 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 "ia64-suse-linux"...
Using host libthread_db library "/lib/libthread_db.so.1".
/cvs/branch/gdb/gdb/macrotab.c:127: internal-error: macro_bcache_free: Assertion `! t->bcache' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)
The comment in macro_define_object is apparently wrong, especially the
first sentence in the second paragraph:
/* If we're redefining a symbol, and the existing key would be
identical to our new key, then the splay_tree_insert function
will try to delete the old definition. When the definition is
living on an obstack, this isn't a happy thing.
Since this only happens in the presence of questionable debug
info, we just ignore all definitions after the first. The only
case I know of where this arises is in GCC's output for
predefined macros, and all the definitions are the same in that
case. */
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."