diff --git a/.wolf/buglog.json b/.wolf/buglog.json index f5847580..3fd00f9f 100644 --- a/.wolf/buglog.json +++ b/.wolf/buglog.json @@ -18040,6 +18040,26 @@ "related_bugs": [], "occurrences": 2, "last_seen": "2026-08-21T08:56:00Z" + }, + { + "id": "bug-1615", + "timestamp": "2026-08-21T09:37:18Z", + "error_message": "src/tools/test-dirty-fingerprint-distinguishability.sh: line 344: iso_src: unbound variable", + "file": "src/tools/test-dirty-fingerprint-distinguishability.sh", + "root_cause": "capture_version()'s `local iso_src=\"$1\" binary=\"$iso_src/$BUILD_DIR_NAME/scheduler/xce_scheduler\"` put two assignments in ONE `local` statement where the second referenced the first. Bash expands every word of a single `local` command before ANY of that command's assignments take effect, so `$iso_src` in the second word's value expanded against the OLD (not-yet-declared) `iso_src`, which under `set -u` is an unbound-variable error rather than silently empty.", + "fix": "Split into two separate `local` statements (`local iso_src=\"$1\"` then `local binary=\"$iso_src/...\"` on its own line) so the second statement's expansion happens after the first has already taken effect. Confirmed via `bash -n` plus two full real end-to-end script runs (both exit 0, byte-identical fingerprints reproduced across runs) after the fix.", + "tags": [ + "bash", + "set-u", + "local", + "unbound-variable", + "dirty-content-fingerprint", + "task-6.1", + "src/tools" + ], + "related_bugs": [], + "occurrences": 1, + "last_seen": "2026-08-21T09:37:18Z" } ] }