diff --git a/internal/gensupport/resumable.go b/internal/gensupport/resumable.go index ce4272509f6..0eae147fa92 100644 --- a/internal/gensupport/resumable.go +++ b/internal/gensupport/resumable.go @@ -155,6 +155,12 @@ func (rx *ResumableUpload) Upload(ctx context.Context) (resp *http.Response, err } return nil, err } + // This case is very unlikely but possible only if rx.ChunkRetryDeadline is + // set to a very small value, in which case no requests will be sent before + // the deadline. Return an error to avoid causing a panic. + if resp == nil { + return nil, fmt.Errorf("upload request to %v not sent, choose larger value for ChunkRetryDealine", rx.URI) + } return resp, nil } // Configure retryable error criteria.