Uh oh!
There was an error while loading. Please reload this page.
[cDAC] Fix context alignment and content on debug validation paths - #129720
Conversation
Tagging subscribers to this area: @steveisok, @tommcdon, @dotnet/dotnet-diag |
There was a problem hiding this comment.
Pull request overview
This PR adjusts cDAC interop/debug-validation code paths to (1) ensure thread/context buffers are 16-byte aligned before being passed to callbacks/legacy implementations and (2) clear native buffers before they’re written/compared, reducing the chance of alignment faults and spurious diffs from uninitialized bytes.
Changes:
- Zero-initialize the temporary aligned buffer used when calling the
readThreadContextdelegate inmscordaccore_universal. - Replace
byte[] + fixedwithNativeMemory.AlignedAlloc(..., 16)in legacy stack-walk validation paths, and clear the native buffer before calling legacy APIs.
Show a summary per file
| File | Description |
|---|---|
src/native/managed/cdac/mscordaccore_universal/Entrypoints.cs | Clears the temporary aligned buffer before invoking readThreadContext. |
src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Legacy/Dbi/DacDbiImpl.cs | Uses 16-byte-aligned native buffers (and clears them) when calling legacy stack-walk APIs for validation. |
Copilot's findings
- Files reviewed: 2/2 changed files
- Comments generated: 5
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
rcj1
commented
Jun 23, 2026
/ba-g known sos and x86 issues |
Uh oh!
There was an error while loading. Please reload this page.
…129720) Ensure that buffers passed into debug validation are 16-aligned. Also ensure that native memory is cleared before writing into it.
Ensure that buffers passed into debug validation are 16-aligned. Also ensure that native memory is cleared before writing into it.