This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Crash regression with Eclipse [Re: [RFA] mi/10586]
- From: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- To: Keith Seitz <keiths at redhat dot com>
- Cc: "gdb-patches at sourceware dot org ml" <gdb-patches at sourceware dot org>
- Date: Tue, 13 Dec 2011 20:58:30 +0100
- Subject: Crash regression with Eclipse [Re: [RFA] mi/10586]
- References: <4EBD93D9.2020006@redhat.com> <m3mxbyso6i.fsf@fleche.redhat.com> <4EC157F6.1030503@redhat.com> <m3mxbyr2ju.fsf@fleche.redhat.com> <4EC16BD8.90309@redhat.com> <m34ny6qwi9.fsf@fleche.redhat.com> <4EC29CF7.40204@redhat.com> <4ED95103.8030204@redhat.com>
On Fri, 02 Dec 2011 23:28:19 +0100, Keith Seitz wrote:
> I am attaching the latest incarnation of this patch, which covers
> all these cases (AFAIK) and utilizes the new varobj tree testing
> that I committed last week.
Is it tested with Eclipse? Eclipse from Fedora 16 will crash GDB.
It does not crash with FSF GDB HEAD, it just does not expand "v" in Variables
window. This is a regression.
int
main (void)
{
struct
{
int x;
struct
{
int a;
};
struct
{
int b;
};
}
v = {1, {2}, {3}};
struct s
{
int x, y;
}
n = {10, 20};
return 0; /* Step in Eclipse here, then expand "v" in Variables. */
}
Program received signal SIGSEGV, Segmentation fault.
0x00000000007ab58b in get_value_type (var=0x0) at varobj.c:2397
2397 if (var->value)
(gdb) bt
#0 in get_value_type (var=0x0) at varobj.c:2397
#1 in is_path_expr_parent (var=0x0) at varobj.c:1310
#2 in get_path_expr_parent (var=0x2cbbd80) at varobj.c:1325
#3 in c_describe_child (parent=0x2cbbd80, index=0, cname=0x0, cvalue=0x0, ctype=0x0, cfull_expression=0x2cbf5f8) at varobj.c:3015
#4 in c_path_expr_of_child (child=0x2cbf5f0) at varobj.c:3140
#5 in varobj_get_path_expr (var=0x2cbf5f0) at varobj.c:1344
#6 in mi_cmd_var_info_path_expression (command=0x256a200 "var-info-path-expression", argv=0x2cdd570, argc=1) at ./mi/mi-cmd-var.c:501
#7 in mi_cmd_execute (parse=0x2d0bee0) at ./mi/mi-main.c:2110
#8 in captured_mi_execute_command (uiout=0x28aca70, context=0x2d0bee0) at ./mi/mi-main.c:1854
#9 in mi_execute_command (cmd=0x2cbf6d0 "41-var-info-path-expression var1.x", from_tty=1) at ./mi/mi-main.c:1976
#10 in mi_execute_command_wrapper (cmd=0x2cbf6d0 "41-var-info-path-expression var1.x") at ./mi/mi-interp.c:291
#11 in gdb_readline2 (client_data=0x0) at event-top.c:717
#12 in stdin_event_handler (error=0, client_data=0x0) at event-top.c:375
#13 in handle_file_event (data=...) at event-loop.c:828
#14 in process_event () at event-loop.c:402
#15 in gdb_do_one_event () at event-loop.c:466
#16 in start_event_loop () at event-loop.c:491
#17 in mi_command_loop (mi_version=2) at ./mi/mi-interp.c:321
#18 in mi2_command_loop () at ./mi/mi-interp.c:303
#19 in current_interp_command_loop () at interps.c:304
#20 in captured_command_loop (data=0x0) at ./main.c:234
#21 in catch_errors (func=0x487987 <captured_command_loop>, func_args=0x0, errstring=0xe75107 "", mask=6) at exceptions.c:504
#22 in captured_main (data=0x7fff42a37b90) at ./main.c:944
#23 in catch_errors (func=0x4879d6 <captured_main>, func_args=0x7fff42a37b90, errstring=0xe75107 "", mask=6) at exceptions.c:504
#24 in gdb_main (args=0x7fff42a37b90) at ./main.c:953
#25 in main (argc=4, argv=0x7fff42a37c98) at gdb.c:35
Thanks,
Jan