Two findings from checking whether last iteration's partial green had finished. It had not, and the reason matters for anyone using the gate. build-reborn test contains twin_pairs_do_not_share_a_buffer, which decodes every .xpr in hidden/resource3d -- 166 files, 1.4 GB -- through the full Xbg7Model anchoring path, and is NOT #[ignore]d. Its sibling in the same file walks the same 166 files and IS ignored as known-failing, which makes the binary's cost easy to underestimate. Measured: one instance accumulated 3h26m of CPU at 89% without finishing. So every "green run" reported in this corpus from a workspace or sylpheed-formats test is necessarily PARTIAL unless it says the suite terminated -- including the ones I reported this session. The honest form is the suite count and elapsed state, not the word "green". Not proposing to #[ignore] or subsample it: that changes what the suite asserts and is the project's call, not an audit side-effect. And the mess is mine. Two cargo test -p sylpheed-formats runs launched detached in earlier iterations never exited, because they were sitting in that test: pid 103375 4h12m elapsed child mesh_consistency_disc 3h26m CPU 89.3% pid 99965 4h39m elapsed child pak_idxd_disc 1h16m CPU 93.8% Load average 14.18 on 12 cores. Killed, after checking the legitimately running workspace suite and leaving it alone; load fell to 9.68. What this does NOT explain, because it is tempting: the session's emulator troubles. screenshot cost 0.49 s with both runaways live and the emulator stopped, against 10.8 s measured earlier with the emulator running. The 92x figure really was emulator contention; the runaways were a background tax on top. The black surface and the unreachable title stand as measured, with their own controls. METHOD: a detached job you never check can outlive many iterations -- setsid was added so a timeout could not kill them, which also means nothing does; and know whether your verification gate can terminate.
58 lines
2.6 KiB
Markdown
58 lines
2.6 KiB
Markdown
# 🔴 `build-reborn test` cannot finish in a working session — and I left two runaways
|
||
|
||
**Status:** ✅ measured. Two facts, one of them my own mess.
|
||
|
||
## The gate the brief names does not complete
|
||
|
||
`build-reborn test` (`cargo test --workspace` with `SYLPHEED_DISC` wired up) is
|
||
the verification gate. It contains a disc test that decodes **every `.xpr` in
|
||
`hidden/resource3d` — 166 files, 1.4 GB** — through the full `Xbg7Model`
|
||
anchoring path:
|
||
|
||
```rust
|
||
#[test] // NOT #[ignore]d
|
||
fn twin_pairs_do_not_share_a_buffer() {
|
||
…for f in &files { … Xbg7Model::anchor_models_cancellable(&bytes, 0.0, &|| false) … }
|
||
```
|
||
|
||
Measured: one instance accumulated **3 h 26 m of CPU at 89 %** without finishing.
|
||
Its sibling in the same file, `shared_resources_decode_identically_in_every_container`,
|
||
walks the same 166 files and *is* `#[ignore]`d (as known-failing), so the binary's
|
||
cost is easy to underestimate from a glance at the file.
|
||
|
||
⚠️ **Consequence for anyone using this gate:** every "green run" reported in this
|
||
corpus from a workspace test is necessarily **partial** unless it explicitly says
|
||
the suite terminated. `cargo test -p sylpheed-formats` reaches ~131 tests in a few
|
||
minutes and then sits in this one; the workspace run is the same picture. Quote
|
||
the suite count and the elapsed state, not the word "green".
|
||
|
||
🟡 Not proposed here: `#[ignore]`-ing it, or bounding it to a sample of the 166.
|
||
Both change what the suite asserts, which is the project's call and not a
|
||
side-effect of an audit.
|
||
|
||
## 🔴 And I left two of them running for four hours
|
||
|
||
Two `cargo test -p sylpheed-formats` runs launched detached in earlier iterations
|
||
never exited, because they were sitting in this test. At the moment they were
|
||
found:
|
||
|
||
| pid | elapsed | child | CPU time | %CPU |
|
||
|---|---|---|---|---|
|
||
| 103375 | 4 h 12 m | `mesh_consistency_disc` | **3 h 26 m** | 89.3 |
|
||
| 99965 | 4 h 39 m | `pak_idxd_disc` | 1 h 16 m | 93.8 |
|
||
|
||
Load average **14.18** on 12 cores. Killed; load fell to **9.68** within a
|
||
minute, and the legitimately-running workspace suite was checked first and left
|
||
alone.
|
||
|
||
### 🔴 What this does NOT explain
|
||
|
||
It is tempting to pin the session's emulator troubles on this, and the
|
||
measurement says no. `screenshot` cost **0.49 s** with both runaways live and the
|
||
emulator stopped, against the **10.8 s** measured earlier with the emulator
|
||
running. So the 92× figure in
|
||
[capture-harness-status](capture-harness-status.md) really was emulator
|
||
contention, and the runaways were a background tax on top — not the cause. The
|
||
black surface and the unreachable title stand as measured, with their own
|
||
controls.
|