runs: an older run's check is still told 'no need left an image for it' after f0498aaa: one of two checks in a taken-over builder's image drives itself #49

Open
opened 2026-11-12 22:42:55 +00:00 by xemmerling · 0 comments
Owner

Seen on t.tilo.so (86fa55c0) on 2026-11-12 at 14:59:19Z and 21:43:08Z, both after f0498aaa ("an older run hands a check to a newer run of its session only with every check of its own that needs it") went live at 06:46Z. Five occurrences that day in all.

What is told, in an older run of a session whose newer run asked the same checks again:

the image os-builder-x86_64 builds, for os-compile-x86_64: X86_64: no need left an image for it

Shape (21:43:08Z): the older run asked image-hosted-guest (16 checks), the newer run of the same session, 11 minutes later and at another state, asked tilo-sh-local-vm, whose 30 checks include all 16. In one second the older run told os-builder-x86_64 pass, "superseded by , a newer run of this session that asked it again: its outcome", and os-compile-x86_64 error with the text above. Its sibling os-chromium-x86_64 (same image = { check = "os-builder-x86_64", ... }, also asked again) followed the newer run and passed; image-hosted-guest of the older run ended skipped. At 14:59:19Z the same shape with the two siblings swapped; no server start was near it.

In the code: Run::follow passes a taken-over check's outputs on only where hands_back_programs; Runs::supersede_own marks, once, the older run's checks that are Queued or Needs when the newer run starts; Run::hands_over let the builder go although one check that runs in its image stayed with the older run and drove itself on a need that had left nothing.

Wanted: a check of an older run is never driven on a need of its own that was taken over without its outputs. A failing test of this shape first. In work on branch t-image-need-handover.

Seen on t.tilo.so (86fa55c0) on 2026-11-12 at 14:59:19Z and 21:43:08Z, both after f0498aaa ("an older run hands a check to a newer run of its session only with every check of its own that needs it") went live at 06:46Z. Five occurrences that day in all. What is told, in an older run of a session whose newer run asked the same checks again: `the image os-builder-x86_64 builds, for os-compile-x86_64: X86_64: no need left an image for it` Shape (21:43:08Z): the older run asked `image-hosted-guest` (16 checks), the newer run of the same session, 11 minutes later and at another state, asked `tilo-sh-local-vm`, whose 30 checks include all 16. In one second the older run told `os-builder-x86_64` pass, "superseded by <newer>, a newer run of this session that asked it again: its outcome", and `os-compile-x86_64` error with the text above. Its sibling `os-chromium-x86_64` (same `image = { check = "os-builder-x86_64", ... }`, also asked again) followed the newer run and passed; `image-hosted-guest` of the older run ended skipped. At 14:59:19Z the same shape with the two siblings swapped; no server start was near it. In the code: `Run::follow` passes a taken-over check's outputs on only where `hands_back_programs`; `Runs::supersede_own` marks, once, the older run's checks that are `Queued` or `Needs` when the newer run starts; `Run::hands_over` let the builder go although one check that runs in its image stayed with the older run and drove itself on a need that had left nothing. Wanted: a check of an older run is never driven on a need of its own that was taken over without its outputs. A failing test of this shape first. In work on branch `t-image-need-handover`.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
tilo/t#49
No description provided.