From: "John Maddock"
I got the command line gdb to run, but what a pain. I'm researching both the GUI version as well as the JIT versions available for mingw. They may help out. However, the command line version just stranded me with no clear idea why things were failing, so I don't know if the other debuggers will be much help.
If it helps, I tried debugging the thread code with the latest cygwin GUI debugger (which is almost usable BTW), but still couldn't figure out what the issue was. I also tried with vc6+pthreads-win32 and Borland+pthreads-win32 and both of those check out OK, in the latter case I was able to build both boost.threads and pthreads-win32 with Borlands Codeguard support enabled, and there were no memory related errors, so I think this is something very specific to gcc.
BTW I also see a page fault when building with gcc3.01 on Linux - this time the fault goes away if I build in release mode, so I suspect there is an assertion being triggered somewhere, and it's the assertion that's dying. I haven't got any further than that though.
ISTR that when I tried to use boost.threads in the past on Win98, I encountered problems with the TSS code as well - with MSVC. I didn't see the page faults since a catch(...) handler on MSVC eats them but the results were worse than that - the machine locked up in about half of the cases, in the other half the thread that faulted died without warning. I think that it's possible that the problem is not gcc-specific. Note that both your successes use pthreads-win32, not the native win32 implementation of Boost.Threads. -- Peter Dimov Multi Media Ltd.