Relevant area(s)
Relevant command(s)
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:
- There is no structured output — the caller cannot determine test results without parsing logs
- The process hangs indefinitely after the crash instead of exiting with an error code
--disable-interactivity does not suppress the spinner, flooding stdout with ANSI sequences that are difficult to parse programmatically
Steps to reproduce
- Create a configuration file with 20+ resources (packages, GitClone, WindowsOptionalFeature, etc.)
- Run:
winget configure test <file> --accept-configuration-agreements --disable-interactivity --verbose-logs
- Wait for all resources to complete testing (15-30 minutes depending on resource count)
- 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)
Relevant area(s)
Relevant command(s)
Brief description of your issue
winget configure testcrashes with error0x8a15c00fatConfigurationFlow.cpp:8aeafter 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 testfrom GitHub Copilot CLI (a terminal-based agent). The process was launched via PowerShell with--disable-interactivityand--accept-configuration-agreementsflags. 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:
--disable-interactivitydoes not suppress the spinner, flooding stdout with ANSI sequences that are difficult to parse programmaticallySteps to reproduce
winget configure test <file> --accept-configuration-agreements --disable-interactivity --verbose-logsExpected behavior
winget configure testshould 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:
The process hangs indefinitely after this — it does not exit. Caller must forcefully terminate it.
Reproduced on:
Environment