public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug mi/27770] New: crash with interpreter-exec
@ 2021-04-23 15:22 tromey at sourceware dot org
2022-08-12 18:26 ` [Bug mi/27770] " tromey at sourceware dot org
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: tromey at sourceware dot org @ 2021-04-23 15:22 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=27770
Bug ID: 27770
Summary: crash with interpreter-exec
Product: gdb
Version: 10.1
Status: NEW
Severity: normal
Priority: P2
Component: mi
Assignee: unassigned at sourceware dot org
Reporter: tromey at sourceware dot org
Target Milestone: ---
In bug #27757, we found out that an interpreter-exec command
using a different MI version caused a crash.
The primary problem in that bug was fixed, but I think the
crash deserves its own bug.
See that bug for reproducer instructions, especially comment #4
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug mi/27770] crash with interpreter-exec
2021-04-23 15:22 [Bug mi/27770] New: crash with interpreter-exec tromey at sourceware dot org
@ 2022-08-12 18:26 ` tromey at sourceware dot org
2023-05-16 6:04 ` vimacs.hacks at gmail dot com
2023-12-14 6:37 ` vimacs.hacks at gmail dot com
2 siblings, 0 replies; 4+ messages in thread
From: tromey at sourceware dot org @ 2022-08-12 18:26 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=27770
--- Comment #1 from Tom Tromey <tromey at sourceware dot org> ---
It's as simple as:
$ gdb -nx -i=mi3
...
-interpreter-exec mi2 "-data-evaluate-expression 23"
That is, using different versions of MI at the same time.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug mi/27770] crash with interpreter-exec
2021-04-23 15:22 [Bug mi/27770] New: crash with interpreter-exec tromey at sourceware dot org
2022-08-12 18:26 ` [Bug mi/27770] " tromey at sourceware dot org
@ 2023-05-16 6:04 ` vimacs.hacks at gmail dot com
2023-12-14 6:37 ` vimacs.hacks at gmail dot com
2 siblings, 0 replies; 4+ messages in thread
From: vimacs.hacks at gmail dot com @ 2023-05-16 6:04 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=27770
vimacs.hacks at gmail dot com <vimacs.hacks at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |vimacs.hacks at gmail dot com
--- Comment #2 from vimacs.hacks at gmail dot com <vimacs.hacks at gmail dot com> ---
I encountered the same problem when trying to use GDB in Eclipse (hardcoded to
mi2). I use valgrind to debug this problem, and found mi->raw_stdout is
uninitialised:
# start gdbserver with "gdbserver :9999 /bin/ls"
$ valgrind ./gdb/gdb --interpreter=mi2
...
GNU gdb (GDB) 14.0.50.20230516-git
...
1-target-select remote 127.0.0.1:9999
...
2-interpreter-exec mi "monitor set debug 1"
&"monitor set debug 1\n"
@"Debug output enabled.\n"
==80114== Use of uninitialised value of size 8
==80114== at 0x9CA8BB: gdb_puts(char const*, ui_file*) (utils.c:1812)
==80114== by 0x6DD25C: captured_mi_execute_command(ui_out*, mi_parse*)
(mi-main.c:1867)
==80114== by 0x6DD573: mi_execute_command(char const*, int) (mi-main.c:1942)
==80114== by 0x6C5B29: mi_execute_command_wrapper(char const*)
(mi-interp.c:274)
==80114== by 0x6C5919: mi_interp::exec(char const*) (mi-interp.c:204)
==80114== by 0x62D0E0: interp_exec(interp*, char const*) (interps.c:293)
==80114== by 0x6C5A4C: mi_cmd_interpreter_exec(char const*, char**, int)
(mi-interp.c:241)
==80114== by 0x6C2480: mi_command_mi::invoke(mi_parse*) const (mi-cmds.c:58)
==80114== by 0x6DDC65: mi_cmd_execute(mi_parse*) (mi-main.c:2114)
==80114== by 0x6DD0AA: captured_mi_execute_command(ui_out*, mi_parse*)
(mi-main.c:1818)
==80114== by 0x6DD573: mi_execute_command(char const*, int) (mi-main.c:1942)
==80114== by 0x6C5B29: mi_execute_command_wrapper(char const*)
(mi-interp.c:274)
==80114==
==80114== Invalid read of size 8
==80114== at 0x9CA8BB: gdb_puts(char const*, ui_file*) (utils.c:1812)
==80114== by 0x6DD25C: captured_mi_execute_command(ui_out*, mi_parse*)
(mi-main.c:1867)
==80114== by 0x6DD573: mi_execute_command(char const*, int) (mi-main.c:1942)
==80114== by 0x6C5B29: mi_execute_command_wrapper(char const*)
(mi-interp.c:274)
==80114== by 0x6C5919: mi_interp::exec(char const*) (mi-interp.c:204)
==80114== by 0x62D0E0: interp_exec(interp*, char const*) (interps.c:293)
==80114== by 0x6C5A4C: mi_cmd_interpreter_exec(char const*, char**, int)
(mi-interp.c:241)
==80114== by 0x6C2480: mi_command_mi::invoke(mi_parse*) const (mi-cmds.c:58)
==80114== by 0x6DDC65: mi_cmd_execute(mi_parse*) (mi-main.c:2114)
==80114== by 0x6DD0AA: captured_mi_execute_command(ui_out*, mi_parse*)
(mi-main.c:1818)
==80114== by 0x6DD573: mi_execute_command(char const*, int) (mi-main.c:1942)
==80114== by 0x6C5B29: mi_execute_command_wrapper(char const*)
(mi-interp.c:274)
==80114== Address 0x0 is not stack'd, malloc'd or (recently) free'd
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug mi/27770] crash with interpreter-exec
2021-04-23 15:22 [Bug mi/27770] New: crash with interpreter-exec tromey at sourceware dot org
2022-08-12 18:26 ` [Bug mi/27770] " tromey at sourceware dot org
2023-05-16 6:04 ` vimacs.hacks at gmail dot com
@ 2023-12-14 6:37 ` vimacs.hacks at gmail dot com
2 siblings, 0 replies; 4+ messages in thread
From: vimacs.hacks at gmail dot com @ 2023-12-14 6:37 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=27770
--- Comment #3 from vimacs.hacks at gmail dot com <vimacs.hacks at gmail dot com> ---
I seem to know why this can crash. In the following code:
std::unique_ptr<mi_ui_out>
mi_out_new (const char *mi_version)
{
if (streq (mi_version, INTERP_MI4) || streq (mi_version, INTERP_MI))
return std::make_unique<mi_ui_out> (4);
if (streq (mi_version, INTERP_MI3))
return std::make_unique<mi_ui_out> (3);
if (streq (mi_version, INTERP_MI2))
return std::make_unique<mi_ui_out> (2);
return nullptr;
}
Different MI version makes a different mi_ui_out, so when -interpreter-exec
gives a different version than the one in command line, the ui_out object
cannot be found.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-12-14 6:37 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-23 15:22 [Bug mi/27770] New: crash with interpreter-exec tromey at sourceware dot org
2022-08-12 18:26 ` [Bug mi/27770] " tromey at sourceware dot org
2023-05-16 6:04 ` vimacs.hacks at gmail dot com
2023-12-14 6:37 ` vimacs.hacks at gmail dot com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).