microsoft / microsoft/aspire

[CI Failure] Flaky: VS Code extension dynamic debug configuration E2E teardown fails with EBUSY resource busy/locked on Windows

Open
#20,185 0 comments 0 reactions 0 assignees View on GitHub
ci-failure-cause test-failure
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/35132956836
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: #20176

## Classification Analysis

EBUSY on rmdir during test teardown is a well-known Windows file-locking race condition (a lingering process handle briefly holds the directory), not caused by any file changed in this 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-YUBZdw\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-YUBZdw\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 dynamic debug configuration E2E teardown fails with EBUSY resource busy/locked on Windows

**Type**: flaky-test

## Occurrences

| Date | Build | Job | PR |
|------|-------|-----|----|
| 2026-09-16 | [35132956836](https://github.com/microsoft/aspire/actions/runs/35132956836) | Tests / Run VS Code extension E2E tests / VS Code extension E2E (Windows, dynamic-debug-configuration) | #20176 |

Contributor guide

Open the contributing guide

Research direction

Start by reading the teardown at test-e2e/test-e2e/helpers/fixtures.js:217 and the dynamic-debug E2E setup and cleanup in test-e2e/test-e2e/dynamicDebugConfiguration.e2e.test.js. Reproduce the Windows E2E failure if possible and trace which process or handle keeps the workspace directory busy. Done means teardown reliably removes the directory without EBUSY failures.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vscode
Domain
testing-qa
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.