Skip to content

cDAC + SOS validation behavior #124829

@noahfalk

Description

@noahfalk

Currently SOS + DAC has built-in logic to validate various runtime datastructures at different points in the analysis. When these validations fail often SOS will bluntly report that a given pointer isn't a valid XYZ type. Developers using SOS don't get much control over this and we see various problems:

  • When a dev is intentionally trying to investigate a datastructure that has been corrupted SOS might block them from seeing any info about it because the validation check eagerly reports failure.
  • Other times invalid state goes unnoticed until deeper into some analysis at which point SOS isn't prepared for it and it fails in unhelpful ways

I don't expect there is any one best scheme for validating EE data types. Instead we should explore what we can do to add a bit more flexibility and consider if default behavior should be changed. As a concrete example all the DumpXYZ commands should probably have an option to do best-effort data display with warnings about bad data rather than displaying an error only.

See the discussion in #124780 for more history on this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-Diagnostics-coreclrenhancementProduct code improvement that does NOT require public API changes/additions

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions