[Boost-bugs] [Boost C++ Libraries] #3848: Boost.Exception and transporting exceptions between threads

Subject: [Boost-bugs] [Boost C++ Libraries] #3848: Boost.Exception and transporting exceptions between threads
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-01-19 17:53:47


#3848: Boost.Exception and transporting exceptions between threads
-------------------------------------------------+--------------------------
 Reporter: Nikki Chumakov <nikkikom@…> | Owner: emildotchevski
     Type: Bugs | Status: new
Milestone: | Component: exception
  Version: Boost 1.40.0 | Severity: Problem
 Keywords: exception thread safety |
-------------------------------------------------+--------------------------
 The attached example program exc.cc crashes from time to time.
 I suspect that the problem is that detail::error_info_container_impl is
 not thread safe.

 Here is gdb stack trace:
 Core was generated by `./exc'.
 Program terminated with signal 11, Segmentation fault.

 #0 0x0000000000000000 in ?? ()
 #1 0x000000000040532a in
 boost::exception_detail::refcount_ptr<boost::exception_detail::error_info_container>::release
 (this=0x2aaab4001e28) at include/boost/exception/exception.hpp:73
 #2 0x0000000000405341 in ~refcount_ptr (this=0x2aaab4001e28)
     at include/boost/exception/exception.hpp:28
 #3 0x000000000040da36 in ~exception (this=0x2aaab4001e20)
     at include/boost/exception/exception.hpp:255
 #4 0x000000000040e2f7 in ~err (this=0x2aaab4001e20) at exc.cc:10
 #5 0x000000000040e437 in ~clone_impl (this=0x2aaab4001e20)
     at include/boost/exception/exception.hpp:368
 #6 0x000000000040612f in
 boost::checked_delete<boost::exception_detail::clone_base const>
 (x=0x2aaab4001e50)
     at include/boost/checked_delete.hpp:34
 #7 0x00000000004074ff in
 boost::detail::sp_counted_impl_p<boost::exception_detail::clone_base
 const>::dispose (this=0x2aaab4000910) at
 include/boost/smart_ptr/detail/sp_counted_impl.hpp:78
 #8 0x0000000000404706 in boost::detail::sp_counted_base::release
 (this=0x2aaab4000910)
     at include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:145
 #9 0x0000000000404762 in ~shared_count (this=0x42002fe8)
     at include/boost/smart_ptr/detail/shared_count.hpp:217
 #10 0x0000000000404ae9 in ~shared_ptr (this=0x42002fe0)
     at include/boost/smart_ptr/shared_ptr.hpp:169
 #11 0x0000000000404c5e in ~exception_ptr (this=0x42002fd8)
     at include/boost/exception_ptr.hpp:43
 #12 0x000000000040ca4b in ~future (this=0x42002fd0) at exc.cc:14
 #13 0x00000000004041f3 in consumer () at exc.cc:54
 #14 0x0000000000404253 in consume () at exc.cc:61
 #15 0x00000000004071b3 in boost::detail::thread_data<void (*)()>::run
 (this=0x6238c0)
     at include/boost/thread/detail/thread.hpp:56
 #16 0x00002b033252d33f in thread_proxy () from
 lib/libboost_thread.so.1.40.0
 #17 0x00002b0333651fc7 in start_thread () from lib/libpthread.so.0
 #18 0x00002b03331bd5ad in clone () from lib/libc.so.6
 #19 0x0000000000000000 in ?? ()

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/3848>
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:02 UTC