| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
The System.Runtime EventSource (RuntimeEventSource), was unintentionally being garbage collected because it wasn't rooted. This caused runtime EventCounters to no longer be available after GC occurred. This was a regression from a recent change (#106014). That change accidentally converted the static field that was intended to the root the object into a property getter that returned a new instance each time it was called. This fix converts the property back into a statically initialized field. This will fix #107919 once it is backported.
Sorry, something went wrong.
There was a problem hiding this comment.
lgtm. we will take for consideration in 9 GA
Sorry, something went wrong.
|
Tagging subscribers to this area: @tarekgh, @tommcdon, @pjanotti |
Sorry, something went wrong.
|
/ba-g no real failure in the build analysis. The CI just skipped one leg. |
Sorry, something went wrong.
|
Could someone have permission help merge this PR? Thanks! |
Sorry, something went wrong.
I believe @jeffschwMSFT has merge permissions |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Backport of #108266 to release/9.0
/cc @noahfalk
Customer Impact
Starting in RC1 runtime metrics available via dotnet-counters, dotnet-monitor, Visual Studio and potentially other tools were missing if the tool wasn't started quickly after app startup. Once the metrics were missing they are unrecoverable for the remainder of the process lifetime.
The underlying cause is that the RuntimeEventSource object which provides the counters was being garbage collected because it isn't properly rooted. The timing on how quickly the counters go away depend on how quickly the GC runs.
Regression
Regressed starting in RC1, caused by #106014
Testing
I manually tested the change using the repro provided in the issue report.
Risk
Low - the change restores behavior that was present before the regression, its a tiny code change that is easy to reason about, and its been tested.