Skip cross-bitness cDAC dump tests until ClrMD supports it#127118
Merged
max-charlamb merged 1 commit intodotnet:mainfrom Apr 19, 2026
Merged
Skip cross-bitness cDAC dump tests until ClrMD supports it#127118max-charlamb merged 1 commit intodotnet:mainfrom
max-charlamb merged 1 commit intodotnet:mainfrom
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Skips cDAC dump integration tests when the test host’s pointer size differs from the dump’s architecture (cross-bitness), avoiding known ClrMD limitations related to ClrDataAddress truncation.
Changes:
- Added a cross-bitness check in
DumpTestBase.EvaluateSkipAttributesusingdump-info.jsonarchitecture metadata. - Throws
SkipTestExceptionwith an explanatory message referencing the upstream ClrMD issue.
Reading 64-bit dumps from a 32-bit host is not yet supported by ClrMD due to ClrDataAddress truncation issues (microsoft/clrmd#1423). Skip these tests with a clear message instead of letting them fail. The reverse (64-bit host reading 32-bit dumps) works fine and is not skipped. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
3b15904 to
4f7b9fc
Compare
steveisok
approved these changes
Apr 19, 2026
max-charlamb
pushed a commit
that referenced
this pull request
Apr 27, 2026
Update ClrMD to the first stable release with cross-bitness address truncation fixes (microsoft/clrmd#1423). This version correctly handles sign-extended CLRDATA_ADDRESS values on 32-bit targets, enabling 32-bit hosts to read 64-bit dumps. Remove the cross-bitness dump test skip added in #127118 — ClrMD now supports this scenario. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
max-charlamb
added a commit
that referenced
this pull request
Apr 28, 2026
Update ClrMD to the first stable release with cross-bitness address truncation fixes ([microsoft/clrmd#1423](microsoft/clrmd#1423)). ## Changes - **`eng/Versions.props`**: Update `MicrosoftDiagnosticsRuntimeVersion` from `4.0.0-beta.26210.1` to `4.0.722401` (stable release) - **`DumpTestBase.cs`**: Remove the cross-bitness dump test skip added in #127118 — ClrMD 4.0.722401 now correctly handles sign-extended `CLRDATA_ADDRESS` values, enabling 32-bit hosts to read 64-bit dumps ## What was fixed in ClrMD ClrMD 4.0.722401 includes: - `ClrDataAddress` type with explicit sign-extension handling (`FromTargetAddress` / `ToAddress`) - ABI-safe COM vtable marshalling (addresses as `ulong` primitives, not structs) - `unchecked` casts to prevent `OverflowException` on sign-extended 32-bit addresses - Full verification against `sospriv.idl` in dotnet/runtime ## Cross-platform verification xplat cDAC dump tests pass with the skip removed: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1398682&view=ms.vss-test-web.build-test-results-tab Co-authored-by: Max Charlamb <maxcharlamb@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Skip cDAC dump tests when the host pointer size doesn't match the dump's architecture (e.g., 32-bit host reading 64-bit dumps). Cross-bitness dump reading is not yet supported by ClrMD due to
ClrDataAddresstruncation issues being fixed in microsoft/clrmd#1423.Changes
EvaluateSkipAttributes. WhenIntPtr.Sizedoesn't match the dump architecture fromdump-info.json, the test is skipped with a clear message referencing the upstream fix.Impact
This prevents confusing test failures on x86 Helix legs when they attempt to load x64 dumps (and vice versa). Once microsoft/clrmd#1423 is merged and the ClrMD package is updated, this skip can be removed.