[CI Failure] Flaky: VS Code extension E2E dynamic debug configuration test teardown fails with EBUSY resource busy/locked on Windows temp workspace rmdir
- Dominant language
- C#
- Stars
- 6.3k
- Forks
- 991
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 196
Description
## Build Information
Build: https://github.com/microsoft/aspire/actions/runs/34877461342
Build error leg or test failing: Tests / Run VS Code extension E2E tests / VS Code extension E2E (Windows, dynamic-debug-configuration) / `Aspire dynamic debug configuration E2E "after each" hook for "re-resolves the selected AppHost by dynamic configuration name in duplicate-alias workspaces"`
Pull request: #19958
## Classification Analysis
The failure is in the test teardown (after-each hook) attempting to rmdir a Windows temp directory that is still locked (EBUSY), not in the test body itself. The PR only changes src/Aspire.Cli/Projects/DotNetAppHostProject.cs and CLI-specific tests; it does not touch the VS Code extension E2E fixtures or dynamic debug configuration workspace cleanup code, so this is an environmental/timing issue unrelated to the PR.
## Failure Information
Test output
Error:
Dynamic debug configuration E2E teardown failed.
1. Error: EBUSY: resource busy or locked, rmdir 'C:\Users\runneradmin\AppData\Local\Temp\aev-1vmxmS\workspace\.e2e-dynamic-debug\first'Stack Trace:
AggregateError: Dynamic debug configuration E2E teardown failed.
1. Error: EBUSY: resource busy or locked, rmdir 'C:\Users\runneradmin\AppData\Local\Temp\aev-1vmxmS\workspace\.e2e-dynamic-debug\first'
at runE2eTeardown (out\test-e2e\test-e2e\helpers\fixtures.js:217:15)
at async Context.<anonymous> (out\test-e2e\test-e2e\dynamicDebugConfiguration.e2e.test.js:62:9)
## Description
Flaky: VS Code extension E2E dynamic debug configuration test teardown fails with EBUSY resource busy/locked on Windows temp workspace rmdir
**Type**: flaky-test
## Occurrences
| Date | Build | Job | PR |
|------|-------|-----|----|
| 2026-09-14 | [34877461342](https://github.com/microsoft/aspire/actions/runs/34877461342) | Tests / Run VS Code extension E2E tests / VS Code extension E2E (Windows, dynamic-debug-configuration) | #19958 |
| 2026-09-14 | [34882504789](https://github.com/microsoft/aspire/actions/runs/34882504789) | Tests / Run VS Code extension E2E tests / VS Code extension E2E (Windows, dynamic-debug-configuration) | #19939 |
| 2026-09-15 | [34907870346](https://github.com/microsoft/aspire/actions/runs/34907870346) | Tests / Run VS Code extension E2E tests / VS Code extension E2E (Windows, dynamic-debug-configuration) | #19555 |
| 2026-09-15 | [35003412018](https://github.com/microsoft/aspire/actions/runs/35003412018) | Tests / Run VS Code extension E2E tests / VS Code extension E2E (Windows, dynamic-debug-configuration) | #20133 |
| 2026-09-15 | [35030807739](https://github.com/microsoft/aspire/actions/runs/35030807739) | Tests / Run VS Code extension E2E tests / VS Code extension E2E (Windows, dynamic-debug-configuration) | #20012 |
| 2026-09-16 | [35055620862](https://github.com/microsoft/aspire/actions/runs/35055620862) | Tests / Run VS Code extension E2E tests / VS Code extension E2E (Windows, dynamic-debug-configuration) | #20082 |
Contributor guide
Research direction
Start at out/test-e2e/test-e2e/helpers/fixtures.js:217 and dynamicDebugConfiguration.e2e.test.js:62, then run the VS Code extension E2E test on Windows to reproduce the teardown failure. Trace why the temporary workspace remains locked during rmdir and verify that the dynamic debug configuration test teardown completes without EBUSY across the listed scenarios.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, vscode
- Domain
- devtools, operating-systems, testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100