Skip to content

Propagate required tool-probe failures from native ARM64 diagnostics #579

Description

@LunaStev

Source-audit reproduction

The native diagnostic helper runs compiler-version, default-target, LLVM-version, and debugger-version probes but discards every return value. It initializes failed = False afterward. As a result, its final result can claim success despite failed compiler/toolchain probes.

I exercised the actual main() control flow in an isolated temporary directory with an ARM64 PE header and injected probe results. Returning 7 for all four version/target probes and 0 for the check/build probes yields overall exit 0. No repository source was modified for the reproduction.

The actual PR #574 native job had successful version probes and failed compilation; this additional bug was found by auditing that diagnostic path, not claimed as its observed failure cause.

Acceptance

  • Identify required compiler/target/LLVM probes and propagate their failure to the final diagnostic status.
  • Report unavailable debugger capability explicitly; decide whether it is mandatory when crash collection is needed instead of silently discarding its result.
  • Continue collecting useful independent evidence after a probe failure while retaining the failure status.
  • Add injected-probe tests for nonzero exit, launch failure, timeout, and successful required probes.

Keep this scoped to diagnostic status handling. The compiler access violation remains #493; existing PowerShell smoke exit handling is tracked in #505.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugA problem that causes incorrect behavior or crashes.ciGitHub CI or CIgood first issueIssues that are good for newcomers or first-time contributors.needs testingIssues that require additional testing or verification.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions