--- Begin Message ---
Package: gdb
Version: 5.3-1
Severity: important
Note: I compiled gdb from package source to use current version with
the version of libc6 in testing. However, this bug also occured
with previous version of gdb from testing (5.2.cvs20020818-3).
With "set print object on" gdb may segfault when trying to determine the
type pointed to. Stack trace and valgrind output below.
#0 0x08091092 in search_struct_field (name=0xb0e4a68 "ToolDataUser",
arg1=0xf42ffe8, offset=0, type=0xe73af4c, looking_for_baseclass=1)
at valops.c:2042
#1 0x0809141f in search_struct_field (name=0xb0e4a68 "ToolDataUser",
arg1=0xf42ffe8, offset=0, type=0xe7289f4, looking_for_baseclass=1)
at valops.c:2171
#2 0x0808ec4d in value_cast (type=0xb0e4448, arg2=0xf42ffe8) at
valops.c:247
#3 0x0812eb3c in gnuv2_value_rtti_type (v=0xf42ffe8, full=0xbfffd860,
top=0xbfffd864, using_enc=0xbfffd868) at gnu-v2-abi.c:234
#4 0x080ef259 in value_rtti_type (v=0xf42ffe8, full=0xbfffd860,
top=0xbfffd864, using_enc=0xbfffd868) at cp-abi.c:87
#5 0x08092d12 in value_full_object (argp=0xf42ffe8, rtype=0x0, xfull=0,
xtop=0, xusing_enc=0) at valops.c:3205
#6 0x0808fcda in value_ind (arg1=0xf42fea0) at valops.c:983
#7 0x08092cad in value_rtti_target_type (v=0xf42fea0, full=0xbfffd930,
top=0xbfffd934, using_enc=0xbfffd938) at valops.c:3172
During symbol reading, struct/union type gets multiply defined: struct
internalvar.
#8 0x080e6019 in c_value_print (val=0xf42fea0, stream=0x8216fd8,
format=0,
pretty=Val_pretty_default) at c-valprint.c:537
#9 0x0809613a in value_print (val=0xf42fea0, stream=0x8216fd8,
format=0,
pretty=Val_pretty_default) at valprint.c:175
#10 0x08097884 in print_formatted (val=0xf42fea0, format=0, size=0,
stream=0x8216fd8) at printcmd.c:329
#11 0x0809856c in print_command_1 (exp=0x8216f76 "old_curve", inspect=0,
---Type <return> to continue, or q <return> to quit---q
voidpriQuit
) at printcmd.c:949
#12 0x080985dd in print_command (exp=0x8216f76 "old_curve", from_tty=0)
at printcmd.c:970
#13 0x080700a7 in do_cfunc (c=0x8221ff8, args=0x8216f76 "old_curve",
from_tty=0) at ./cli/cli-decode.c:53
#14 0x080719b9 in cmd_func (cmd=0x8221ff8, args=0x8216f76 "old_curve",
from_tty=0) at ./cli/cli-decode.c:1523
#15 0x080e9356 in execute_command (p=0x8216f7e "e", from_tty=0) at
top.c:711
#16 0x080b2746 in command_handler (command=0x8216f70 "print old_curve")
at event-top.c:504
#17 0x080b2db3 in command_line_handler (rl=0x9ec63d8
"hy{\t\230\326\e@d_curve")
at event-top.c:799
#18 0x4003a4ac in rl_callback_read_char () from /lib/libreadline.so.4
#19 0x080b20ab in rl_callback_read_char_wrapper (client_data=0x0)
at event-top.c:168
#20 0x080b261d in stdin_event_handler (error=0, client_data=0x0)
at event-top.c:418
#21 0x080b1a16 in handle_file_event (event_file_desc=0) at
event-loop.c:714
#22 0x080b1526 in process_event () at event-loop.c:334
#23 0x080b1565 in gdb_do_one_event (data=0x0) at event-loop.c:371
#24 0x080e8fdb in do_catch_errors (uiout=0x8236cc8, data=0xbfffdd24)
at top.c:492
#25 0x080e8ea5 in catcher (func=0x80e8fc8 <do_catch_errors>,
---Type <return> to continue, or q <return> to quit---
func_uiout=0x8236cc8, func_args=0xbfffdd24, func_val=0xbfffdd1c,
func_caught=0xbfffdd20, errstring=0x81a54a0 "", mask=6) at top.c:424
#26 0x080e901b in catch_errors (func=0x80b153c <gdb_do_one_event>,
func_args=0x0, errstring=0x81a54a0 "", mask=6) at top.c:504
#27 0x080b15a3 in start_event_loop () at event-loop.c:415
#28 0x080b2192 in cli_command_loop () at event-top.c:200
#29 0x0806e0b8 in captured_command_loop (data=0x0) at main.c:96
#30 0x080e8fdb in do_catch_errors (uiout=0x8236cc8, data=0xbfffded4)
at top.c:492
#31 0x080e8ea5 in catcher (func=0x80e8fc8 <do_catch_errors>,
func_uiout=0x8236cc8, func_args=0xbfffded4, func_val=0xbfffdecc,
func_caught=0xbfffded0, errstring=0x818a540 "", mask=6) at top.c:424
#32 0x080e901b in catch_errors (func=0x806e0a0 <captured_command_loop>,
func_args=0x0, errstring=0x818a540 "", mask=6) at top.c:504
#33 0x0806ec13 in captured_main (data=0xbfffe1c0) at main.c:729
#34 0x080e8fdb in do_catch_errors (uiout=0x81fe040, data=0xbfffe174)
at top.c:492
#35 0x080e8ea5 in catcher (func=0x80e8fc8 <do_catch_errors>,
func_uiout=0x81fe040, func_args=0xbfffe174, func_val=0xbfffe16c,
func_caught=0xbfffe170, errstring=0x818a540 "", mask=6) at top.c:424
#36 0x080e901b in catch_errors (func=0x806e0ec <captured_main>,
func_args=0xbfffe1c0, errstring=0x818a540 "", mask=6) at top.c:504
#37 0x0806ec3b in gdb_main (args=0xbfffe1c0) at main.c:738
---Type <return> to continue, or q <return> to quit---
#38 0x0806e099 in main (argc=2, argv=0xbfffe234) at gdb.c:33
[Switching to Thread 1024 (LWP 14462)]
==14458== Conditional jump or move depends on uninitialised value(s)
==14458== at 0x80955A8: value_logical_not
(/home/jason/src/gdb-5.3/gdb/valarith.c:1185)
==14458== by 0x80D52B1: value_true
(/home/jason/src/gdb-5.3/gdb/language.c:987)
==14458== by 0x8071FF4: execute_control_command
(/home/jason/src/gdb-5.3/gdb/./cli/cli-script.c:412)
==14458== by 0x8071DC5: execute_user_command
(/home/jason/src/gdb-5.3/gdb/./cli/cli-script.c:289)
Breakpoint 1, CompositeCurve::notify_split (this=0x94dd6b8,
new_bridge=0x94ca7d0, old_bridge=0x94d63a8) at
CompositeCurve.cpp:1133
1133 assert( old_curve && new_curve && index_of(old_curve) >= 0 );
(gdb) print old_curve
==14458==
==14458== Invalid read of size 2
==14458== at 0x8091092: search_struct_field
(/home/jason/src/gdb-5.3/gdb/valops.c:2042)
==14458== by 0x809141F: search_struct_field
(/home/jason/src/gdb-5.3/gdb/valops.c:2171)
==14458== by 0x808EC4D: value_cast
(/home/jason/src/gdb-5.3/gdb/valops.c:249)
==14458== by 0x812EB3C: gnuv2_value_rtti_type
(/home/jason/src/gdb-5.3/gdb/gnu-v2-abi.c:234)
==14458== Address 0x0 is not stack'd, malloc'd or free'd
Segmentation fault
-- System Information
Debian Release: testing/unstable
Architecture: i386
Kernel: Linux rincewind 2.4.20-686-smp #1 SMP Sat Dec 21 16:41:15 EST 2002 i686
Locale: LANG=C, LC_CTYPE=C
Versions of packages gdb depends on:
ii libc6 2.2.5-14.3 GNU C Library: Shared libraries an
ii libncurses5 5.2.20020112a-8 Shared libraries for terminal hand
ii libreadline4 4.3-4 GNU readline and history libraries
--- End Message ---