[Boost-bugs] [Boost C++ Libraries] #9355: boost::coroutine crash in base<void>::pull_coroutine_base<void> with multiple threads

Subject: [Boost-bugs] [Boost C++ Libraries] #9355: boost::coroutine crash in base<void>::pull_coroutine_base<void> with multiple threads
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-11-07 13:28:48


#9355: boost::coroutine crash in base<void>::pull_coroutine_base<void> with
multiple threads
----------------------------------------+-----------------------
 Reporter: craig@… | Owner: olli
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: coroutine
  Version: Boost 1.55.0 | Severity: Problem
 Keywords: pull_coroutine_base; crash |
----------------------------------------+-----------------------
 Using 1.55b1 coroutine a sporadic crash occurs when running outside of the
 debugger. Appears related to creating the coroutine context. The attached
 test application creates N threads which execute coroutines.

 Platform: Windows 7 x64[[BR]]
 Compiler: vc2012 [[BR]]
 Build: x64 [[BR]]
 Note: Occurs outside of debugger ~ 1 in 10 executions of application on an
 Intel i7[[BR]]

 Exception:[[BR]]
 {{{
 Unhandled exception at 0x000000013FD1222B (UnitTest_Concurrency_Test.exe)
 in WER1FB.tmp.mdmp: 0x80000001: Not implemented (parameters:
 0x0000000000000001, 0x0000000000080F08).
 }}}
 Stack location:[[BR]]
 {{{
 UnitTest_Concurrency_Test.exe!boost::coroutines::detail::pull_coroutine_base<void>::pull_coroutine_base<void>(void
 (__int64) * fn, boost::coroutines::stack_context * stack_ctx, bool unwind,
 bool preserve_fpu) Line 276 C++
 }}}

 [[BR]]
 Educated guess: [[BR]]
 It may be some sort of race condition where a coroutine context is being
 created at the same time in two threads that are resident on the same
 processing core.

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