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