id summary reporter owner description type status milestone component version severity resolution keywords cc 13064 Different behavior coroutine and coroutine2 big.black.fox@… olli "I noticed different behavior in Coroutine and Coroutine2. There is a source file in attachment. Code creates void asymmetric coroutine and calls it once. Coroutine returns execution to an invoker, then coroutine destructor calls. At this moment coroutine unwind stack. After I switch to Coroutine2 behavior changed: after coroutine destructor calls it returns execution to coroutine (""coro call 2"" in the log) and then unwind stack. '''Test app log output with Coroutine''': [[BR]] main: before coro call...[[BR]] TestRAII::ctor[[BR]] coro call 1[[BR]] main: after coro call...[[BR]] TestRAII::dtor[[BR]] main: after coro delete...[[BR]] '''Test app log output with Coroutine2''': [[BR]] main: before coro call...[[BR]] TestRAII::ctor[[BR]] coro call 1[[BR]] main: after coro call...[[BR]] '''coro call 2'''[[BR]] TestRAII::dtor[[BR]] main: after coro delete...[[BR]] Not sure but i think ""coro call 2"" must not be appeared. Build with GCC 7.1.0: g++ -c -pipe -g -std=gnu++1z -Wall -W -fPIC -I../../../../boost_1_64_0 -o main.o ./main.cpp g++ -o ./main main.o -L./ -lboost_coroutine -lboost_system -lboost_context -lboost_thread " Bugs closed To Be Determined coroutine Boost 1.64.0 Problem fixed coroutine coroutine2