Uh oh!
There was an error while loading. Please reload this page.
[cDAC] Allow testing without fallback - #119078
Conversation
Tagging subscribers to this area: @steveisok, @dotnet/dotnet-diag |
There was a problem hiding this comment.
Pull Request Overview
This PR introduces an environment variable CDAC_DISABLE_FALLBACK that allows testing the cDAC implementation without falling back to the legacy implementation. This enables more targeted testing to verify that the cDAC implementation works independently.
Key changes:
- Adds
FallbackHelperclass to check environment variable and conditionally disable fallback - Wraps all legacy implementation calls with
FallbackHelper.Fallback() - Updates CI pipeline to run tests both with and without fallback enabled
Reviewed Changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| FallbackHelper.cs | New helper class that checks CDAC_DISABLE_FALLBACK environment variable |
| SOSDacImpl.cs | Wraps legacy implementation calls with fallback helper |
| SOSDacImpl.IXCLRDataProcess.cs | Wraps legacy process interface calls with fallback helper |
| SOSDacImpl.ICLRDataEnumMemoryRegions.cs | Wraps legacy memory enumeration calls with fallback helper |
| ClrDataTask.cs | Wraps legacy task interface calls with fallback helper |
| ClrDataStackWalk.cs | Wraps legacy stack walk interface calls with fallback helper |
| ClrDataModule.cs | Wraps legacy module interface calls with fallback helper |
| ClrDataMethodInstance.cs | Wraps legacy method instance interface calls with fallback helper |
| IXCLRData.cs | Updates method signature to use void** instead of out parameter |
| runtime-diagnostics.yml | Adds new CI job that runs tests with fallback disabled |
| runtime-diag-job.yml | Updates job naming to support multiple test configurations |
Comments suppressed due to low confidence (1)
Uh oh!
There was an error while loading. Please reload this page.
max-charlamb
commented
Apr 10, 2026
Closing in favor of #126752 which takes the same approach (env var check in Entrypoints.cs) with an updated pipeline leg. |
Adds an additional pipeline leg to
runtime-diagnosticswhich runs the SOS tests with the cDAC but without the DAC fallback. Verification is still enabled.Not sure if we want to merge this because it will always have a failing leg until the cDAC completely supports the SOS tests on its own.