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][sgen] Add separate card mark function to be used with debug #110269

Open
wants to merge 1 commit into
base: release/8.0-staging
Choose a base branch
from

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Nov 29, 2024

Backport of #109698 to release/8.0-staging

/cc @BrzVlad

Customer Impact

There are existing GC related crashes in the wild, that are currently impossible to investigate. A debug option that might assist this is MONO_GC_DEBUG=check-remset-consistency, however a customer reported that this option reports false positives. This PR fixes these false positives, hopefully assisting in the investigation of aforementioned GC crashes.

Regression

No.

Testing

Manual testing locally.

Risk

Low. This change has no impact unless a certain debug flag is passed, flag which is used for the sole purpose of tracking down GC crashes.

When marking cards for a non-array object or a an element vt in an object, it is enough to mark a card for any address within that object/vt because they are always fully scanned. Cardtable consistency checks are not accounting for this detail and it is difficult to have it implemented. Instead, when having such debug flags enabled, we use an explicit approach where every single card is being marked.
Copy link
Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-GC-mono Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant