[Boost-bugs] [Boost C++ Libraries] #7438: Segmentation fault in test_once regression test in group.join_all();

Subject: [Boost-bugs] [Boost C++ Libraries] #7438: Segmentation fault in test_once regression test in group.join_all();
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-09-27 22:02:53


#7438: Segmentation fault in test_once regression test in group.join_all();
--------------------------------------------+-------------------------------
 Reporter: greg.nowakowski@… | Owner: anthonyw
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: thread
  Version: Boost 1.51.0 | Severity: Regression
 Keywords: join_all, thread, SIGSEGV |
--------------------------------------------+-------------------------------
 Regression test in test_once causes '''SIGSEGV'''.
 The regression program seems to be right.

 Regression package obtained using:
 '''python run.py --runner greg --toolsets=gcc-4.1.2
 --libraries=filesystem,program_options,system,thread,test'''

 Compiler: '''gcc version 4.1.2 20080704 (Red Hat 4.1.2-44)'''

 Backtrace:
 {{{
  #0 0x00000000004105f6 in
 boost::checked_delete<boost::detail::thread_data<void (*)()> >
 (x=0x1412a1b0)
     at ../boost/checked_delete.hpp:34
  #1 0x00000000004106af in
 boost::detail::sp_counted_impl_p<boost::detail::thread_data<void (*)()>
>::dispose (this=0x141276e0)
     at ../boost/smart_ptr/detail/sp_counted_impl.hpp:78
  #2 0x000000000040efa4 in boost::detail::sp_counted_base::release
 (this=0x141276e0)
     at ../boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:145
  #3 0x000000000040f000 in ~shared_count (this=0x7fffc98235c8) at
 ../boost/smart_ptr/detail/shared_count.hpp:305
  #4 0x000000000040f3c1 in ~shared_ptr (this=0x7fffc98235c0) at
 ../boost/smart_ptr/shared_ptr.hpp:159
  #5 0x00002aaaaacdc525 in boost::thread::join (this=0x141276c0) at
 ../libs/thread/src/pthread/thread.cpp:321
  #6 0x0000000000414d11 in boost::thread_group::join_all
 (this=0x7fffc9823710) at ../boost/thread/detail/thread_group.hpp:74
  #7 0x000000000040e6fe in test_call_once () at
 ../libs/thread/test/test_once.cpp:56
  #8 0x0000000000410295 in
 boost::detail::function::void_function_invoker0<void (*)(), void>::invoke
 (function_ptr=@0x14127608)
     at ../boost/function/function_template.hpp:112
  #9 0x0000000000485d87 in boost::function0<void>::operator()
 (this=0x14127600) at ../boost/function/function_template.hpp:767
  #10 0x0000000000485da9 in boost::detail::forward::operator()
 (this=0x7fffc9824738) at ../boost/test/impl/execution_monitor.ipp:1276
  #11 0x0000000000485dcd in
 boost::detail::function::function_obj_invoker0<boost::detail::forward,
 int>::invoke (
     function_obj_ptr=@0x7fffc9824738) at
 ../boost/function/function_template.hpp:132
  #12 0x0000000000485e31 in boost::function0<int>::operator()
 (this=0x7fffc9824730) at ../boost/function/function_template.hpp:767
  #13 0x0000000000486417 in
 boost::detail::do_invoke<boost::shared_ptr<boost::detail::translator_holder_base>,
 boost::function<int ()()> > (tr=@0x6d6910, F=@0x7fffc9824730) at
 ../boost/test/impl/execution_monitor.ipp:256
  #14 0x0000000000484211 in boost::execution_monitor::catch_signals
 (this=0x6d6900, F=@0x7fffc9824730)
     at ../boost/test/impl/execution_monitor.ipp:839
  #15 0x0000000000484306 in boost::execution_monitor::execute
 (this=0x6d6900, F=@0x7fffc9824730)
     at ../boost/test/impl/execution_monitor.ipp:1183
  #16 0x0000000000484fdf in boost::execution_monitor::vexecute
 (this=0x6d6900, F=@0x14127600)
     at ../boost/test/impl/execution_monitor.ipp:1285
  #17 0x000000000047e7eb in
 boost::unit_test::unit_test_monitor_t::execute_and_translate
 (this=0x6d6900, func=@0x14127600, timeout=0)
     at ../boost/test/impl/unit_test_monitor.ipp:47
  #18 0x0000000000476462 in boost::unit_test::framework_impl::visit
 (this=0x6d6800, tc=@0x14127570)
     at ../boost/test/impl/framework.ipp:416
  #19 0x000000000041c23b in boost::unit_test::traverse_test_tree
 (tc=@0x14127570, V=@0x6d6800, ignore_status=false)
     at ../boost/test/impl/test_tree.ipp:212
  #20 0x000000000041cd46 in boost::unit_test::traverse_test_tree (id=65536,
 V=@0x6d6800, ignore_status=false)
     at ../boost/test/impl/test_tree.ipp:258
  #21 0x000000000041ca19 in boost::unit_test::traverse_test_tree
 (suite=@0x14127460, V=@0x6d6800, ignore_status=false)
     at ../boost/test/impl/test_tree.ipp:228
  #22 0x000000000041cd63 in boost::unit_test::traverse_test_tree (id=2,
 V=@0x6d6800, ignore_status=false)
     at ../boost/test/impl/test_tree.ipp:260
  #23 0x000000000041ca19 in boost::unit_test::traverse_test_tree
 (suite=@0x14125380, V=@0x6d6800, ignore_status=false)
     at ../boost/test/impl/test_tree.ipp:228
  #24 0x000000000041cd63 in boost::unit_test::traverse_test_tree (id=1,
 V=@0x6d6800, ignore_status=false)
     at ../boost/test/impl/test_tree.ipp:260
  #25 0x000000000046c187 in boost::unit_test::framework::run (id=1,
 continue_test=true) at ../boost/test/impl/framework.ipp:1045
  #26 0x0000000000423397 in boost::unit_test::unit_test_main
 (init_func=0x40ddda <init_unit_test_suite(int, char**)>, argc=1,
     argv=0x7fffc9824f08) at ../boost/test/impl/unit_test_main.ipp:104
  #27 0x00000000004235b1 in main (argc=1, argv=0x7fffc9824f08) at
 ../boost/test/impl/unit_test_main.ipp:159
 }}}

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