https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93456
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- Testcase that terminates in reasonable time: #include <future> #include <thread> #include <chrono> #include <climits> #include <cassert> int main() { using namespace std; using namespace std::chrono; auto now = system_clock::now(); seconds s(INT_MAX + 10ull); auto f = async(launch::async, [] { this_thread::sleep_for(2s); }); f.wait_until(now + seconds(INT_MAX) + 10s ); auto then = system_clock::now(); assert( (then - now) > 1s ); f.wait(); } The assertion fails today, but passes with the patch above.