Skip to content
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

[release/8.0-staging] [mono][eventpipe] Fix firing dynamic method wrappers crash #99712

Merged

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Mar 13, 2024

Backport of #99617 to release/8.0-staging

/cc @mdh1418

Customer Impact

  • Customer reported
  • Found internally

#93687
dotnet/diagnostics#4542

Applications using the mono runtime may crash while closing an EventPipeSession when working with diagnostics tooling. If the application contains code compiled as dynamic method wrappers by the mono compiler that is hit during an EventPipeSession, the mono runtime eventpipe provider will attempt to fire the corresponding method event during rundown, which occurs when closing the EventPipeSession (e.g. Pressing Enter or Ctrl+c to stop dotnet trace collect). If the dynamic method wrapper is missing the method_data metadata, an assert will crash the application.

Regression

  • Yes
  • No

Testing

Reproduced the application crash by following reproduction steps from dotnet/diagnostics#4542.
After Injecting a locally built runtime with the following change, the application no longer crashes upon ending the dotnet trace collect process.

Risk

Low. The assert is circumvented for dynamic method wrappers.

@lambdageek lambdageek added the Servicing-consider Issue for next servicing release review label Mar 13, 2024
@lambdageek lambdageek added this to the 8.0.x milestone Mar 13, 2024
Copy link
Member

@jeffschwMSFT jeffschwMSFT left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approved. we will take for consideration in 8.0.x

@rbhanda rbhanda added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Mar 14, 2024
@rbhanda rbhanda modified the milestones: 8.0.x, 8.0.5 Mar 14, 2024
@ericstj ericstj merged commit cd27afe into release/8.0-staging Apr 15, 2024
108 of 111 checks passed
@jkotas jkotas deleted the backport/pr-99617-to-release/8.0-staging branch April 17, 2024 01:26
@github-actions github-actions bot locked and limited conversation to collaborators May 17, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-VM-meta-mono Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants