Uh oh!
There was an error while loading. Please reload this page.
[release/7.0] Fix issue #74741 - assert failure during weak pointer scanning. - #74894
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.
ghost
commented
Aug 31, 2022
Tagging subscribers to this area: @dotnet/gc Issue DetailsBackport of #74810 to release/7.0 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.
|
jeffschwMSFT
left a comment
There was a problem hiding this comment.
approved. once we get a green ci we can merge.
carlossanlop
commented
Sep 1, 2022
@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
commented
Sep 1, 2022
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
commented
Sep 2, 2022
I opened an issue for the NativeAOT test failure: #75005 |
carlossanlop
commented
Sep 2, 2022
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.