Commit 21ef687
[release/10.0] [mono][sgen] Fix card scanning in LOS non-array objects (#125213)
Backport of #125116 to release/10.0
## Customer Impact
- [x] Customer reported
- [ ] Found internally
In some cases, cards marked for non-array LOS objects (objects with size
greater than 8K) were being ignored. This means that the GC could fail
to observe that some object refs were stored inside these large objects.
This can result in GC crashes or other undefined behavior. This can
impact all mono workloads. This issue was confirmed to be hit by a
customer who also investigated it via a GC debug flag. There are other
undiagnosed GC crashes that might hopefully be fixed by this.
## Regression
- [ ] Yes
- [x] No
## Testing
Was able to create a console app reproducing this bug. Validated the
fix.
## Risk
Low. The fix just does an address alignment, in order to scan correctly
an additional card.
Co-authored-by: Vlad Brezae <brezaevlad@gmail.com>1 parent aa66570 commit 21ef687
1 file changed
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
203 | 203 | | |
204 | 204 | | |
205 | 205 | | |
| 206 | + | |
206 | 207 | | |
207 | 208 | | |
208 | 209 | | |
| |||
0 commit comments