aspnet:10.0 - FailFast crash in TypeDescriptor.GetProperties() / ConcurrentDictionary..ctor() after upgrading from 10.0.8 to 10.0.9
- Dominant language
- C#
- Stars
- 38.4k
- Forks
- 10.9k
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 290
Description
### Describe the bug
After upgrading from mcr.microsoft.com/dotnet/aspnet:10.0.8 to 10.0.9, Blazor Server apps crash with an unhandled FailFast during circuit initialization. Rolling back to 10.0.8 resolves the issue. The crash appears to be a regression introduced by the SignalR/Blazor Server fix for CVE-2026-45591.
The crash occurs after a successful SignalR handshake (blazorpack protocol negotiated) and after StartCircuit / UpdateRootComponents hub invocations complete. It happens during component rendering when TypeDescriptor.GetProperties() is called.
### Which .NET image(s) are you using?
mcr.microsoft.com/dotnet/aspnet:10.0@sha256:ca4d5abeddde5736b1ed2459cec1168af6a9abc710941816415dac00e16d5831
### Steps to reproduce
1. Run a Blazor Server app using mcr.microsoft.com/dotnet/aspnet:10.0.9
2. Behind a reverse proxy (Traefik) with WebSocket support
3. Navigate to a page that loads data and renders components on OnInitializedAsync
4. Process crashes with FailFast — no managed exception is catchable
### Other information
Process terminates immediately with:
```
Process terminated. UnhandledException
at System.Environment.FailFast(...)
at System.Runtime.EH.FallbackFailFast(System.Runtime.RhFailFastReason, System.Object)
at System.Runtime.EH.UnhandledExceptionFailFastViaClasslib(...)
at System.Runtime.EH.DispatchEx(...)
at System.Collections.Concurrent.ConcurrentDictionary`2..ctor()
at System.ComponentModel.TypeDescriptor+DefaultTypeDescriptor.GetProperties()
```
With a native crash dump (when enabled) showing:
```
[createdump] Crashing thread 000f signal 11 (000b)
[createdump] Writing minidump with heap to file /tmp/coredump.1
```
### Output of `docker version`
```console
```
### Output of `docker info`
```console
```
Contributor guide
Research direction
Reproduce the crash with the aspnet:10.0.9 image, a Blazor Server app, and the listed SignalR circuit flow; compare behavior with 10.0.8. Start at TypeDescriptor.GetProperties() and ConcurrentDictionary..ctor() after StartCircuit and UpdateRootComponents, then inspect the native dump if available. Done means component rendering completes without FailFast on 10.0.9.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, docker
- Domain
- backend, web-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100