Fixes #8962. withTimeout throws a TimeoutCancellationException if the timeout expires. To avoid crashing renewalJob when there are no extensions, use withTimeoutOrNull which does not throw on timeout. (cherry picked from commit 3a82b4d924ae7207f7d1c1b23d2a71a1e7d09258)