This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFA] Fix tid-reuse sometimes blocks for a very long (infinite?) time.
- From: Philippe Waroquiers <philippe dot waroquiers at skynet dot be>
- To: Pedro Alves <palves at redhat dot com>, gdb-patches at sourceware dot org
- Date: Wed, 05 Dec 2018 00:11:48 +0100
- Subject: Re: [RFA] Fix tid-reuse sometimes blocks for a very long (infinite?) time.
- References: <20181104200048.2463-1-philippe.waroquiers@skynet.be> <dbf10ad3-c528-0ca9-6778-589e96940412@redhat.com>
On Tue, 2018-12-04 at 15:23 +0000, Pedro Alves wrote:
> On 11/04/2018 08:00 PM, Philippe Waroquiers wrote:
> > A failure that seems to cause a long/infinite time is the following:
> >
> > For a not clear reason, tid-reuse.c spawner thread sometimes gets an error:
> > tid-reuse: /bd/home/philippe/gdb/git/build_moreaa/gdb/testsuite/../../../moreaa/gdb/testsuite/gdb.threads/tid-reuse.c:58: spawner_thread_func: Assertion `rc == 0' failed.
>
> Odd. It'd be interesting to know what was the value of 'rc'.
> I suspect it was EAGAIN, but I'm not seeing why you'd get that:
> the test spawns each thread and waits for it to die before spawning
> a new one. Maybe you were testing in parallel mode, and some other
> testcase happens to exhaust the number of threads simultaneously?
> I'm thinking of perhaps gdb.threads/attach-many-short-lived-threads.exp,
> for example.
Yes, I also suspect it will be EAGAIN (at least man pthread_create
does not show much other possibilities).
I have submitted an RFAv2 : compared to v1, it reports the value of
'rc' before crashing.
Thanks
Philippe