Describe the bug
On MacOS dotnet crashes when concurrency is high during MTP testing with Stryker. On my machine it crashes consistently when running with MTP against Polly.Specs. This seems related to dotnet/runtime#132581
I've used Claude to analyze this and it seems unrelated to the current Stryker implementation. It is a genuine bug in the dotnet runtime that surfaces in this specific usecase.
There are a few workarounds available:
- Setting the concurrency to 1 seems to stop the issue from happening. But that costs a lot of performance. I've tried with
-c 2, -c 4, -c 7 and they all fail at some point, it just takes a while. With -c 20 the issue happens very quick.
- Set env variable
DOTNET_INTERNAL_ThreadSuspendInjection=0 before starting Stryker. This seems to prevent the issue from happening.
- I have a working workaround in code that wraps Stryker in a second process on MacOS and restarts the process when it crashes. It also sets the
DOTNET_INTERNAL_ThreadSuspendInjection variable. It seems to work, but is a weird piece of code to include in stryker...
Logs
There are no useful Stryker logs for this. It is the dotnet runtime that is crashing. The stryker logging just stops at a random point without any exception being thrown. Below I attached a Mac crash report.
dotnet-2026-08-28-114857.txt
Expected behavior
I expect to be able to use concurrency on MacOS.
Desktop (please complete the following information):
- OS: MacOS 26.6.2
- Type of project: Core
- Framework Version: Core 6.0 (runtime 10.0)
- Stryker Version: latest main
Additional context
Add any other context about the problem here.
Describe the bug
On MacOS dotnet crashes when concurrency is high during MTP testing with Stryker. On my machine it crashes consistently when running with MTP against Polly.Specs. This seems related to dotnet/runtime#132581
I've used Claude to analyze this and it seems unrelated to the current Stryker implementation. It is a genuine bug in the dotnet runtime that surfaces in this specific usecase.
There are a few workarounds available:
-c 2,-c 4,-c 7and they all fail at some point, it just takes a while. With-c 20the issue happens very quick.DOTNET_INTERNAL_ThreadSuspendInjection=0before starting Stryker. This seems to prevent the issue from happening.DOTNET_INTERNAL_ThreadSuspendInjectionvariable. It seems to work, but is a weird piece of code to include in stryker...Logs
There are no useful Stryker logs for this. It is the dotnet runtime that is crashing. The stryker logging just stops at a random point without any exception being thrown. Below I attached a Mac crash report.
dotnet-2026-08-28-114857.txt
Expected behavior
I expect to be able to use concurrency on MacOS.
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.