Skip to content

[BUG]: PublishTestResults@2 Hangs and Logs RemoteCertificateNameMismatch #22008

@pinkfloydx33

Description

@pinkfloydx33

New issue checklist

Task name

PublishTestResults@2

Task version

2.270.0

Issue Description

The task typically runs within a few seconds. As of 2026-04-15 10am EST, the task hangs for a long time (10-15) minutes. It eventually logs a RemoteCertificateNameMismatch exception, but ultimately ends up succeeding.

This is causing our pipeline runs to take an extraordinary amount of time.

This is happening on an Azure Managed DevOps Pool (quasi-self hosted) runner.

Environment type (Please select at least one enviroment where you face this issue)

  • Self-Hosted
  • Microsoft Hosted
  • VMSS Pool
  • Container

Azure DevOps Server type

dev.azure.com (formerly visualstudio.com)

Azure DevOps Server Version (if applicable)

No response

Operation system

Ubuntu 2024

Relevant log output

##[warning]Failed to upload file my-file.xml to Blob Transfer exception with errorcode Unknown, exception message Microsoft.Azure.Storage.DataMovement.TransferException: The transfer failed.
 ---> Microsoft.Azure.Storage.StorageException: The SSL connection could not be established, see inner exception.
 ---> System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
 ---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure: RemoteCertificateNameMismatch

Full task logs with system.debug enabled

Details
##[warning]Failed to upload file my-file.xml to Blob Transfer exception with errorcode Unknown, exception message Microsoft.Azure.Storage.DataMovement.TransferException: The transfer failed.
 ---> Microsoft.Azure.Storage.StorageException: The SSL connection could not be established, see inner exception.
 ---> System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
 ---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure: RemoteCertificateNameMismatch
   at System.Net.Security.SslStream.SendAuthResetSignal(ReadOnlySpan`1 alert, ExceptionDispatchInfo exception)
   at System.Net.Security.SslStream.CompleteHandshake(SslAuthenticationOptions sslAuthenticationOptions)
   at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](Boolean receiveFirst, Byte[] reAuthenticationData, CancellationToken cancellationToken)
   at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem)
   at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
   at Microsoft.Azure.Storage.Core.Executor.Executor.ExecuteAsync[T](RESTCommand`1 cmd, IRetryPolicy policy, OperationContext operationContext, CancellationToken token)
   --- End of inner exception stack trace ---
   at Microsoft.Azure.Storage.DataMovement.TransferControllers.BlockBlobWriter.HandleFetchAttributesResultAsync(Exception e)
   at Microsoft.Azure.Storage.DataMovement.TransferControllers.BlockBlobWriter.FetchAttributesAsync()
   at Microsoft.Azure.Storage.DataMovement.TransferControllers.BlockBlobWriter.DoWorkInternalAsync()
   at Microsoft.Azure.Storage.DataMovement.TransferControllers.SyncTransferController.DoWorkInternalAsync()
   at Microsoft.Azure.Storage.DataMovement.TransferControllers.TransferControllerBase.DoWorkAsync()
   at Microsoft.Azure.Storage.DataMovement.TransferScheduler.ExecuteJobInternalAsync(TransferJob job, CancellationToken cancellationToken)
Request Information
RequestID:
RequestDate:
StatusMessage:
ErrorCode:

--- End of inner exception stack trace ---
at Microsoft.Azure.Storage.DataMovement.TransferScheduler.ExecuteJobInternalAsync(TransferJob job, CancellationToken cancellationToken)
at Microsoft.Azure.Storage.DataMovement.SingleObjectTransfer.ExecuteAsync(TransferScheduler scheduler, CancellationToken cancellationToken)
at Microsoft.Azure.Storage.DataMovement.TransferManager.DoTransfer(Transfer transfer, TransferContext transferContext, CancellationToken cancellationToken)
at Microsoft.TeamFoundation.TestClient.PublishTestResults.TestLogStoreDALImpl.UploadLogFile(TestLogFileTransferModel uploadLogFileParam)
at Microsoft.TeamFoundation.TestClient.PublishTestResults.TestLogStore._getContainerAndUpload(Guid projectId, TestLogScope scope, Int32 buildId, Int32 runId, String logFileSourcePath, Stream stream, String fileName, TestLogType logType, Int32 testResultId, Int32 testSubResultId, Dictionary2 metaData, TelemetryTracker telTracker, Boolean isDuplicate, Boolean isSasExpired, TestLogCompressionType logCompressionType, String originalFileContentType) at Microsoft.TeamFoundation.TestClient.PublishTestResults.TestLogStore.<>c__DisplayClass19_0.<<UploadInternalAsync>b__0>d.MoveNext() --- End of stack trace from previous location --- at Microsoft.TeamFoundation.TestClient.PublishTestResults.TestLogStore._executeWithRetry(Func1 action, Func1 actionWithRename, Func1 actionOnSasExpiry, Boolean allowDuplicate, Boolean allowRetryOnNetworkingError, TelemetryTracker telemetryTracker)
at Microsoft.TeamFoundation.TestClient.PublishTestResults.TestLogStore.UploadInternalAsync(Guid projectId, TestLogScope scope, Int32 buildId, Int32 runId, String logFileSourcePath, Stream stream, String fileName, TestLogType logType, Int32 testResultId, Int32 testSubResultId, Dictionary`2 metaData, TelemetryTracker telTracker, Boolean allowDuplicate, TestLogCompressionType logCompressionType, String originalFileContentType)
Failed to upload run logs to LogStore, Trying to upload to FileService
Published Test Run : https://mycompany.visualstudio.com/Artemis/_TestManagement/Runs?runId=1058302&_a=runCharts
##[section]Async Command End: Publish test results
##[section]Finishing: Publish Dependency Check Test Results

Repro steps

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions