[PATCH] pthread_once hangs when init routine throws an exception [BZ #18435]
Martin Sebor
msebor@gmail.com
Thu Jul 9 04:46:00 GMT 2015
> That's only required in C++ code that throws exceptions from
> the once function. C callers are not affected (and in my
> tests on aarch64 and ppc64le, they're compiled with neither
> -fexceptions or -fasynchronous-unwind-tables and succeed).
> This includes tst-once3 which you reported as failing so
> there must be something more subtle going on.
I'm afraid I need to correct what I said above: tst-once3 does
pass on aarch64 when compiled with the system GCC 4.9.2(*) but
fails on both powerpc64 and powerpc64le, with both GCC 4.8.3 and
5.1.0. The test runs successfully to completion once I compile
it with -fasynchronous-unwind-tables.
The test fails on aarch64 when compiled with GCC 5.1.0 (just
the test alone).
I'm still trying to figure out why I didn't see the failure (or
missed it) it in my testing of the patch on powerpc.
In any case, I'll revert the patch tomorrow and pick it up again
after the 2.22 release.
Sorry for the trouble it has caused!
Martin
PS The system GCC on Fedora 21/aarch64 was configured with
--disable-libunwind-exceptions. I wonder if that's masking
the problem. I'll see if it goes away if I rebuild GCC 5.1
with the same option.
More information about the Libc-alpha
mailing list