Conversation
|
Tagging subscribers to this area: @dotnet/ncl Issue DetailsFixes #55894
|
|
/azp run runtime-libraries stress-http |
|
Azure Pipelines successfully started running 1 pipeline(s). |
wfurt
left a comment
There was a problem hiding this comment.
Should we create test to verify that setting HTTP version to 3.0 will send correct/expected ALPN in handshake?
src/libraries/Common/tests/System/Net/Http/Http3LoopbackServer.cs
Outdated
Show resolved
Hide resolved
src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http3Connection.cs
Show resolved
Hide resolved
I was observing transport (msquic) failures with ALPN_NEG_FAILURE when I've updated Http3Connection to "h3" but not yet updated Http3LoopbackServer, so existing tests kind-of check that implicitly. But I'll see how to create more explicit test. |
|
I am observing a lot of stress failures for HTTP/3 (but it's not like all of them fail). I don't know whether it was this change that regressed it or some other change. I would expect it to fail completely if it was this change, so I have doubts, but I will investigate. |
|
is there need to update asp.net as well? |
|
Re this:
This seems super weird, any idea what's up here? |
|
Stress regression is unrelated, shows on main, created an issue for that #56310 |
@wfurt I wasn't able to come up with an idea on how to verify that explicitly. ALPN is hidden in QUIC handshake, isn't it? So I don't know how to intercept msquic to get that information... Do you have some ideas on how I could achieve that?
@geoffkizer It could be that the server just isn't working for some reason, but we need to investigate in #54726
@wfurt ASP.NET Core tests will need to be updated |
|
I don't think we need to hold back for the test @CarnaViire. It would be nice. I see two possible strategies. QuicConnection has NegotiatedApplicationProtocol. And the handshake happens early on. So it seems like if you create QuicListener and do HttpRequest to it you should know - even if everything else fails. Alternatively we could update Loopback server and/or get access to it via some reflection. |
We'll update our configurable ALPN to h3. The property will probably be removed for RC1. |
Fixes #55894
Re #54726: I've taken a quick look on whether interop tests would start working after this. For
Public_Interop_Upgrade_Success, it now works with LiteSpeed and Cloudflare servers and does not with Chromium one (error CONNECTION_IDLE).Public_Interop_Upgrade_Successstill does not work at all, however the test itself seemed strange to me, but I didn't spend much time analyzing.