--- id: "bug-1580" status: "cannot-reproduce" status_updated: "2026-09-30" status_note: "0/26 runs with failures on dc94da20, 2026-09-29; original ':FAIL:' grep cannot match Unity's colored FAIL lines" component: "controller" severity: "crash" timestamp: "2026-08-18T10:39:52Z" last_seen: "2026-09-19T09:00:00Z" occurrences: 1 files: ["src/controller/testsuite/ (combined controller_unit_test binary; discovered running xce-build.sh all for the resource-value-verification bug-1579 follow-up fix -- zero C files touched this session", "confirmed via git status)"] tags: ["flaky", "controller_unit_test", "unity", "aggregate-count-mismatch", "pre-existing"] related: ["bug-1553"] repro_attempts: "0/26 runs, 2026-09-29 (20 standalone + 6 full-suite, dc94da20, asan)" legacy: true --- # bug-1580: meson test 'xce:controller / controller test' (controller_unit_test) reports '1104 Tests 2… ## Description meson test 'xce:controller / controller test' (controller_unit_test) reports '1104 Tests 2 Failures 0 Ignored' / exit status 2, but grep of the full raw testlog for ':FAIL:' or a per-test [FAIL] marker finds ZERO matches -- every individual Unity test case visibly printed PASS. Reproduced deterministically 2/2 times (once via meson test, once via a direct standalone re-run of the binary with ASAN_OPTIONS=detect_leaks=0), unlike bug-1553's documented ~1-in-3 intermittent SIGSEGV (exit 139) signature -- this is exit 2 with no crash indication, a distinct manifestation. UPDATE (2026-09-30): The original evidence does not hold: controller_unit_test prints colored Unity output, where a failure line is `file:line:test:\e[41mFAIL\e[0m: msg`. A grep for `:FAIL:` can never match it, so "2 Failures but zero FAIL markers" most likely meant two ordinary test failures the grep could not see, not a counter desync; the original log was not kept, so which tests is unknown. On 2026-09-29 (dc94da20 + cfa0a941, asan) controller_unit_test ran 26 times (20 standalone, 6 via xce-build.sh): every run exit 0, 0 Failures, and the printed per-test results agree with the summary. To look for failures in these logs, grep for `FAIL` (or strip ANSI codes first), not `:FAIL:`. ## Environment _Not recorded (migrated from buglog.json)._ ## Reproduction _Not recorded (migrated from buglog.json)._ ## Root cause Not investigated. Most likely the same class of issue cerebrum.md's Unity-harness note already flags for this codebase (multiple UnitySetTestFile()-sharing test-group files in one binary can desync the aggregate PASS/FAIL counter from the printed per-test lines) rather than a real regression -- no code change in this session could have caused it (only .claude/skills/xce-test-resources/run-resource-verify.sh, a bash script, was edited). Possibly related to / the same underlying fragility as bug-1553 (order-dependent shared Unity/ASAN state across test files in the same binary) but with a different observed symptom (miscounted summary vs. an outright segfault). ## Fix Not fixed -- out of scope for the resource-value-verification bug-1579 follow-up (bash-script-only boundary). Verified NOT a regression from this session's change (no C files modified) and does not block or relate to the run-resource-verify.sh live validation, which was carried out and passed independently. Needs the same isolation bug-1553 needs: bisect which specific linked test-group file(s) desync the counter. ## Verification _Not recorded (migrated from buglog.json)._ ## References - Related: bug-1553