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/7.0] Fix issue #74741 - assert failure during weak pointer scanning. #74894

Merged
merged 2 commits into from
Sep 2, 2022

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Aug 31, 2022

Backport of #74810 to release/7.0

/cc @AntonLapounov @PeterSolMS

This fixes the assertion that I am regularly hitting in GC stress runs for crossgen2 (it is not specific to crossgen2 though). The fix is in debug-only code that validates the sync block record associated with an object and does not affect the release build. Makes it easier to run GC stress for crossgen2.

…::IsPromoted so we can zero out object pointers to objects that weren't marked. At the same time, one thread may do the same for the sync block table. When the first kind of threads validate the object, they also validate the sync block entry that may have already been zeroed - this causes an assert failure. I don't think there is any bad effect apart from the assert failure though.

The fix is to simply call Object::Validate with a bVerifySyncBlock of FALSE if the object hasn't been marked.
…eader::Validate with just one parameter that is used in Native AOT and the standalone GC.

Fix is simply to declare, but ignore the extra parameters.
@ghost
Copy link

ghost commented Aug 31, 2022

Tagging subscribers to this area: @dotnet/gc
See info in area-owners.md if you want to be subscribed.

Issue Details

Backport of #74810 to release/7.0

/cc @AntonLapounov @PeterSolMS

Customer Impact

Testing

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.

Author: github-actions[bot]
Assignees: -
Labels:

area-GC-coreclr

Milestone: -

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. once we get a green ci we can merge.

@carlossanlop
Copy link
Member

@AntonLapounov @PeterSolMS this PR was submitted yesterday around 2:30PM, and the CI went down for maintenance at around 4PM.

I am unsure if the running legs were allowed to finish or not. @alexperovich can you confirm?

While we get confirmation, do you mind checking the CI results manually and verify that the relevant tests were executed?

@carlossanlop
Copy link
Member

Update: I was told the safe thing to do is to close and reopen PRs that may have been impacted by the system being down. The CI runs might have kept running during maintenance, but the results probably didn't flow to GitHub.

@carlossanlop
Copy link
Member

I opened an issue for the NativeAOT test failure: #75005

@carlossanlop
Copy link
Member

Approved, signed off, failure seems unrelated (it did not show up in the main PR), so this looks ready to merge. :shipit:

@carlossanlop carlossanlop merged commit 8b6997f into release/7.0 Sep 2, 2022
@carlossanlop carlossanlop deleted the backport/pr-74810-to-release/7.0 branch September 2, 2022 17:15
@ghost ghost locked as resolved and limited conversation to collaborators Oct 2, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants