Re: [Boost-bugs] [Boost C++ Libraries] #7666: Boost Thread SIGSEGV on join() when -D_GLIBCXX_DEBUG is used

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #7666: Boost Thread SIGSEGV on join() when -D_GLIBCXX_DEBUG is used
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-09-20 06:33:04


#7666: Boost Thread SIGSEGV on join() when -D_GLIBCXX_DEBUG is used
-------------------------------------+-------------------------------------
  Reporter: Antonio Di Monaco | Owner: viboes
  <tony@…> | Status: assigned
      Type: Bugs | Component: thread
 Milestone: Boost 1.55.0 | Severity: Problem
   Version: Boost 1.52.0 | Keywords: thread SIGSEGV C++11
Resolution: | -D_GLIBCXX_DEBUG
-------------------------------------+-------------------------------------

Comment (by viboes):

 Replying to [comment:25 Antonio Di Monaco <tony@…>]:
> Here is the backtrace just before the "step" that will trigger the
 watch. But I don't think you'll get more info than the previous one I've
 already posted.
>
> If it's fine, I can setup a VPN for you, and you can connect to my PC
 and remotely debug the issue. Please contact me to the email address
 reported in the bug.
>
>


 {{{
> #0 __gnu_debug::_Safe_sequence_base::_Safe_sequence_base
 (this=0x5248c8)
> at
 c:/x32-481-win32-sjlj-r2/lib/gcc/i686-w64-mingw32/4.8.1/include/c++/debug/safe_base.h:192
> #1 0x00407db3 in __gnu_debug::_Safe_sequence<std::__debug::map<void
 const*, boost::detail::tss_data_node, std::less<void const*>,
 std::allocator<std::pair<void const* const, boost::detail::tss_data_node>
> > >::_Safe_sequence (
> this=0x5248c8)
> at
 c:/x32-481-win32-sjlj-r2/lib/gcc/i686-w64-mingw32/4.8.1/include/c++/debug/safe_sequence.h:111
> #2 0x00410754 in std::__debug::map<void const*,
 boost::detail::tss_data_node, std::less<void const*>,
 std::allocator<std::pair<void const* const, boost::detail::tss_data_node>
> >::map (this=0x5248b0, __comp=..., __a=...)
> at
 c:/x32-481-win32-sjlj-r2/lib/gcc/i686-w64-mingw32/4.8.1/include/c++/debug/map.h:77
> #3 0x0040b71b in _fu4___ZTVN5boost6detail16thread_data_baseE ()
> at
 C:/x32-481-win32-sjlj-r2/include/boost/thread/win32/thread_data.hpp:123
> #4 0x0040b483 in boost::detail::thread_data<void
 (*)()>::thread_data(void (*&&)()) (this=0x5248a0,
> f_=<unknown type in C:\Users\Tony\Downloads\boost_1_54_0\test.exe,
 CU 0x0, DIE 0x4f591>)
> at
 C:/x32-481-win32-sjlj-r2/include/boost/thread/detail/thread.hpp:98
> #5 0x0040bc75 in
 boost::detail::heap_new<boost::detail::thread_data<void (*)()>, void
 (*)()>(void (*&&)()) (
> a1=<unknown type in C:\Users\Tony\Downloads\boost_1_54_0\test.exe,
 CU 0x0, DIE 0x4f591>)
> at
 C:/x32-481-win32-sjlj-r2/include/boost/thread/win32/thread_heap_alloc.hpp:100
> #6 0x0040c0b5 in boost::thread::make_thread_info (f=0x401637
 <myFunc()>)
> at
 C:/x32-481-win32-sjlj-r2/include/boost/thread/detail/thread.hpp:220
> #7 0x0040c229 in boost::thread::thread<void (&)()> (this=0x28fe8c,
> f=@0x401637: {void (void)} 0x401637 <myFunc()>)
> at
 C:/x32-481-win32-sjlj-r2/include/boost/thread/detail/thread.hpp:265
> #8 0x00401720 in main () at test.cpp:10
>
> /// here I perform the last "step" command
>
> Watchpoint 2: notify
>
> Old value = std::vector of length 0, capacity 0
> New value = Cannot access memory at address 0x0
 }}}


 This is confusing. Do you mean that the pb is now at the thread
 construction?
 I was expecting the backtrace of the second time notify is written.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/7666#comment:29>
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