Skip to content

Verify SignalR union support as hub method parameters and return types - #67125

Merged
DeagleGross merged 2 commits into
dotnet:mainfrom
DeagleGross:deaglegross/signalr-unions-verification
Jun 11, 2026
Merged

DeagleGross merged 2 commits into
dotnet:mainfrom
DeagleGross:deaglegross/signalr-unions-verification

Remove unnecessary comments from JsonHubProtocolUnionTests

446b5bb
Select commit
Loading
Failed to load commit list.
Build Analysis / Build Analysis succeeded Jun 10, 2026 in 0s

.NET Result Analysis

Details

‼️ Build Analysis Check Result has been manually overridden

  • The build analysis check result has been updated by the user for the following reason: unrelated test failures
  • The check result has changed from Failure to Success

Tip

To unconditionally bypass the build analysis check (turn it green), you can use the escape mechanism feature. The completion time may vary, potentially taking several minutes, depending on the build analysis workload at the moment.

Known Infrastructure Errors

Build Failures

aspnetcore-ci / Build / Tests: Helix x64 Subset 1

[ 🚧 Create issue against infrastructure team] [ 📄 Create issue in this repo]
    ❌The job running on agent NetCore-Public 399 ran longer than the maximum time of 240 minutes. For more information, see https://go.microsoft.com/fwlink/?linkid=2077134

aspnetcore-ci / Build / Tests: Helix x64 Subset 2

[ 🚧 Create issue against infrastructure team] [ 📄 Create issue in this repo]
    ❌The job running on agent NetCore-Public 442 ran longer than the maximum time of 240 minutes. For more information, see https://go.microsoft.com/fwlink/?linkid=2077134

aspnetcore-quarantined-pr / Tests: Helix

[ 🚧 Create issue against infrastructure team] [ 📄 Create issue in this repo]
    ❌The job running on agent NetCore-Public 359 ran longer than the maximum time of 150 minutes. For more information, see https://go.microsoft.com/fwlink/?linkid=2077134

Test Failures (13 tests failed)

🔹 [All failing tests from aspnetcore-quarantined-pr]

    ⚠️ 8 failing tests not displayed for this pipeline due to space limitations

    ❌ Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests.HttpConnectionManagerTests.CriticalErrorLoggedIfApplicationDoesntComplete [Console] [Details] [Artifacts] [76.83% failure rate]
    [ 🚧 Create issue against infrastructure team] [ 📄 Create issue in this repo]

    Failing Configurations (2)

    Exception Message
    Assert.True() Failure
    Expected: True
    Actual:   False
    CallStack
       at Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests.HttpConnectionManagerTests.CriticalErrorLoggedIfApplicationDoesntComplete() in /_/src/Servers/Kestrel/test/InMemory.FunctionalTests/HttpConnectionManagerTests.cs:line 76
    --- End of stack trace from previous location ---
       at Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests.HttpConnectionManagerTests.CriticalErrorLoggedIfApplicationDoesntComplete() in /_/src/Servers/Kestrel/test/InMemory.FunctionalTests/HttpConnectionManagerTests.cs:line 76
    --- End of stack trace from previous location ---
    ❌ Microsoft.AspNetCore.Server.Kestrel.Sockets.FunctionalTests.RequestTests.AppCanHandleClientAbortingConnectionMidRequest [Console] [Details] [Artifacts] [8.24% failure rate]
    [ 🚧 Create issue against infrastructure team] [ 📄 Create issue in this repo]

    Failing Configuration

    Data Driven SubResults
      ❌ Microsoft.AspNetCore.Server.Kestrel.Sockets.FunctionalTests.RequestTests.AppCanHandleClientAbortingConnectionMidRequest(listenOptionsName: "Loopback")
      Exception Message
      System.TimeoutException : The operation has timed out.
      Stack Trace
         at Microsoft.AspNetCore.InternalTesting.TaskExtensions.TimeoutAfter[T](Task`1 task, TimeSpan timeout, String filePath, Int32 lineNumber) in /_/src/Shared/TaskExtensions.cs:line 88
         at System.Runtime.CompilerServices.RuntimeAsyncTaskContinuation.GetResult[T](Task task, Byte& result)
         at System.Runtime.CompilerServices.RuntimeAsyncTaskContinuation.TaskContinuationResume.ResumeTaskContinuation(Continuation cont, Byte& result)
         at Microsoft.AspNetCore.Server.Kestrel.Sockets.FunctionalTests.RequestTests.AppCanHandleClientAbortingConnectionMidRequest(String listenOptionsName) in /_/src/Servers/Kestrel/test/FunctionalTests/RequestTests.cs:line 1149
      --- End of stack trace from previous location ---
         at Microsoft.AspNetCore.Server.Kestrel.Sockets.FunctionalTests.RequestTests.AppCanHandleClientAbortingConnectionMidRequest(String listenOptionsName) in /_/src/Servers/Kestrel/test/FunctionalTests/RequestTests.cs:line 1149
      --- End of stack trace from previous location ---
    ❌ Microsoft.AspNetCore.Server.Kestrel.Tests.KestrelConfigurationLoaderTests.ConfigureEndpoint_CanLoadPemCertificates [Console] [Details] [Artifacts] [22.63% failure rate]
    [ 🚧 Create issue against infrastructure team] [ 📄 Create issue in this repo]

    Failing Configuration

    Data Driven SubResults
      ❌ Microsoft.AspNetCore.Server.Kestrel.Tests.KestrelConfigurationLoaderTests.ConfigureEndpoint_CanLoadPemCertificates(algorithmType: "DSA", keyPassword: "test", extension: ".pem")
      Exception Message
      System.PlatformNotSupportedException : Operation is not supported on this platform.
      Stack Trace
         at System.Security.Cryptography.DSA.CreateCore()
         at System.Security.Cryptography.DSA.Create()
         at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Certificates.CertificateConfigLoader.LoadCertificateKey(X509Certificate2 certificate, String keyPath, String password) in /_/src/Servers/Kestrel/Core/src/Internal/Certificates/CertificateConfigLoader.cs:line 170
         at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Certificates.CertificateConfigLoader.LoadCertificate(CertificateConfig certInfo, String endpointName) in /_/src/Servers/Kestrel/Core/src/Internal/Certificates/CertificateConfigLoader.cs:line 51
         at Microsoft.AspNetCore.Server.Kestrel.Core.TlsConfigurationLoader.LoadDefaultCertificate(ConfigurationReader configurationReader) in /_/src/Servers/Kestrel/Core/src/TlsConfigurationLoader.cs:line 131
         at Microsoft.AspNetCore.Server.Kestrel.Core.HttpsConfigurationService.LoadDefaultCertificate(ConfigurationReader configurationReader) in /_/src/Servers/Kestrel/Core/src/HttpsConfigurationService.cs:line 99
         at Microsoft.AspNetCore.Server.Kestrel.KestrelConfigurationLoader.Reload() in /_/src/Servers/Kestrel/Core/src/KestrelConfigurationLoader.cs:line 354
         at Microsoft.AspNetCore.Server.Kestrel.KestrelConfigurationLoader.LoadInternal() in /_/src/Servers/Kestrel/Core/src/KestrelConfigurationLoader.cs:line 298
         at Microsoft.AspNetCore.Server.Kestrel.KestrelConfigurationLoader.Load() in /_/src/Servers/Kestrel/Core/src/KestrelConfigurationLoader.cs:line 275
         at Microsoft.AspNetCore.Server.Kestrel.Tests.KestrelConfigurationLoaderTests.ConfigureEndpoint_CanLoadPemCertificates(String algorithmType, String keyPassword, String extension) in /_/src/Servers/Kestrel/Kestrel/test/KestrelConfigurationLoaderTests.cs:line 831
         at InvokeStub_KestrelConfigurationLoaderTests.ConfigureEndpoint_CanLoadPemCertificates(Object, Span`1)
         at System.Reflection.MethodBaseInvoker.InvokeWithFewArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
      ❌ Microsoft.AspNetCore.Server.Kestrel.Tests.KestrelConfigurationLoaderTests.ConfigureEndpoint_CanLoadPemCertificates(algorithmType: "DSA", keyPassword: null, extension: ".pem")
      Exception Message
      System.PlatformNotSupportedException : Operation is not supported on this platform.
      Stack Trace
         at System.Security.Cryptography.DSA.CreateCore()
         at System.Security.Cryptography.DSA.Create()
         at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Certificates.CertificateConfigLoader.LoadCertificateKey(X509Certificate2 certificate, String keyPath, String password) in /_/src/Servers/Kestrel/Core/src/Internal/Certificates/CertificateConfigLoader.cs:line 170
         at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Certificates.CertificateConfigLoader.LoadCertificate(CertificateConfig certInfo, String endpointName) in /_/src/Servers/Kestrel/Core/src/Internal/Certificates/CertificateConfigLoader.cs:line 51
         at Microsoft.AspNetCore.Server.Kestrel.Core.TlsConfigurationLoader.LoadDefaultCertificate(ConfigurationReader configurationReader) in /_/src/Servers/Kestrel/Core/src/TlsConfigurationLoader.cs:line 131
         at Microsoft.AspNetCore.Server.Kestrel.Core.HttpsConfigurationService.LoadDefaultCertificate(ConfigurationReader configurationReader) in /_/src/Servers/Kestrel/Core/src/HttpsConfigurationService.cs:line 99
         at Microsoft.AspNetCore.Server.Kestrel.KestrelConfigurationLoader.Reload() in /_/src/Servers/Kestrel/Core/src/KestrelConfigurationLoader.cs:line 354
         at Microsoft.AspNetCore.Server.Kestrel.KestrelConfigurationLoader.LoadInternal() in /_/src/Servers/Kestrel/Core/src/KestrelConfigurationLoader.cs:line 298
         at Microsoft.AspNetCore.Server.Kestrel.KestrelConfigurationLoader.Load() in /_/src/Servers/Kestrel/Core/src/KestrelConfigurationLoader.cs:line 275
         at Microsoft.AspNetCore.Server.Kestrel.Tests.KestrelConfigurationLoaderTests.ConfigureEndpoint_CanLoadPemCertificates(String algorithmType, String keyPassword, String extension) in /_/src/Servers/Kestrel/Kestrel/test/KestrelConfigurationLoaderTests.cs:line 831
         at InvokeStub_KestrelConfigurationLoaderTests.ConfigureEndpoint_CanLoadPemCertificates(Object, Span`1)
         at System.Reflection.MethodBaseInvoker.InvokeWithFewArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
      ❌ Microsoft.AspNetCore.Server.Kestrel.Tests.KestrelConfigurationLoaderTests.ConfigureEndpoint_CanLoadPemCertificates(algorithmType: "DSA", keyPassword: null, extension: ".crt")
      Exception Message
      System.PlatformNotSupportedException : Operation is not supported on this platform.
      Stack Trace
         at System.Security.Cryptography.DSA.CreateCore()
         at System.Security.Cryptography.DSA.Create()
         at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Certificates.CertificateConfigLoader.LoadCertificateKey(X509Certificate2 certificate, String keyPath, String password) in /_/src/Servers/Kestrel/Core/src/Internal/Certificates/CertificateConfigLoader.cs:line 170
         at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Certificates.CertificateConfigLoader.LoadCertificate(CertificateConfig certInfo, String endpointName) in /_/src/Servers/Kestrel/Core/src/Internal/Certificates/CertificateConfigLoader.cs:line 51
         at Microsoft.AspNetCore.Server.Kestrel.Core.TlsConfigurationLoader.LoadDefaultCertificate(ConfigurationReader configurationReader) in /_/src/Servers/Kestrel/Core/src/TlsConfigurationLoader.cs:line 131
         at Microsoft.AspNetCore.Server.Kestrel.Core.HttpsConfigurationService.LoadDefaultCertificate(ConfigurationReader configurationReader) in /_/src/Servers/Kestrel/Core/src/HttpsConfigurationService.cs:line 99
         at Microsoft.AspNetCore.Server.Kestrel.KestrelConfigurationLoader.Reload() in /_/src/Servers/Kestrel/Core/src/KestrelConfigurationLoader.cs:line 354
         at Microsoft.AspNetCore.Server.Kestrel.KestrelConfigurationLoader.LoadInternal() in /_/src/Servers/Kestrel/Core/src/KestrelConfigurationLoader.cs:line 298
         at Microsoft.AspNetCore.Server.Kestrel.KestrelConfigurationLoader.Load() in /_/src/Servers/Kestrel/Core/src/KestrelConfigurationLoader.cs:line 275
         at Microsoft.AspNetCore.Server.Kestrel.Tests.KestrelConfigurationLoaderTests.ConfigureEndpoint_CanLoadPemCertificates(String algorithmType, String keyPassword, String extension) in /_/src/Servers/Kestrel/Kestrel/test/KestrelConfigurationLoaderTests.cs:line 831
         at InvokeStub_KestrelConfigurationLoaderTests.ConfigureEndpoint_CanLoadPemCertificates(Object, Span`1)
         at System.Reflection.MethodBaseInvoker.InvokeWithFewArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
    ❌ Microsoft.AspNetCore.SignalR.Client.FunctionalTests.HubConnectionTests.ChangingUserNameDuringReconnectLogsWarning [Console] [Details] [Artifacts] [22.46% failure rate]
    [ 🚧 Create issue against infrastructure team] [ 📄 Create issue in this repo]

    Failing Configuration

    Exception Message
    1 error(s) logged.
    Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport - ErrorSendingMessage - Error while sending a message.
    ===================
    System.ObjectDisposedException: Cannot access a disposed object.
    Object name: 'System.Net.WebSockets.ClientWebSocket'.
       at System.Net.WebSockets.ClientWebSocket.get_ConnectedWebSocket()
       at System.Net.WebSockets.ClientWebSocket.SendAsync(ReadOnlyMemory`1 buffer, WebSocketMessageType messageType, Boolean endOfMessage, CancellationToken cancellationToken)
       at System.Net.WebSockets.WebSocketExtensions.SendAsync(WebSocket webSocket, ReadOnlySequence`1 buffer, WebSocketMessageType webSocketMessageType, CancellationToken cancellationToken) in /_/src/SignalR/common/Shared/WebSocketExtensions.cs:line 19
       at Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport.StartSending(WebSocket socket, Boolean ignoreFirstCanceled) in /_/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/WebSocketsTransport.cs:line 562
    ===================
    CallStack
       at Microsoft.AspNetCore.SignalR.Tests.VerifyNoErrorsScope.Dispose() in D:\a\_work\1\s\src\Shared\SignalR\VerifyNoErrorScope.cs:line 47
       at Microsoft.AspNetCore.SignalR.Tests.InProcessTestServer`1.DisposeAsync() in D:\a\_work\1\s\src\Shared\SignalR\InProcessTestServer.cs:line 161
       at Microsoft.AspNetCore.SignalR.Tests.InProcessTestServer`1.DisposeAsync() in D:\a\_work\1\s\src\Shared\SignalR\InProcessTestServer.cs:line 168
       at System.Runtime.CompilerServices.RuntimeAsyncTaskContinuation.GetResult(Task task, Byte& result)
       at System.Runtime.CompilerServices.RuntimeAsyncTaskContinuation.TaskContinuationResume.ResumeTaskContinuation(Continuation cont, Byte& result)
       at Microsoft.AspNetCore.SignalR.Client.FunctionalTests.HubConnectionTests.ChangingUserNameDuringReconnectLogsWarning() in /_/src/SignalR/clients/csharp/Client/test/FunctionalTests/HubConnectionTests.cs:line 2746
    --- End of stack trace from previous location ---
    --- End of stack trace from previous location ---
    ❌ Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.RedisEndToEndTests.CanSendAndReceiveUserMessagesFromMultipleConnectionsWithSameUser [Console] [Details] [Artifacts] [22.36% failure rate]
    [ 🚧 Create issue against infrastructure team] [ 📄 Create issue in this repo]

    Failing Configuration

    Data Driven SubResults
      ❌ Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.RedisEndToEndTests.CanSendAndReceiveUserMessagesFromMultipleConnectionsWithSameUser(transportType: WebSockets, protocolName: "json")
      Exception Message
      System.Exception : Command '/usr/bin/docker run --rm -p 6379:6379 --name redisTestContainer74 -d dotnetdhmirror-f8bzbjakh8cga6ab.azurecr.io/library/redis:7.4' failed with exit code '127'. Output:
      docker: Error response from daemon: mkdir /datadisks/disk1/docker/containers/a651e1272ddbc410d826f72367a7d72df8b191f890ba736c64e26be48c3ea2ed: no such file or directory
      

      Run 'docker run --help' for more information


      Stack Trace

         at Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.Docker.RunProcessAndThrowIfFailed(String fileName, String arguments, String prefix, ILogger logger, TimeSpan timeout) in /_/src/SignalR/server/StackExchangeRedis/test/Docker.cs:line 167
      at Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.Docker.<StartRedis>g__Run|11_0(<>c__DisplayClass11_0&) in /_/src/SignalR/server/StackExchangeRedis/test/Docker.cs:line 116
      at Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.Docker.StartRedis(ILogger logger) in /_/src/SignalR/server/StackExchangeRedis/test/Docker.cs:line 88
      at Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.Docker.Start(ILogger logger) in /_/src/SignalR/server/StackExchangeRedis/test/Docker.cs:line 128
      at Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.RedisServerFixture`1..ctor() in /_/src/SignalR/server/StackExchangeRedis/test/RedisServerFixture.cs:line 36
      at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Constructor(Object obj, IntPtr* args)
      at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)

      ❌ Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.RedisEndToEndTests.CanSendAndReceiveUserMessagesFromMultipleConnectionsWithSameUser(transportType: WebSockets, protocolName: "messagepack")
      Exception Message

      System.Exception : Command '/usr/bin/docker run --rm -p 6379:6379 --name redisTestContainer74 -d dotnetdhmirror-f8bzbjakh8cga6ab.azurecr.io/library/redis:7.4' failed with exit code '127'. Output:
      docker: Error response from daemon: mkdir /datadisks/disk1/docker/containers/a651e1272ddbc410d826f72367a7d72df8b191f890ba736c64e26be48c3ea2ed: no such file or directory

      Run 'docker run --help' for more information


      Stack Trace

         at Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.Docker.RunProcessAndThrowIfFailed(String fileName, String arguments, String prefix, ILogger logger, TimeSpan timeout) in /_/src/SignalR/server/StackExchangeRedis/test/Docker.cs:line 167
      at Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.Docker.<StartRedis>g__Run|11_0(<>c__DisplayClass11_0&) in /_/src/SignalR/server/StackExchangeRedis/test/Docker.cs:line 116
      at Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.Docker.StartRedis(ILogger logger) in /_/src/SignalR/server/StackExchangeRedis/test/Docker.cs:line 88
      at Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.Docker.Start(ILogger logger) in /_/src/SignalR/server/StackExchangeRedis/test/Docker.cs:line 128
      at Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.RedisServerFixture`1..ctor() in /_/src/SignalR/server/StackExchangeRedis/test/RedisServerFixture.cs:line 36
      at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Constructor(Object obj, IntPtr* args)
      at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)

      ❌ Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.RedisEndToEndTests.CanSendAndReceiveUserMessagesFromMultipleConnectionsWithSameUser(transportType: ServerSentEvents, protocolName: "json")
      Exception Message

      System.Exception : Command '/usr/bin/docker run --rm -p 6379:6379 --name redisTestContainer74 -d dotnetdhmirror-f8bzbjakh8cga6ab.azurecr.io/library/redis:7.4' failed with exit code '127'. Output:
      docker: Error response from daemon: mkdir /datadisks/disk1/docker/containers/a651e1272ddbc410d826f72367a7d72df8b191f890ba736c64e26be48c3ea2ed: no such file or directory

      Run 'docker run --help' for more information


      Stack Trace

         at Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.Docker.RunProcessAndThrowIfFailed(String fileName, String arguments, String prefix, ILogger logger, TimeSpan timeout) in /_/src/SignalR/server/StackExchangeRedis/test/Docker.cs:line 167
      at Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.Docker.<StartRedis>g__Run|11_0(<>c__DisplayClass11_0&) in /_/src/SignalR/server/StackExchangeRedis/test/Docker.cs:line 116
      at Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.Docker.StartRedis(ILogger logger) in /_/src/SignalR/server/StackExchangeRedis/test/Docker.cs:line 88
      at Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.Docker.Start(ILogger logger) in /_/src/SignalR/server/StackExchangeRedis/test/Docker.cs:line 128
      at Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.RedisServerFixture`1..ctor() in /_/src/SignalR/server/StackExchangeRedis/test/RedisServerFixture.cs:line 36
      at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Constructor(Object obj, IntPtr* args)
      at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)

Was this helpful? Yes No