Track guessed as P from the FAILING STEP — line 1 of 3,
./compiler/pascal26 -Futest/gtk3stock -I/usr/include/gtk-3.0/ test/test_c_gtk3_stock.pas /tmp/test_c_gtk3_stock26, which namestest/test_c_gtk3_stock.pas. Not from the job's name or itssrc: those describe what the job is ABOUT, and this job's recipe spans 3 source file(s). The ranker reads frontmatter, so this line — not the body — decides who works it; correct it if the guess is wrong.
origin/master has advanced 2 commit(s) since this sha. Re-verify at current HEAD before acting — the callback is tagged to the sha that was tested, which may no longer be the state of the tree.
regression: test-core#src:test/test_c_gtk3_stock.pas at 7867c5481c01 in step 1/3, ./compiler/pascal26 -Futest/gtk3stock -I/usr/include/gtk-3.0/ test/test_c_gtk3_stock.pas /tmp/test_c_gtk3_stock26 (auto-filed by twatch)
- Type: regression (auto-filed by Track T watcher, host seven, twatch
065bb7eaf0d5). Untriaged. - Found: 2026-09-05T17:58:16Z
- Test source: test/test_c_gtk3_stock.pas test/gtk3stock/gtk3_c.h +1
- Failing step: line 1 of 3 of the job's recipe; it names
test/test_c_gtk3_stock.pas../compiler/pascal26 -Futest/gtk3stock -I/usr/include/gtk-3.0/ test/test_c_gtk3_stock.pas /tmp/test_c_gtk3_stock26
Repro
tools/testmgr.py --tier native --job 'test-core#src:test/test_c_gtk3_stock.pas' at 7867c5481c0126cd79daa92c74114b8dd3fc6ef3
Range
The named sha
7867c5481c01CANNOT be the cause — it touches no buildable file (docs / tickets / tstate only). It is the sha that was TESTED, i.e. the upper bound of an untested range; the cause is somewhere below it.
bad 7867c5481c01, last good b8e3b3010249, 87 commit(s) in range — the watcher narrows this by idle bisect; check tstate/TSTATE.md for the current range.
Log tail
pascal26:7: error: C include file not found: "gtk/gtk.h" (searched: /usr/include/gtk-3.0/, /tmp/testmgr-scratch-172642/compiler/../lib/crtl/include/, /tmp/testmgr-scratch-172642/compiler/../../lib/crtl/include/, lib/crtl/include/, <host system dirs>)
(tail)
pascal26:7: error: C include file not found: "gtk/gtk.h" (searched: /usr/include/gtk-3.0/, /tmp/testmgr-scratch-172642/compiler/../lib/crtl/include/, /tmp/testmgr-scratch-172642/compiler/../../lib/crtl/include/, lib/crtl/include/, <host system dirs>)
near: program test_c_gtk3_stock ; uses gtk3_c >>> ; function AutoQuit
Stub ticket: signal only. Track T agent (face 2) enriches or a dev track takes it from the repro line.
- 2026-09-05 — resolved; this names the commit that carried the resolve, which is not always the one that carried the change — commit a058097b7.
Closed 2026-09-05 (frankB) — reproduce-clean at HEAD, full job, not just the failing step
Ran the ticket's own Repro line — testmgr.py --tier native --job ... — at HEAD,
not the sha it was filed against: 1/1 pass, testmgr GREEN. The failing step
alone was also re-run and compiles. Both, because a ticket whose recorded
failure is step 1 of 2 can have step 2 fail for its own reasons, and "the
failing step passes" is a narrower claim than "the job passes".
CAUSE — CORRECTED, AND MY FIRST ATTRIBUTION WAS WRONG. I recorded these as
extra instances of 4760474da (my pointer-sink rule) fixed by the revert
2d6bfadd6. That is not the cause. frankD measured the real one from the
watcher's log tails: the four bare test_c_gtk* rows all logged
pascal26:2: error: uses: unit source not found: gtk, and gtk3_stock logged
C include file not found: "gtk/gtk.h" naming the directory it searched.
Seven has no GTK development headers installed at all — not a version
mismatch, not a code defect, and not Track P.
AND MY GREEN COULD NOT HAVE DISCRIMINATED. I ran these on plexus, which has
BOTH /usr/include/gtk-2.0/gtk/gtk.h and /usr/include/gtk-3.0/gtk/gtk.h.
A host with the headers passes whether or not any compiler bug exists, so
"1/1 pass, GREEN at HEAD" is a true statement about plexus and says nothing
about the failure, which happened on seven. That is this repo's own
"nothing observably differs is a claim about ONE target" hazard, in the one
variable I did not think to check — not a target architecture this time, but the
build host's installed packages. The tests being green here is exactly what a
missing-header failure over there looks like from this side.
What survives, and what does not. The rows do pass on plexus at HEAD — that measurement is real, and it does rule out a tree-wide code defect reachable here. What it does not do is close these tickets, because the condition that produced them is still true on the host that produced them. Disposition is frankD's, who found the cause and holds the evidence; this section exists so that nobody reads my original attribution and believes it.
(A trap frankD paid for and recorded: the "Failing step" line quoted in these
tickets is TRUNCATED. The real recipe for gtk3_stock is
./$(COMPILER) -Futest/gtk3stock -I/usr/include/gtk-3.0/ test/...; running the
ticket's shorter command hits a deliberate #error about GTK2-vs-GTK3 that
looks like a shared-cause smoking gun and is an artefact of the missing flags.
Go to the Makefile recipe. The four bare rows happen to match, which is what
makes the fifth easy to get wrong.)
The lane was a guess and the guess is now moot. The banner at the top of
this file says so itself: track: P was inferred from the failing step naming a
.pas file, and the ranker reads only the frontmatter. That put six auto-filed
regressions in the top rows of ready --track P. They are closed on evidence,
not re-laned — a re-lane would have moved a finished ticket to another queue.