This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 11/24/2016 02:41 PM, Joseph Myers wrote:
On Thu, 24 Nov 2016, Szabolcs Nagy wrote:Test concurrent dlopen and pthread_create when the loaded modules have TLS. This triggers dl-tls assertion failures more reliably than the tst-stack4 test. The dlopened module has 100 DT_NEEDED dependencies and for me about 4000 concurrent thread creations are needed to see failures on x86_64.I'd be concerned about 4000 threads exceeding task or memory limits, possibly interfering with other things the same user is doing that also try to create tasks.
Yes, reducing the number of threads which are created in parallel is strongly recommended.
(I rountinely see tst-eintr1 failing with "pthread_create failed: Resource temporarily unavailable", sometimes terminating the test run because make fails to fork to run evaluate-test.sh, apparently not all threads having properly terminated by the time the test does. I don't know how many threads that is creating.)
As far as I can tell, tst-eintr1 creates only twenty threads at most: ten outer threads, and each outer thread creates one inner thread.
It's likely you are running into a kernel bug, where task exit is reported before the kernel has deallocated the resources used by the task:
https://bugzilla.kernel.org/show_bug.cgi?id=154011 Florian
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |