Subject: Re: [Boost-bugs] [Boost C++ Libraries] #9118: Seg fault on thread join when llvm and libc++ are used
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-04-03 12:25:15
#9118: Seg fault on thread join when llvm and libc++ are used
-------------------------------+---------------------
Reporter: tconant@⦠| Owner: viboes
Type: Bugs | Status: closed
Milestone: To Be Determined | Component: thread
Version: Boost 1.54.0 | Severity: Problem
Resolution: duplicate | Keywords:
-------------------------------+---------------------
Comment (by markus.weber@â¦):
We've recently run into this problem as well and have been able to tie it
to the use of pragma pack(...).
The same code runs smooth on Windows, but fails on Mac in one case but
works in another place.
We noticed that we can provoke the failure by deliberately setting a
structure packing != 8 before include boost/thread.hpp, e.g. #pragma
pack(1).
Amazingly the code also fails if we explicitly switch back to default
packing prior to the include (#pragma pack()).
It only seems to work if we explicitly sett the packing to 8 prior to the
include.
This seems to indicate a missing pack statement somewhere in the platform
specific code, which would also explain why most parties cannot reproduce
it, while some can, and the code is not susceptible to any specific
packing statement on Windows.
I should note that we also had the impression that #pragma pack(x) does
not seem to work reliable on GCC, as we saw complaints in other code as
well.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/9118#comment:11> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:15 UTC