id summary reporter owner description type status milestone component version severity resolution keywords cc 12547 yield_completion in fibers possibly destroys busy mutex Thadeu Luiz Barbosa Dias olli "Im using something similar to this page: http://www.boost.org/doc/libs/1_62_0/libs/fiber/doc/html/fiber/callbacks/then_there_s____boost_asio__.html in my project but it contains a bug. yield_completion::wait() does not reacquire the lock before returning, therefore async_result_base::get() and async_result::get() might return before the notifying thread(calling async_handler::operator() releases the lock. with that, async_result might be destroyed while the lock is being held by the notifying thread causing a crash. I assumed that the lock gets reacquired on fiber resume, but that is not the case, lk.owns_lock() is false after the suspend statement. the solution is to simply call lk.lock() after the suspend call on the context." Bugs closed To Be Determined Documentation Boost 1.62.0 Problem fixed