fix: avoid Thread.sleep for overflowed-to-negative time