Re: [Boost-bugs] [Boost C++ Libraries] #9466: shared_ptr fails with EINVAL on AIX 7.1 when compiled with atomic

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #9466: shared_ptr fails with EINVAL on AIX 7.1 when compiled with atomic
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-12-03 16:25:56


#9466: shared_ptr fails with EINVAL on AIX 7.1 when compiled with atomic
-------------------------------+-----------------------
  Reporter: pat <pat@…> | Owner: pdimov
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: smart_ptr
   Version: Boost 1.55.0 | Severity: Problem
Resolution: | Keywords:
-------------------------------+-----------------------

Comment (by pdimov):

 Interesting. I can't think of a mechanism by which libboost_atomic could
 cause shared_ptr to fail in such a manner. Furthermore, on AIX shared_ptr
 doesn't use pthread_mutex by default:

 {{{
 #elif defined( _AIX )
 # include <boost/smart_ptr/detail/sp_counted_base_aix.hpp>
 }}}

 Trying to lock an invalid mutex can be a symptom of an ODR violation. If
 some .cpp files are compiled with BOOST_SP_USE_PTHREADS and some others
 aren't, it's possible for a .cpp file in the first group to try to lock a
 pthread_mutex which doesn't exist because a shared_ptr created by a .cpp
 file in the second group doesn't have it.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/9466#comment:1>
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:14 UTC