Reorder static fields in LoggingEventSource to prevent reentrant bug in FilterSpec parsing#127686
Merged
hoyosjs merged 6 commits intodotnet:mainfrom May 5, 2026
Merged
Conversation
…in FilterSpec parsing
Contributor
|
Tagging subscribers to this area: @dotnet/area-extensions-logging |
hoyosjs
commented
May 2, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
This PR fixes a subtle static initialization order hazard in Microsoft.Extensions.Logging.EventSource.LoggingEventSource where OnEventCommand can be invoked re-entrantly during LoggingEventSource type initialization, causing ParseFilterSpec to observe null separator arrays and parse FilterSpecs incorrectly.
Changes:
- Moves
s_semicolon/s_colonstatic separator initializers ahead ofInstanceso they’re initialized before any re-entrantParseFilterSpeccall. - Adds an explanatory comment documenting the re-entrancy scenario and why declaration order matters.
Member
…hoyosjs/runtime into juhoyosa/fix-loggingeventsource
Member
Author
|
Added a test - I can back out if we think it adds more toil than value |
hoyosjs
commented
May 2, 2026
rosebyte
approved these changes
May 4, 2026
ericstj
reviewed
May 4, 2026
ericstj
reviewed
May 4, 2026
ericstj
approved these changes
May 4, 2026
ericstj
approved these changes
May 4, 2026
noahfalk
approved these changes
May 4, 2026
This was referenced May 5, 2026
Open
Member
Author
|
/ba-g the helix legs timed out waiting on assignment after 8 (!!!) hours |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #127681