Boost logo

Boost Users :

Subject: Re: [Boost-users] thread crash on windows with icc in Release
From: Slava (Viatcheslav.Sysoltsev_at_[hidden])
Date: 2013-05-06 07:10:49


On Mon, 06 May 2013 11:34:36 +0200, Svetlana Olonetsky
<svetlana.olonetsky_at_[hidden]> wrote:

> Stack looks in release:
> boost::__N_32_libs_thread_src_win32_thread_cpp_f66b8662::run_thread_exit_callbacks()
> + 0x139 bytes
> boost::__N_32_libs_thread_src_win32_thread_cpp_f66b8662::thread_start_function()
> + 0x833 bytes
> boost::__N_32_libs_thread_src_win32_thread_cpp_f66b8662::ThreadProxy() +
> 0x36 bytes
>
> I tried both 1.52/1.53.
> Is there some specific version that should I try ?
>
> Thank you,
> Svetlana

I guess you have to analyze the issue yourself :( Try to look at
disassembly, attempt to correspond it to the source line, try to realize
what may be wrong with it. You should as well report the issue to Intel,
maybe the compiler is optimizing the code too aggressively or there is an
issue with tls implementation. Maybe try to build the boost with msvc and
your test program with icc, or vice-versa to narrow down the search area.
As a workaround you may try to check if the thread is joinable before
calling join:
if (thread_1.joinable())
     thread_1.join();
Maybe it'll help, but I'd really suggest to analyze the problem anyway.
There is a bug to find and fix.

-- Slava


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net