
Markus Schöpflin wrote:
John Maddock wrote:
Markus Schöpflin wrote:
For reference, see http://tinyurl.com/rm4dr and http://tinyurl.com/k53v2.
Interestingly enough, the test passes on Tru64/CXX. Compiled with gcc 4.0.3 the test aborts with 'terminate called recursively', compiled with 3.4.4 it throws a SIGABRT.
Is there anything I can do to help in debugging?
Thanks Marcus, I had spotted that failure, but didn't know what to do about it. The fact that it's specific to gcc on that one specific platform is particulary frustrating!
I have to be honest: I'm not even sure how to go about debugging this: basically the test program spawns 10 threads each of which then runs the regex test code. In other words it's a stress-test to detect multi-threading issues. Are there any known problems with gcc and threading on that platform?
With gcc 4.1 and later multi threading is simply broken on Tru64. But it should work with earlier version. IIRC, 3.x uses DEC threads and 4.x uses POSIX threads. That might explain the different behaviors we're observing.
Oh, hold on: regex uses POSIX threads, come to that so does Boost.Threads and the test driver program. However, the threads lib tests all pass so I assumed it wasn't an issue as simple as this. So is this just a case of "not supported"? John.