Re: [Boost-bugs] [Boost C++ Libraries] #9118: Seg fault on thread join when llvm and libc++ are used

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