This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Segfault in user command
On Mon, Jul 20, 2009 at 7:08 PM, Marc Khouzam<marc.khouzam@ericsson.com> wrote:
> I was trying to use 'interpreter-exec mi' inside a user-defined command,
> and GDB segfaulted (session below). ?It is today's version of GDB.
The problem is that in cli/cli-script.c, execute_user_command(),
instream is set to NULL:
312 /* Set the instream to 0, indicating execution of a
313 user-defined function. */
314 make_cleanup (do_restore_instream_cleanup, instream);
315 instream = (FILE *) 0;
and later used for fileno():
#0 0x00007ffff6ea19f0 in fileno_unlocked () from /lib/libc.so.6
#1 0x000000000051d2ff in gdb_setup_readline () at
../../src/gdb/event-top.c:1086
#2 0x00000000004aaa09 in mi_interpreter_resume (data=0x0) at
../../src/gdb/mi/mi-interp.c:107
#3 0x00000000005180d7 in interp_set (interp=0xa7a850, top_level=0) at
../../src/gdb/interps.c:197
#4 0x000000000051834e in interpreter_exec_cmd (args=<value optimized
out>, from_tty=<value optimized out>) at ../../src/gdb/interps.c:398
#5 0x0000000000459984 in execute_command (p=0xb295fd "t", from_tty=0)
at ../../src/gdb/top.c:442
#6 0x00000000004a2c04 in execute_control_command (cmd=0xb23c40) at
../../src/gdb/cli/cli-script.c:400
#7 0x00000000004a31ad in execute_user_command (c=0xb3fd60, args=0x0)
at ../../src/gdb/cli/cli-script.c:324
> I had seen this in passing many moons ago, but today I told myself I
> really should report it. ?Should I open a bugzilla about it?
Probably.
I think every crash in GDB deserves a bugzilla entry.
Cheers,
--
Paul Pluzhnikov