🤖 tests: three loop test files fail on unchanged main under the loop-test runner
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 48/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- bun, typescript
- 領域
- testing
調査の方向性
Start with scripts/perf/loopTests.preload.ts and the named tests in src/node/services/tools/bash_output.test.ts, src/node/services/tools/bash_background_list.test.ts, and src/node/services/backgroundProcessManager.test.ts. Run make test-loop-baseline while other test processes are active and capture each bun test failure output; compare behavior with and without the preload and check whether concurrent runs share /tmp/mux-bashes/test-workspace. Done means the failures are understood and the tests pass reliably under concurrent load.
索引モデルが issue の本文から書いたものです。
説明
Summary
Three loop test files fail on unchanged main when the loop-test runner (make test-loop-baseline) runs them. The phase 1 baseline on 563475d0c9 (10 rounds, 6 jobs, bun 1.4.3) recorded these failed rounds:
| file | failed rounds in the baseline |
|---|---|
src/node/services/tools/bash_output.test.ts |
9 of 10 |
src/node/services/tools/bash_background_list.test.ts |
2 of 10 |
src/node/services/backgroundProcessManager.test.ts |
1 of 10 |
Other agents shared the host during the baseline: the 1-minute load average was 5.5 to 56.8. Baseline comment: https://github.com/coder/xum/issues/7255#issuecomment-6353444207
I did not find the cause. This issue records what the runs show.
What the logs show
The runner discards the output of each bun test process, so the baseline has no test names. To get them, I ran the two tool test files again on a detached checkout of 563475d0c9: 5 runs each with the runner's preload (scripts/perf/loopTests.preload.ts) and 5 runs each without it, 6 processes at a time, load average 12 to 14. Unlike the runner, this run could start two processes of the same file at the same time.
tools/bash_output.test.ts
Failed 2 of 5 runs with the preload and 2 of 5 without it, so it also fails without the preload.
| test | runs that failed | first error line |
|---|---|---|
bash_output tool > should return incremental output from process |
2 | error: expect(received).toContain(expected), Expected to contain: "line1", Received: "" |
bash_output tool > should block and wait for output when timeout_secs > 0 |
2 | error: expect(received).toContain(expected), Expected to contain: "delayed output", Received: "" |
tools/bash_background_list.test.ts
Failed 2 of 5 runs with the preload and 2 of 5 without it, so it also fails without the preload.
| test | runs that failed | first error line |
|---|---|---|
bash_background_list tool > should only list processes for the current workspace |
4 | error: Failed to spawn processes |
bash_background_list tool > should list spawned processes with correct fields |
2 | error: Failed to spawn process |
bash_background_list tool > should include display_name in listed processes |
1 | error: Failed to spawn process: Failed to persist the spawn record (meta.json): writeMeta failed with exit code 1: .../bash: line 7: /tmp/mux-bashes/test-workspace/Dev Server (2)/meta.json: No such file or directory |
The last error names the fixed path /tmp/mux-bashes/test-workspace. I did not check whether other test processes use the same path at the same time.
backgroundProcessManager.test.ts
It failed in 1 of the 10 baseline rounds. The baseline has no output of that round, so I have no test name or error line. One more run with the preload and one without it both passed.
An earlier phase 1 parity run, before the stack merged (one pass of all loop test files with the preload and one pass without it), showed the same pattern: bash_output.test.ts failed on both passes, bash_background_list.test.ts failed only on the pass with the preload, and backgroundProcessManager.test.ts passed on both.
Next step
Find why these tests fail when other test processes run beside them, and fix the tests.
Refs #7255
Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: high • Cost: $53.93
- 主要言語
- TypeScript
- スター
- 2.1k
- フォーク
- 140
- 平均マージ
- 4時間 57分
- マージ済み PR(30日)
- 946
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
coder/xum のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
🤖 fix: a Daytona connection test started before a settings save can show the old key as connectedオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 79/100
メンテナーはふだん 1 日以内に返信
似ている issue
-
[Bug]: Device screenshot fails with 500 on iPhone Duo (Xcode 27.2): serve-sim calls simctl without --display対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
pingdotgg/t3code#24900 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
inu-appcenter/UNIDorm-web#411 ·
メンテナーはふだん 1 日以内に返信
-
🐛 bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
ranxianglei/billion-context#4720 ·
メンテナーはふだん 1 日以内に返信
-
area:arcade game p3-medium ready-for-agent type:bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
fderuiter/deruiter.dev#2840 ·
メンテナーはふだん 1 日以内に返信