Should this be on the blocker list for the 7.10 release?
Simon Marchi
simon.marchi@ericsson.com
Tue Jul 7 18:35:00 GMT 2015
> OK, the issue is that the new clone thread is found while inside
> the linux_stop_and_wait_all_lwps call in this new bit of
> code in linux-thread-db.c:
>
> linux_stop_and_wait_all_lwps ();
>
> ALL_LWPS (lp)
> if (ptid_get_pid (lp->ptid) == pid)
> thread_from_lwp (lp->ptid);
>
> linux_unstop_all_lwps ();
>
> We reach linux_handle_extended_wait with the "stopping"
> parameter set to 1, and because of that we don't mark the
> new lwp as resumed. As consequence, the subsequent
> resume_stopped_resumed_lwps (called first from that
> linux_unstop_all_lwps) never resumes the new LWP...
>
> There's lots of cruft in linux_handle_extended_wait that no
> longer makes sense. This seems to fix your github test
> for me, and causes no testsuite regressions.
It seems to fix most of it. The only odd thing left that I
noticed is that it leaves some of the inferiors there. When I
type "info inferiors" after running the program, I see one or
two of them left. I believe there should only be inferior #1
left.
> Did you try converting your test case to a proper
> GDB test? That'd be much appreciated.
I haven't, but I will.
Thanks!
More information about the Gdb-patches
mailing list