-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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/7.0] [Mono] Fix function pointer check #80927
Conversation
CI failures on |
/cc @carlossanlop - this is approved via Tactics email and failures are not related. This is ready to be merged. |
Thanks for the ping, @SamMonoRT. I will merge it once the branches open again after branding. |
@carlossanlop -- the newly added test for the fix has exposed a CoreCLR limitation in the runtime-coreclr-outerloop lanes. @trylek is working on the fix via #81122 and should issue a request to backport the fix to 7.0 too to avoid lanes broken in servicing runs. Please don't merge this PR till we have the fix approved for backport. I'll let you know when it's ready. |
/azp run runtime-coreclr outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
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.
LGTM, thank you!
CI test failures are not related to the change in this PR. |
I have merged the fix into runtime main but I have yet to figure out how to properly backport it: The automated backport naturally failed as my fix should remove the Thanks a lot Tomas |
@trylek is it possible to hand port the change? It seems small enough. It is rare that we run into conflicts like this, and as you mention there are a few ways forward. I would pick the one with the lowest cost and best outcome. |
@jeffschwMSFT - the actual change by itself is trivial, the tricky part is the "state machine" that this change constitutes in combination with @fanyang-mono's #80927, we are both requesting backports and our changes are intertwined in a way, we need to figure out how to resolve that or whether we should somehow combine them in a single backporting request. |
@trylek @jeffschwMSFT I suggest that we merge this PR first. Then Tomas's PR should be able to be backported using the bot. That way we avoid doing things manually. And everything should be able to get in smoothly. |
Based on tactical discussion with @SamMonoRT and @fanyang-mono we agreed that the easiest way to resolve the "state machine" I described above will be to backport my Crossgen2 fix along with Fan's original PR. I have pushed an extra commit with manual backport of the Crossgen2 fix per #81122 to this branch, I have deleted the Thanks Tomas |
@trylek @fanyang-mono : Please confirm CI failures are not related to the changes. |
Kicked off a re-run. Will check the ones failed after re-run. |
CI failures are not related to the change in this PR. Steve has approved this via Tactics email. This is ready to be merged. /cc @carlossanlop |
Approved by Tactics via email for 7.0.4. |
Backport of #80855 to release/7.0
Backport of #81286 to release/7.0
Backport of #81122 to release/7.0
/cc @fanyang-mono
Customer Impact
This is a fix to a MAUI Android customer reported issue (#80095). In general, customers who use function pointer with Mono JIT or interpreter mode can be impacted by this bug. It also includes backport of the PR #81122 with fix for Crossgen2 bug uncovered by the new unit test introduced as part of the PR #80855.
Testing
Validated using customer provided Maui Android app. The reported exception is no longer happening with this change. On top of that, I added new runtime tests to lockdown this behavior. They passed when testing with main.
Risk
No known risk.
IMPORTANT: Is this backport for a servicing release? If so and this change touches code that ships in a NuGet package, please make certain that you have added any necessary package authoring and gotten it explicitly reviewed.