Boost logo

Boost :

From: Raoul Gough (RaoulGough_at_[hidden])
Date: 2002-04-26 12:14:07

I've just managed to compile and link the release 1_27_0 boost threads
library with gcc -mno-cygwin option under cygwin (i.e. mingw32) but
test_thread crashes during exit from the function condition_test_thread. I
had to fiddle a bit to get the boost libraries to compile and link, so I
assume this is not a widely used platform (cygwin in mingw mode, boost
1_27_0 and STLport-4.5.3).

Examining the assembler dump in gdb, the test seems to be crashing in some
exception-handler-related code at the end of condition_test_thread:

----- Disassembly with added comments --------

<condition_test_thread(void *)+222>:

;; data->awoken++; (last line of function)
mov 0xfffffffc(%ebp),%eax
incl 0x28(%eax)

;; Some kind of exception handler context stuff (?)
lea 0x4(%ebx),%edx
mov (%edx),%eax
add $0x4,%eax
mov (%eax),%edx
mov (%edx),%ecx ;; <--- SEGV here, $edx is 0
mov %ecx,(%eax)

;; boost::mutex::scoped_lock destructor stuff
add $0xfffffff8,%esp
push $0x2
lea 0xffffffe0(%ebp),%eax
push %eax
call 0x40cde8 <_$_Q45boost6detail6threadt11scoped_lock1ZQ25boost5mutex>
add $0x10,%esp

;; function exit stuff
mov 0xffffffb8(%ebp),%ebx
mov %ebp,%esp
pop %ebp

----- End disassembly --------

Before I spend too long chasing this, has anybody else seen anything similar
to this? Is anybody using the threads library with mingw and cygwin? I got
pretty much exactly the same crash in my own test code as well.

Raoul Gough.

Do You Yahoo!?
Get your free address at

Boost list run by bdawes at, gregod at, cpdaniel at, john at