There's another simple cause in case of c++. std::thread::~thread{ if((joinable ()) std::terminate (); } i.e. scope of thread ended but you forgot to call either thread::join(); or thread::detach();