Re: info symbol can crash GDB

Nick Roberts
2006-03-01T02:48:43Z

> > In some cases if the argument to info symbol isn't a number, it causes a
> > segmentation fault:
> >
> > (gdb) inf sym 0x8049bb8.
> > Segmentation fault (core dumped)
>
> Which version of gdb is this?

GNU gdb 6.4.50.20060228-cvs on Fedora Core 3

...
> Can you provide a backtrace on the corefile generated?

I think previously I followed execution into c_parse and had to preserve a
file like c-exp.y.tmp, but I lost the plot because I'm not familiar with
bison. Anyway the backtrace might have changed now.

Nick

#0 0x0813004b in check_typedef (type=0x0) at gdbtypes.c:1384
#1 0x080e8071 in allocate_value (type=0x0) at value.c:217
#2 0x080e9d90 in value_from_double (type=0x0, num=<invalid float value>) at value.c:1560
#3 0x080eada2 in evaluate_subexp_standard (expect_type=0x0, exp=0x9454410, pos=0xfefc8654, noside=EVAL_NORMAL) at eval.c:447
#4 0x080ea09f in evaluate_subexp (expect_type=0x0, exp=0x9454410, pos=0xfefc8654, noside=EVAL_NORMAL) at eval.c:72
#5 0x080ea284 in evaluate_expression (exp=0x9454410) at eval.c:162
#6 0x080ea0dd in parse_and_eval_address (exp=0x93c09a8 "0x8049bb8.") at eval.c:87
#7 0x080fb357 in sym_info (arg=0x93c09a8 "0x8049bb8.", from_tty=1) at .././gdb/printcmd.c:1021
#8 0x080b4f4f in do_cfunc (c=0x93d82f8, args=0x93c09a8 "0x8049bb8.", from_tty=1) at .././gdb/cli/cli-decode.c:57
#9 0x080b6f84 in cmd_func (cmd=0x93d82f8, args=0x93c09a8 "0x8049bb8.", from_tty=1) at .././gdb/cli/cli-decode.c:1631
#10 0x080824c5 in execute_command (p=0x93c09b1 ".", from_tty=1) at top.c:448
#11 0x081231ba in command_handler (command=0x93c09a0 "inf sym 0x8049bb8.") at event-top.c:512
#12 0x081239c8 in command_line_handler (rl=0x93fa9d0 "inf sym 0x8049bb8.") at event-top.c:797
#13 0x081de933 in rl_callback_read_char () at callback.c:123
#14 0x081228c3 in rl_callback_read_char_wrapper (client_data=0x0) at event-top.c:178
#15 0x0812307f in stdin_event_handler (error=0, client_data=0x0) at event-top.c:428
#16 0x08121fc2 in handle_file_event (event_file_desc=0) at event-loop.c:730
#17 0x081218c6 in process_event () at event-loop.c:343
#18 0x08121912 in gdb_do_one_event (data=0x0) at event-loop.c:380
#19 0x0811ee1a in catch_errors (func=0x81218de <gdb_do_one_event>, func_args=0x0, errstring=0x827623e "", mask=6) at exceptions.c:515
#20 0x080c4e43 in tui_command_loop (data=0x0) at .././gdb/tui/tui-interp.c:151
#21 0x0811f309 in current_interp_command_loop () at interps.c:278
#22 0x0807c81f in captured_command_loop (data=0x0) at .././gdb/main.c:101
#23 0x0811ee1a in catch_errors (func=0x807c814 <captured_command_loop>, func_args=0x0, errstring=0x826181d "", mask=6) at exceptions.c:515
#24 0x0807d6e6 in captured_main (data=0xfefc8b90) at .././gdb/main.c:834
#25 0x0811ee1a in catch_errors (func=0x807c852 <captured_main>, func_args=0xfefc8b90, errstring=0x826181d "", mask=6) at exceptions.c:515
#26 0x0807d710 in gdb_main (args=0xfefc8b90) at .././gdb/main.c:843
#27 0x0807c80d in main (argc=2, argv=0xfefc8c34) at gdb.c:35