-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Closed
Labels
area-System.Net.HttpenhancementProduct code improvement that does NOT require public API changes/additionsProduct code improvement that does NOT require public API changes/additions
Milestone
Description
This showed up in attempt to add Windows 11 test queue. We never tried to run WinHttp with TLS 1.3 before.
At this point it is not clear if this is limitation of WinHttp or if there is work we need to do at .NET.
Easy to reproduce locally:
System.Net.Http.Functional.Tests.PlatformHandler_HttpClientHandler_SslProtocols_Http2_Test.GetAsync_AllowedSSLVersion_Succeeds(acceptedProtocol: Tls13, requestOnlyThisProtocol: True) [FAIL]
System.Net.Http.HttpRequestException : An error occurred while sending the request.
---- System.Net.Http.WinHttpException : Error 87 calling SetSessionHandleTlsOptions, 'The parameter is incorrect.'.
Stack Trace:
C:\Users\test\github\wfurt-runtime\src\libraries\System.Net.Http\src\System\Net\Http\HttpClient.cs(527,0): at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
C:\Users\test\github\wfurt-runtime\src\libraries\Common\tests\System\Threading\Tasks\TaskTimeoutExtensions.cs(55,0): at System.Threading.Tasks.TaskTimeoutExtensions.WhenAllOrAnyFailed(Task[] tasks)
C:\Users\test\github\wfurt-runtime\src\libraries\Common\tests\System\Threading\Tasks\TaskTimeoutExtensions.cs(82,0): at System.Threading.Tasks.TaskTimeoutExtensions.WhenAllOrAnyFailed(Task[] tasks)
C:\Users\test\github\wfurt-runtime\src\libraries\Common\tests\System\Threading\Tasks\TaskTimeoutExtensions.cs(49,0): at System.Threading.Tasks.TaskTimeoutExtensions.WhenAllOrAnyFailed(Task[] tasks, Int32 millisecondsTimeout)
C:\Users\test\github\wfurt-runtime\src\libraries\Common\tests\System\Net\Http\HttpClientHandlerTest.SslProtocols.cs(135,0): at System.Net.Http.Functional.Tests.HttpClientHandler_SslProtocols_Test.<>c__DisplayClass5_1.<<GetAsync_AllowedSSLVersion_Succeeds>b__2>d.MoveNext()
--- End of stack trace from previous location ---
C:\Users\test\github\wfurt-runtime\src\libraries\Common\tests\System\Net\Http\LoopbackServer.cs(101,0): at System.Net.Test.Common.LoopbackServer.CreateServerAsync(Func`2 funcAsync, Options options)
C:\Users\test\github\wfurt-runtime\src\libraries\Common\tests\System\Net\Http\HttpClientHandlerTest.SslProtocols.cs(133,0): at System.Net.Http.Functional.Tests.HttpClientHandler_SslProtocols_Test.GetAsync_AllowedSSLVersion_Succeeds(SslProtocols acceptedProtocol, Boolean requestOnlyThisProtocol)
--- End of stack trace from previous location ---
----- Inner Stack Trace -----
C:\Users\test\github\wfurt-runtime\src\libraries\System.Private.CoreLib\src\System\Environment.cs(210,0): at System.Environment.get_StackTrace()
C:\Users\test\github\wfurt-runtime\src\libraries\Common\src\System\Runtime\ExceptionServices\ExceptionStackTrace.cs(22,0): at System.Runtime.ExceptionServices.ExceptionStackTrace.AddCurrentStack(Exception exception)
C:\Users\test\github\wfurt-runtime\src\libraries\System.Net.Http.WinHttpHandler\src\System\Net\Http\WinHttpException.cs(58,0): at System.Net.Http.WinHttpException.CreateExceptionUsingError(Int32 error, String nameOfCalledFunction)
C:\Users\test\github\wfurt-runtime\src\libraries\System.Net.Http.WinHttpHandler\src\System\Net\Http\WinHttpHandler.cs(1196,0): at System.Net.Http.WinHttpHandler.SetSessionHandleTlsOptions(SafeWinHttpHandle sessionHandle)
C:\Users\test\github\wfurt-runtime\src\libraries\System.Net.Http.WinHttpHandler\src\System\Net\Http\WinHttpHandler.cs(1121,0): at System.Net.Http.WinHttpHandler.SetSessionHandleOptions(SafeWinHttpHandle sessionHandle)
C:\Users\test\github\wfurt-runtime\src\libraries\System.Net.Http.WinHttpHandler\src\System\Net\Http\WinHttpHandler.cs(876,0): at System.Net.Http.WinHttpHandler.EnsureSessionHandleExists(WinHttpRequestState state)
C:\Users\test\github\wfurt-runtime\src\libraries\System.Net.Http.WinHttpHandler\src\System\Net\Http\WinHttpHandler.cs(901,0): at System.Net.Http.WinHttpHandler.StartRequestAsync(WinHttpRequestState state)
C:\Users\test\github\wfurt-runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\CompilerServices\AsyncMethodBuilderCore.cs(38,0): at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
at System.Net.Http.WinHttpHandler.StartRequestAsync(WinHttpRequestState state) in System.Net.Http.WinHttpHandler.dll:token 0x60000da+0x26
C:\Users\test\github\wfurt-runtime\src\libraries\System.Net.Http.WinHttpHandler\src\System\Net\Http\WinHttpHandler.cs(632,0): at System.Net.Http.WinHttpHandler.<>c.<SendAsync>b__117_0(Object s)
C:\Users\test\github\wfurt-runtime\src\libraries\System.Private.CoreLib\src\System\Threading\ExecutionContext.cs(268,0): at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
C:\Users\test\github\wfurt-runtime\src\libraries\System.Private.CoreLib\src\System\Threading\Tasks\Task.cs(2331,0): at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
Metadata
Metadata
Assignees
Labels
area-System.Net.HttpenhancementProduct code improvement that does NOT require public API changes/additionsProduct code improvement that does NOT require public API changes/additions