-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Fix race condition in Microsoft.Extensions.Configuration test #120242
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR fixes a race condition in Microsoft.Extensions.Configuration tests where variable initialization and null checks were creating potential null reference exceptions during concurrent operations. The fix removes unnecessary null checks and initialization tracking variables, simplifying the code to use a do-while loop pattern that guarantees at least one execution.
Key changes:
- Removed redundant null initialization and tracking variables
- Replaced while loops with do-while loops to ensure variables are always assigned before assertions
- Removed temporary instrumentation code that was added for debugging the race condition
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
File | Description |
---|---|
ConfigurationTests.cs | Simplified loop logic by removing optionsInitialized tracking and null initialization, using do-while pattern |
EnvironmentVariablesTest.cs | Removed debugging instrumentation code and applied same race condition fix with do-while pattern |
src/libraries/Microsoft.Extensions.Configuration/tests/FunctionalTests/ConfigurationTests.cs
Show resolved
Hide resolved
Tagging subscribers to this area: @dotnet/area-extensions-configuration |
...es/Microsoft.Extensions.Configuration.EnvironmentVariables/tests/EnvironmentVariablesTest.cs
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for fixing the issue and knowing the underlying reason causing the test failure!
Fixes #109904