--- contrib/libs/grpc/src/core/ext/filters/client_channel/retry_filter.cc (index) +++ contrib/libs/grpc/src/core/ext/filters/client_channel/retry_filter.cc (working tree) @@ -2603,8 +2603,10 @@ void RetryFilter::CallData::OnRetryTimer() { void RetryFilter::CallData::OnRetryTimerLocked(void* arg, grpc_error_handle /*error*/) { auto* calld = static_cast(arg); - calld->retry_timer_handle_.reset(); - calld->CreateCallAttempt(/*is_transparent_retry=*/false); + if (calld->retry_timer_handle_.has_value()) { + calld->retry_timer_handle_.reset(); + calld->CreateCallAttempt(/*is_transparent_retry=*/false); + } GRPC_CALL_STACK_UNREF(calld->owning_call_, "OnRetryTimer"); }