public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug gdb/11967] New: ../../src/gdb/thread.c:583: internal-error: set_running: Assertion `tp->state_ != THREAD_EXITED' failed.
@ 2010-09-02 16:56 tromey at redhat dot com
  2010-09-02 19:13 ` [Bug gdb/11967] " tromey at redhat dot com
  0 siblings, 1 reply; 4+ messages in thread
From: tromey at redhat dot com @ 2010-09-02 16:56 UTC (permalink / raw)
  To: gdb-prs

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.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug gdb/11967] ../../src/gdb/thread.c:583: internal-error: set_running: Assertion `tp->state_ != THREAD_EXITED' failed.
  2010-09-02 16:56 [Bug gdb/11967] New: ../../src/gdb/thread.c:583: internal-error: set_running: Assertion `tp->state_ != THREAD_EXITED' failed tromey at redhat dot com
@ 2010-09-02 19:13 ` tromey at redhat dot com
  0 siblings, 0 replies; 4+ messages in thread
From: tromey at redhat dot com @ 2010-09-02 19:13 UTC (permalink / raw)
  To: gdb-prs


------- Additional Comments From tromey at redhat dot com  2010-09-02 19:13 -------
One problem is that follow_exec calls exit_inferior_num_silent in this
situation.  That kills the thread that is about to be resumed.

-- 


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.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug gdb/11967] ../../src/gdb/thread.c:583: internal-error: set_running: Assertion `tp->state_ != THREAD_EXITED' failed.
       [not found] <bug-11967-4717@http.sourceware.org/bugzilla/>
  2021-04-16 20:14 ` simark at simark dot ca
@ 2021-04-17 16:53 ` tromey at sourceware dot org
  1 sibling, 0 replies; 4+ messages in thread
From: tromey at sourceware dot org @ 2021-04-17 16:53 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=11967

Tom Tromey <tromey at sourceware dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tromey at sourceware dot org
         Resolution|---                         |FIXED
             Status|NEW                         |RESOLVED

--- Comment #5 from Tom Tromey <tromey at sourceware dot org> ---
> Do you want to try your original reproducer again, or can this be closed?

I think it's fine to close.
Thanks for trying it.

-- 
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 gdb/11967] ../../src/gdb/thread.c:583: internal-error: set_running: Assertion `tp->state_ != THREAD_EXITED' failed.
       [not found] <bug-11967-4717@http.sourceware.org/bugzilla/>
@ 2021-04-16 20:14 ` simark at simark dot ca
  2021-04-17 16:53 ` tromey at sourceware dot org
  1 sibling, 0 replies; 4+ messages in thread
From: simark at simark dot ca @ 2021-04-16 20:14 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=11967

--- Comment #4 from Simon Marchi <simark at simark dot ca> ---
(In reply to Simon Marchi from comment #2)
> This still exists today.  I did
> 
> ./gdb -nx -q --data-directory=data-directory t -ex "catch exec" -ex "set
> follow-exec-mode new" -ex "set non-stop on" -ex "run"
> 
> Where t is compiled from the following program:
> 
> #include <stdio.h>
> #include <string.h>
> #include <unistd.h>
> 
> int
> main (void)
> {
>   char *exec_args[] = { "/bin/ls", "ppp", NULL };
>   execve (exec_args[0], exec_args, NULL);
> }

This toy test case passes now, I bisected and the failure disappeared with

  080363310650c93ad8e93018bcb6760ba5d32d1c
  Per-inferior thread list, thread ranges/iterators, down with ALL_THREADS,
etc.                                                   

Do you want to try your original reproducer again, or can this be closed?

-- 
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:[~2021-04-17 16:53 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-09-02 16:56 [Bug gdb/11967] New: ../../src/gdb/thread.c:583: internal-error: set_running: Assertion `tp->state_ != THREAD_EXITED' failed tromey at redhat dot com
2010-09-02 19:13 ` [Bug gdb/11967] " tromey at redhat dot com
     [not found] <bug-11967-4717@http.sourceware.org/bugzilla/>
2021-04-16 20:14 ` simark at simark dot ca
2021-04-17 16:53 ` tromey at sourceware dot org

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).