Skip to content

winget configure test crashes with 0x8a15c00f after all resources complete #6217

@denelon

Description

@denelon

Relevant area(s)

  • WinGet CLI
  • PowerShell Module
  • COM API
  • DSC Resource

Relevant command(s)

  • winget configure
  • winget download
  • winget dscv3
  • winget export
  • winget features
  • winget font
  • winget hash
  • winget import
  • winget install
  • winget list
  • winget mcp
  • winget pin
  • winget repair
  • winget search
  • winget settings
  • winget show
  • winget source
  • winget uninstall
  • winget upgrade
  • winget validate

Brief description of your issue

winget configure test crashes with error 0x8a15c00f at ConfigurationFlow.cpp:8ae after successfully testing all resources. The crash occurs during result display/aggregation — not during resource evaluation. All resources complete their test operations successfully according to verbose logs, but the process hangs and never returns output to the caller.

Context: This was discovered while programmatically invoking winget configure test from GitHub Copilot CLI (a terminal-based agent). The process was launched via PowerShell with --disable-interactivity and --accept-configuration-agreements flags. The agent monitors progress by tailing verbose logs. The crash is reproducible across both v2 (DSC schema 0.2) and v3 (dscv3 processor) configurations.

This is particularly impactful for automated/programmatic callers because:

  1. There is no structured output — the caller cannot determine test results without parsing logs
  2. The process hangs indefinitely after the crash instead of exiting with an error code
  3. --disable-interactivity does not suppress the spinner, flooding stdout with ANSI sequences that are difficult to parse programmatically

Steps to reproduce

  1. Create a configuration file with 20+ resources (packages, GitClone, WindowsOptionalFeature, etc.)
  2. Run: winget configure test <file> --accept-configuration-agreements --disable-interactivity --verbose-logs
  3. Wait for all resources to complete testing (15-30 minutes depending on resource count)
  4. Observe the process hangs and never returns results

Expected behavior

winget configure test should complete and return structured test results to stdout after all resources finish testing, then exit with an appropriate exit code.

Actual behavior

All resources test successfully (confirmed via verbose logs), then the process crashes:

[CONF] ... done invoking `Test`.   # Last resource completes
[CLI ] Terminating context: 0x8a15c00f at C:\__w\1\s\external\pkg\src\AppInstallerCLICore\Workflows\ConfigurationFlow.cpp:8ae

The process hangs indefinitely after this — it does not exit. Caller must forcefully terminate it.

Reproduced on:

  • v2 config (DSC schema 0.2): ~30 resources, all tested successfully, crash at display
  • v3 config (dscv3 processor): ~35 resources including adapter-based PowerShell resources, all tested successfully, same crash

Environment

Windows: Windows.Desktop v10.0.26614.1000
WinGet:  v1.29.190-preview
Package: Microsoft.DesktopAppInstaller v1.29.190.0
DSC:     3.2.0.0
Shell:   PowerShell 7 (pwsh)
Caller:  GitHub Copilot CLI (programmatic invocation)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Command-ConfigureIssue related to WinGet ConfigurationIssue-BugIt either shouldn't be doing this or needs an investigation.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions