-
Notifications
You must be signed in to change notification settings - Fork 5k
[release/7.0] Fix issue #74741 - assert failure during weak pointer scanning. #74894
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
Conversation
…::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.
Tagging subscribers to this area: @dotnet/gc Issue DetailsBackport of #74810 to release/7.0 /cc @AntonLapounov @PeterSolMS Customer ImpactTestingRiskIMPORTANT: 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.
|
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.
approved. once we get a green ci we can merge.
@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? |
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. |
I opened an issue for the NativeAOT test failure: #75005 |
Approved, signed off, failure seems unrelated (it did not show up in the main PR), so this looks ready to merge. |
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.