From 457a9d26f4053f5490a7d7169e2ff350e972f970 Mon Sep 17 00:00:00 2001 From: Nils Pukropp Date: Mon, 5 Oct 2026 00:13:42 +0200 Subject: [PATCH] ci: keep the stacks of a hung simulation run CI on f9b1638 failed slow-link seed 2 on a step that hung for 150 s, and the stacks that would say where were left on the runner. --- .github/workflows/ci.yml | 10 ++++++++++ docs/MILESTONE-3.0.0-STATUS.md | 7 ++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f4864af..b85451e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -101,6 +101,16 @@ jobs: - name: Simulation runs run: 'cargo test -p pdfs-fuse --lib --locked sim:: -- --ignored --test-threads=1' + # A hung step writes every daemon thread's stack next to the run's + # state; without them a hang that does not replay cannot be told apart. + - name: Keep the stacks of a hung run + if: failure() + uses: actions/upload-artifact@v7 + with: + name: simulation-stacks + path: /tmp/pdfs-sim-*/stacks.txt + if-no-files-found: ignore + # Keeps the release-profile dependencies cached on main, where the release # workflow can restore them; a tag cannot reuse the caches of earlier tags. release-cache: diff --git a/docs/MILESTONE-3.0.0-STATUS.md b/docs/MILESTONE-3.0.0-STATUS.md index ea92efe..6f51458 100644 --- a/docs/MILESTONE-3.0.0-STATUS.md +++ b/docs/MILESTONE-3.0.0-STATUS.md @@ -88,7 +88,12 @@ Tracks `docs/MILESTONE-3.0.0.md`. Update it with every commit that moves a phase drain's idle poll (B160, fixed). Slow-link seed 3 failed on a file moved while its create was on the wire, which the mount showed under its old name (B161, fixed). Seed 4 failed on a folder removed and made again, whose create adopted the removed - folder (B162, fixed). CI on 903452a passed every profile. + folder (B162, fixed). CI on 903452a passed every profile. CI on f9b1638 failed + slow-link seed 2: a step that unlinks an open file, appends and reads it back hung + for 150 s. The B130 matcher did not fire, and CI kept no stacks; one replay passed. + It may be a kernel notice sent from a runtime worker by another path than B130's, + which a68dae9 (not yet pushed then) also takes off the runtime. CI now keeps a hung + run's stacks. - [ ] Known-bug list in `sim/run.rs` is empty: none open; B125, B127, B129, B130 and B132 fixed but not yet confirmed by the runs. - [ ] A clean account run. The one on a6f36d5 (2026-10-04, LAN: 427 passed, 12 failed)