You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
QUIC fails to work after upgrading libmsquic to latest version #105788
The QuicConnection.IsSupported property returns false when libmsquic is upgraded to latest version 2.4.0 on Debian 12.6 (bookworm).
Reproduction Steps
Prepare a VM with Debian 12.6 (bookworm) and install libmsquic version 2.4.0 from Microsoft packages. Write a small console app to print to console response of QuicConnection.IsSupported property.
Expected behavior
The QuicConnection.IsSupported should return true when latest libmsquic is installed.
Actual behavior
The QuicConnection.IsSupported returns false when latest libmsquic is installed.
Regression?
Downgrading libmsquic to version 2.3.6 fixes this issue so seems like an issue only with version 2.4.0.
Known Workarounds
No response
Configuration
.NET 8.0.7 Runtime
Debian 12.6 (bookworm)
Observed on x64, not tested on other platforms.
Have received multiple feedback from different users so does not seem to be related to specific config.
Basically it tries to load libmsquic.so.2 or libmsquic.so, then calls initialization. You can check network event source or manually replicate the steps to identify which step is failing.
Tested this on latest Raspberry Pi OS which is based on Debian 12 on Raspberry Pi 4B (arm64) with libmsquic version 2.4.0 works without any issues.
Also tested this on Ubuntu Server 24.04 LTS (x64) with libmsquic version 2.4.0 and it too has the same issue and QuicConnection.IsSupported returns false. Trying to make a QUIC connection throws following exception:
System.PlatformNotSupportedException: System.Net.Quic is not supported on this platform: Unable to load MsQuic library version '2'.
at System.Net.Quic.QuicConnection.ConnectAsync(QuicClientConnectionOptions options, CancellationToken cancellationToken)
I face the same issue with the prerelease .NET 9 version and ASP.NET Core on Linux Ubuntu 22.04:
System.InvalidOperationException: Unable to bind an HTTP/3 endpoint. This could be because QUIC has not been configured using UseQuic, or the platform doesn't support QUIC or HTTP/3.
Seems to work when I install v2.3.6 explicitly instead of 2.4.0
We're working with MsQuic team to fix this atm, the libmsquic 2.4 on packages.microsoft.com has an issue with dependencies. Workaround is to downgrade back to libmsquic 2.3.6. I'll let you know here when the package is fixed.
I tested this on Ubuntu Server 24.04 and the issue still persists with libmsquic version 2.4.1.
System.PlatformNotSupportedException: System.Net.Quic is not supported on this platform: Unable to load MsQuic library version '2'.
at System.Net.Quic.QuicConnection.ConnectAsync(QuicClientConnectionOptions options, CancellationToken cancellationToken)
I tested this on Ubuntu Server 24.04 and the issue still persists with libmsquic version 2.4.1.
System.PlatformNotSupportedException: System.Net.Quic is not supported on this platform: Unable to load MsQuic library version '2'.
at System.Net.Quic.QuicConnection.ConnectAsync(QuicClientConnectionOptions options, CancellationToken cancellationToken)
Yes, looks like this is still reproducing for Ubuntu 24.04
This issue should be fixed with msquic 2.4.3 release. If you can repro same issue again feel free to re-open/comment in this issue, so we can take a look.
Activity
dotnet-policy-service commentedon Aug 1, 2024
Tagging subscribers to this area: @dotnet/ncl
See info in area-owners.md if you want to be subscribed.
huoyaoyuan commentedon Aug 1, 2024
Has msquic released a 2.4.0 version? The latest version on releases or tags page is still 2.3.6.
The msquic detection code is here:
runtime/src/libraries/System.Net.Quic/src/System/Net/Quic/Internal/MsQuicApi.cs
Lines 90 to 199 in e3684bc
Basically it tries to load
libmsquic.so.2orlibmsquic.so, then calls initialization. You can check network event source or manually replicate the steps to identify which step is failing.ShreyasZare commentedon Aug 1, 2024
The version 2.4.0 package is already available on official Microsoft packages: https://packages.microsoft.com/debian/12/prod/pool/main/libm/libmsquic/
wfurt commentedon Aug 1, 2024
can you try
ldd libmsquic.so@ShreyasZare. I'm wondering if there is dependency problem....wfurt commentedon Aug 1, 2024
cc: @nibanks
ShreyasZare commentedon Aug 1, 2024
Tried this command on multiple systems (Debian, Ubuntu) and the output is always:
ShreyasZare commentedon Aug 1, 2024
Tested this on latest Raspberry Pi OS which is based on Debian 12 on Raspberry Pi 4B (arm64) with
libmsquicversion2.4.0works without any issues.Also tested this on Ubuntu Server 24.04 LTS (x64) with
libmsquicversion2.4.0and it too has the same issue andQuicConnection.IsSupportedreturnsfalse. Trying to make a QUIC connection throws following exception:I have also posted this in a comment on this msquic issue.
Not sure if this is .NET specific issue or an issue with
libmsquicitself.ladeak commentedon Aug 1, 2024
I face the same issue with the prerelease .NET 9 version and ASP.NET Core on Linux Ubuntu 22.04:
System.InvalidOperationException: Unable to bind an HTTP/3 endpoint. This could be because QUIC has not been configured using UseQuic, or the platform doesn't support QUIC or HTTP/3.Seems to work when I install v2.3.6 explicitly instead of 2.4.0
ShreyasZare commentedon Aug 2, 2024
Yes, Kestrel web server (ASP.NET Core) is also having same issue when attempting to enable HTTP/3 support.
ManickaP commentedon Aug 2, 2024
We're working with MsQuic team to fix this atm, the libmsquic 2.4 on packages.microsoft.com has an issue with dependencies. Workaround is to downgrade back to libmsquic 2.3.6. I'll let you know here when the package is fixed.
liveans commentedon Aug 5, 2024
msquic 2.4.1 released (https://github.com/microsoft/msquic/releases/tag/v2.4.1) and packages are uploaded.
Problem is not reproducing anymore with new package.
ShreyasZare commentedon Aug 6, 2024
I tested this on Ubuntu Server 24.04 and the issue still persists with
libmsquicversion2.4.1.liveans commentedon Aug 6, 2024
Yes, looks like this is still reproducing for Ubuntu 24.04
liveans commentedon Aug 6, 2024
@ShreyasZare looks like some dependencies are still missing for Ubuntu 24.04, and we will be working with msquic team to fix it.
As a temporary workaround can you install libmsquic with these dependencies:
Command:
Can you verify this fixes your issue as a workaround?
ShreyasZare commentedon Aug 6, 2024
@liveans Thanks for the suggestion. I tried installing those dependencies on Ubuntu 24.04 (x64) and it worked. Thanks for that!
liveans commentedon Aug 11, 2024
This issue should be fixed with msquic 2.4.3 release. If you can repro same issue again feel free to re-open/comment in this issue, so we can take a look.