Loading…
Loading…
Postmortems / PM-2026-10-10-01
Blameless postmortem. Incident record: incident-log.md INC-2026-10-10-01. Times UTC. Block numbers refer to the chain before the 2026-10-12 reset (archived).
The T3 drill stopped the prover on purpose. When it came back at 13:02 it had 4–5 execution batches waiting, and the queue never shrank: every batch waited longer than the one before (queue + prove 1351 s → 1637 s, +~40 s per batch). The coordinator cut a 60-block batch every ~5 min while one execution proof took 5–7 min, so the prover was at ≥ 100 % utilisation and had no spare capacity to catch up. The P1 change (14:32: blocks-limit 120, conflation-deadline PT12M) made batches of 113 blocks every ~9.4 min; the proof time per block fell from 6.0 s to 3.7–3.8 s because a large part of a proof is fixed cost. Utilisation dropped to ~77 % and the backlog drained by 16:08.
| what | how much |
|---|---|
| settlement latency (head − finalized) | 570 blocks at 14:58 and growing; structural minimum ~170–230 |
| W1 rollup, W3 withdrawal | slower in proportion; nothing stuck |
| SLOs | withdrawal-1h and settlement-freshness at risk, budgets still 100 % |
| not affected | L2 block production, user txs, deposits |
LinethL2ProverBacklog, LinethL2BlobSubmissionStalled, LinethL2WorkflowStuck and lineth_prover_oldest_request_age_seconds showed it while the drill results were being watched, so detection was immediate (a human was looking). The alerts themselves only reach the alert-sink log.
blocks-limit 120, conflation-deadline PT12M → 113-block batches (cut by the trace limit) every ~9.4 minLinethL2ProverBacklog clearedMeasured after the change: 9 batches of 113 blocks took 352–441 s (mean ~410 s, 3.7 s/block vs 6.0 s/block before).
the fix came from measurement (per-block proof cost), not guessing; the backlog drained as predicted.
batch size was a throughput setting nobody had sized; a single drill was enough to tip it over.
—
Second prover (or a pool per proof type) for catch-up capacity
open (INC-04, INC-11 A11)
Recompute settlement baselines after 24 h
open — redo after the 10-12 reset and the 10-13 batch change
Keep blocks-limit 120 / deadline 12 m as the lab default
done — superseded 10-13 by BLOCK_HASH = 1440 (80-block batches, INC-12)
Size batch changes against memory and trace limits, not only proof time
done in INC-12 (model in traces-limits-v5.toml)