.NET 9 contains a regression where ICorDebugStepper's are not always firing. The issue is non-deterministic, and causes intermittent failures in our debugging tests, and we have had a few customers reports of the problem.
Reproduction Steps
A Microsoft employee can reproduce this problem by:
Enlisting in the 'Concord' repo
Following instructs in '/glass.md' for setting up a local test environment
Open Test Explorer
Enter “CSAsyncStepOverinTryBlock-NetCore-Latest-x64” in the filter box
Navigate to the test
Right click and invoke “Run Until Failure”
Expected behavior
Stepper should complete
Actual behavior
Stepper sometimes fails to detect when it is complete and this the debugger behaves as if there was no stepper
Regression?
This regressed between .NET 8 and .NET 9
Known Workarounds
None
Configuration
So far all of the reports are from Windows, but I don't know if this is actually a causal connection.
We have at least mostly seen this on x64, but again, I am not sure if that is actually a causal connection or just because that is the most frequent configuration
Description
.NET 9 contains a regression where ICorDebugStepper's are not always firing. The issue is non-deterministic, and causes intermittent failures in our debugging tests, and we have had a few customers reports of the problem.
Reproduction Steps
A Microsoft employee can reproduce this problem by:
Expected behavior
Stepper should complete
Actual behavior
Stepper sometimes fails to detect when it is complete and this the debugger behaves as if there was no stepper
Regression?
This regressed between .NET 8 and .NET 9
Known Workarounds
None
Configuration
So far all of the reports are from Windows, but I don't know if this is actually a causal connection. We have at least mostly seen this on x64, but again, I am not sure if that is actually a causal connection or just because that is the most frequent configuration
Other information
No response