Hello all, I am porting my program from Linux to Windows with boost coroutine2. I found 32bit program throwing boost::context::detail::forced_unwind every time when coroutine destructed. But 64bit program works like charm. terminate called after throwing an instance of 'boost::context::detail::forced_unwind' The program works well on Linux(Ubuntu). Then I tried the official example: typedef boost::coroutines2::coroutine<int> coro_t; coro_t::pull_type source( [&](coro_t::push_type& sink){ int first=1,second=1; sink(first); sink(second); for(int i=0;i<8;++i){ int third=first+second; first=second; second=third; sink(third); } }); for(auto i:source) std::cout << i << " "; Same thing happened. Platform: windows 7 64 bit Boost: 1.67/1.69 Compiler: TDM-GCC 5.1 64bit. Best,