This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug gdb/11967] New: ../../src/gdb/thread.c:583: internal-error: set_running: Assertion `tp->state_ != THREAD_EXITED' failed.
- From: "tromey at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: 2 Sep 2010 16:56:08 -0000
- Subject: [Bug gdb/11967] New: ../../src/gdb/thread.c:583: internal-error: set_running: Assertion `tp->state_ != THREAD_EXITED' failed.
- Reply-to: sourceware-bugzilla at sourceware dot org
I tried a multi-inferior test case: debug g++ with a breakpoint that
will be resolved in cc1plus.
I ran: gdb --args g++ -E --std=gnu++0x pr.cc
(The source file doesn't matter, it should just do a macro expansion with
arguments.)
Then I sourced this file into gdb:
set target-async 1
set non-stop 1
set schedule-multiple on
set follow-fork-mode child
set pagination off
set detach-on-fork off
set print inferior-events on
set follow-exec-mode new # See the end of this report
Then I did "break collect_args" and made it a pending breakpoint.
This is a function in the preprocessor.
Finally, I did "r&".
gdb crashed:
#0 internal_error (file=0x88493fe "../../src/gdb/thread.c", line=583,
string=0x88493e0 "%s: Assertion `%s' failed.") at ../../src/gdb/utils.c:1218
#1 0x0829c65e in set_running (ptid=..., running=1) at ../../src/gdb/thread.c:583
#2 0x082c25ca in target_resume (ptid=..., step=0, signal=TARGET_SIGNAL_0) at
../../src/gdb/target.c:2429
#3 0x0828c97f in resume (step=0, sig=TARGET_SIGNAL_0) at
../../src/gdb/infrun.c:1709
#4 0x08292695 in keep_going (ecs=0xbffff214) at ../../src/gdb/infrun.c:5175
#5 0x0828f24a in handle_inferior_event (ecs=0xbffff214) at
../../src/gdb/infrun.c:3354
#6 0x0828de72 in fetch_inferior_event (client_data=0x0) at
../../src/gdb/infrun.c:2630
#7 0x082a6638 in fetch_inferior_event_wrapper (client_data=0x0) at
../../src/gdb/inf-loop.c:169
#8 0x0829eba0 in catch_errors (func=0x82a6627 <fetch_inferior_event_wrapper>,
func_args=0x0, errstring=0x884b31d "", mask=6) at ../../src/gdb/exceptions.c:518
#9 0x082a635f in inferior_event_handler (event_type=INF_REG_EVENT,
client_data=0x0) at ../../src/gdb/inf-loop.c:65
#10 0x081d5737 in handle_target_event (error=0, client_data=0x0) at
../../src/gdb/linux-nat.c:5377
#11 0x082a43ff in handle_file_event (data=...) at ../../src/gdb/event-loop.c:817
#12 0x082a3c41 in process_event () at ../../src/gdb/event-loop.c:399
#13 0x082a3cde in gdb_do_one_event (data=0x0) at ../../src/gdb/event-loop.c:452
#14 0x0829eba0 in catch_errors (func=0x82a3c4f <gdb_do_one_event>,
func_args=0x0, errstring=0x8822037 "", mask=6) at ../../src/gdb/exceptions.c:518
#15 0x08211dec in tui_command_loop (data=0x0) at ../../src/gdb/tui/tui-interp.c:171
#16 0x0829f266 in current_interp_command_loop () at ../../src/gdb/interps.c:291
#17 0x080b114e in captured_command_loop (data=0x0) at ../../src/gdb/main.c:227
#18 0x0829eba0 in catch_errors (func=0x80b1143 <captured_command_loop>,
func_args=0x0, errstring=0x87eb73e "", mask=6) at ../../src/gdb/exceptions.c:518
#19 0x080b2020 in captured_main (data=0xbffff650) at ../../src/gdb/main.c:910
#20 0x0829eba0 in catch_errors (func=0x80b1184 <captured_main>,
func_args=0xbffff650, errstring=0x87eb73e "", mask=6) at
../../src/gdb/exceptions.c:518
#21 0x080b2056 in gdb_main (args=0xbffff650) at ../../src/gdb/main.c:919
#22 0x080b0ed3 in main (argc=6, argv=0xbffff714) at ../../src/gdb/gdb.c:34
This seems to be a bug with the follow-exec-mode setting.
If I use "same", gdb does not crash.
--
Summary: ../../src/gdb/thread.c:583: internal-error: set_running:
Assertion `tp->state_ != THREAD_EXITED' failed.
Product: gdb
Version: HEAD
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: gdb
AssignedTo: unassigned at sourceware dot org
ReportedBy: tromey at redhat dot com
CC: gdb-prs at sourceware dot org
http://sourceware.org/bugzilla/show_bug.cgi?id=11967
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.