On Mon, Mar 26, 2012 at 7:53 AM, Arno <arno.schaefer@sqs.de> wrote:
> boost too. When a thread exited in the third party library it caused my
> application to die because the wrong function instance was executed.

Many thanks for that hint, we are using also some third party libs and they all
work with threads, but don’t use boost. Can you give me a clue, what ODR
violations can be relevant for this behaviour. It was very hard for us to
reproduce our error also in the debug mode, but also the debugger don’t stop in
a breakpoint if it happens, even when all exceptions are switched on.
We didn't know the details at the moment what kind of threads will be used
from the third party libs.


In that case you might be in the same situation I was in. Our third-party libs used Boost.Thread statically linked. It took me quite a while before I realized this was a possible cause of the problem. I could see a completely messed-up context when catching the exceptions with the debugger.
 
> Anthony was very quick to put the corrections for this defect into Boost, but
> 1.42 is definitely too old to have this fix in.

At least what version was this fix done is there a bug number available?


Sorry for missing this information out previously, I am having issues with Trac and could not find the thread of discussion with Anthony. I have finally found the threads of discussion and the changes were merged into Boost 1.47.

Can you try Boost 1.47? If this does not work, then we can explore alternative approaches. 
 
Regards
Arno


I'm sorry for taking a long time to reply. I have been extremely busy with work.

Regards,
Neil Groves