Re: [RFA] Fix gdb/277 by separating types

Michael Elizabeth Chastain
2002-05-13T02:19:44Z

Mr. Test-Bed choked on this pair of patches. He died early in the
first configuration tested, in gdb.base/maint.exp.

There's a tarball at

ftp://ftp.shout.net/pub/users/mec/gdb/20020510-drow-test.tar.gz

That includes gdb.log, the gdb executable, and the core file in it.

Michael C

===

# gdb.log excerpt
# target=native, host=i686-pc-linux-gnu%rh-7.2,
# gdb=HEAD%20020510 + drow-1 + drow-2, gcc=2.95.3, gdb=-gdwarf-2

(gdb) PASS: gdb.base/maint.exp: maint print symbols w/o args
maint print symbols symbols_output^M
/berman/fsf/_today_/source/gdb/HEAD/src/gdb/gdbtypes.c:508: gdb-internal-error:
make_cv_type: Assertion `TYPE_OBJFILE (*typeptr) == TYPE_OBJFILE (type)' failed.^M
An internal GDB error was detected. This may make further^M
debugging unreliable. Quit this debugging session? (y or n) FAIL: gdb.base/maint.exp: (timeout) maint print symbols
maint print type argc^M
Please answer y or n.^M
An internal GDB error was detected. This may make further^M
debugging unreliable. Quit this debugging session? (y or n) FAIL: gdb.base/maint.exp: (timeout) maint print type
maint info sections^M
Please answer y or n.^M
An internal GDB error was detected. This may make further^M
debugging unreliable. Quit this debugging session? (y or n)

===

Script started on Sun May 12 22:10:19 2002
[mec@berman test]$ /usr/bin/gdb ./gdb core
GNU gdb Red Hat Linux 7.x (5.0rh-15) (MI_OUT)
Copyright 2001 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux"...
Core was generated by `gdb -nw -nx'.
Program terminated with signal 6, Aborted.
Reading symbols from /usr/lib/libncurses.so.5...done.
Loaded symbols for /usr/lib/libncurses.so.5
Reading symbols from /lib/i686/libm.so.6...done.
Loaded symbols for /lib/i686/libm.so.6
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/i686/libc.so.6...done.
Loaded symbols for /lib/i686/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /lib/libthread_db.so.1...done.
Loaded symbols for /lib/libthread_db.so.1
#0 0x400c2a01 in __kill () from /lib/i686/libc.so.6
(gdb) set height 0
(gdb) bt
#0 0x400c2a01 in __kill () from /lib/i686/libc.so.6
#1 0x400c27da in raise (sig=6) at ../sysdeps/posix/raise.c:27
#2 0x400c3f82 in abort () at ../sysdeps/generic/abort.c:88
#3 0x080e014d in internal_verror (
file=0x81cfb40 "/berman/fsf/_today_/source/gdb/HEAD/src/gdb/gdbtypes.c",
line=508, fmt=0x81cfb1f "%s%sAssertion `%s' failed.", ap=0xbfffec7c)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/utils.c:726
#4 0x080e017b in internal_error ()
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/utils.c:749
#5 0x080ace76 in make_cv_type ()
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/gdbtypes.c:517
#6 0x080ae075 in check_typedef (type=0x85a2250)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/gdbtypes.c:1294
#7 0x080d6513 in c_type_print_base (type=0x85a2250, stream=0x925da20, show=0,
level=7) at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/c-typeprint.c:684
#8 0x080d6545 in c_type_print_base (type=0x85a229c, stream=0x925da20, show=0,
level=7) at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/c-typeprint.c:695
#9 0x080d57ef in c_print_type (type=0x85a229c,
varstring=0x85a2228 "__shlib_handle", stream=0x925da20, show=0, level=7)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/c-typeprint.c:74
#10 0x080d6876 in c_type_print_base (type=0x85a21dc, stream=0x925da20, show=1,
level=3) at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/c-typeprint.c:895
#11 0x080d57ef in c_print_type (type=0x85a21dc, varstring=0x81c0033 "",
stream=0x925da20, show=1, level=3)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/c-typeprint.c:74
#12 0x08093052 in print_symbol (args=0xbffff090)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/symmisc.c:574
#13 0x080dd81f in do_catch_errors (uiout=0x8263d48, data=0xbffff060)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/top.c:492
#14 0x080dd761 in catcher (func=0x80dd810 <do_catch_errors>,
func_uiout=0x8263d48, func_args=0xbffff060, func_val=0xbffff058,
func_caught=0xbffff05c, errstring=0x81bfdd7 "Error printing symbol:\n",
mask=6) at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/top.c:424
#15 0x080dd866 in catch_errors (func=0x8092c60 <print_symbol>,
func_args=0xbffff090, errstring=0x81bfdd7 "Error printing symbol:\n",
mask=6) at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/top.c:504
#16 0x08092a99 in dump_symtab (objfile=0x8282da8, symtab=0x85a4544,
outfile=0x925da20)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/symmisc.c:483
#17 0x08092c24 in maintenance_print_symbols (args=0x824461c "symbols_output",
from_tty=1) at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/symmisc.c:540
#18 0x0813ece4 in do_cfunc (c=0x825a198, args=0x824461c "symbols_output",
from_tty=1)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/cli/cli-decode.c:52
#19 0x080ddb93 in execute_command (p=0x8244629 "t", from_tty=1)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/top.c:711
#20 0x080a20ad in command_handler (command=0x8244608 "")
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/event-top.c:504
#21 0x080a2573 in command_line_handler (
rl=0x925d830 "maint print symbols symbols_output")
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/event-top.c:797
#22 0x0819c486 in rl_callback_read_char ()
at /berman/fsf/_today_/source/gdb/HEAD/src/readline/callback.c:114
#23 0x080a1a3b in rl_callback_read_char_wrapper (client_data=0x0)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/event-top.c:168
#24 0x080a1f9f in stdin_event_handler (error=0, client_data=0x0)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/event-top.c:418
#25 0x080f2117 in handle_file_event (event_file_desc=0)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/event-loop.c:714
#26 0x080f1b8e in process_event ()
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/event-loop.c:335
#27 0x080f1bdb in gdb_do_one_event (data=0x0)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/event-loop.c:372
#28 0x080dd81f in do_catch_errors (uiout=0x8263d48, data=0xbffff380)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/top.c:492
#29 0x080dd761 in catcher (func=0x80dd810 <do_catch_errors>,
func_uiout=0x8263d48, func_args=0xbffff380, func_val=0xbffff378,
func_caught=0xbffff37c, errstring=0x81e6680 "", mask=6)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/top.c:424
#30 0x080dd866 in catch_errors (func=0x80f1bb0 <gdb_do_one_event>,
func_args=0x0, errstring=0x81e6680 "", mask=6)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/top.c:504
#31 0x080f1c13 in start_event_loop ()
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/event-loop.c:396
#32 0x08072ff1 in captured_command_loop (data=0x0)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/main.c:94
#33 0x080dd81f in do_catch_errors (uiout=0x8263d48, data=0xbffff4f0)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/top.c:492
#34 0x080dd761 in catcher (func=0x80dd810 <do_catch_errors>,
func_uiout=0x8263d48, func_args=0xbffff4f0, func_val=0xbffff4e8,
func_caught=0xbffff4ec, errstring=0x81b5e4d "", mask=6)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/top.c:424
#35 0x080dd866 in catch_errors (func=0x8072fe0 <captured_command_loop>,
func_args=0x0, errstring=0x81b5e4d "", mask=6)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/top.c:504
#36 0x080735c3 in captured_main (data=0xbffff7b0)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/main.c:723
#37 0x080dd81f in do_catch_errors (uiout=0x8225d80, data=0xbffff790)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/top.c:492
#38 0x080dd761 in catcher (func=0x80dd810 <do_catch_errors>,
func_uiout=0x8225d80, func_args=0xbffff790, func_val=0xbffff788,
func_caught=0xbffff78c, errstring=0x81b5e4d "", mask=6)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/top.c:424
#39 0x080dd866 in catch_errors (func=0x8073030 <captured_main>,
func_args=0xbffff7b0, errstring=0x81b5e4d "", mask=6)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/top.c:504
#40 0x08073ada in main (argc=3, argv=0xbffff824)
at /berman/fsf/_today_/source/gdb/HEAD/src/gdb/main.c:734
#41 0x400b0507 in __libc_start_main (main=0x8073ab0 , argc=3,
ubp_av=0xbffff824, init=0x80723d0 <_init>, fini=0x81b5d10 <_fini>,
rtld_fini=0x4000dc14 <_dl_fini>, stack_end=0xbffff81c)
at ../sysdeps/generic/libc-start.c:129
(gdb) quit
[mec@berman test]$ exit
Script done on Sun May 12 22:11:54 2002