--- id: "bug-1775" status: "fixed" status_updated: "2026-09-24" status_note: "" component: "unknown" severity: "unknown" timestamp: "2026-09-06T00:00:00Z" last_seen: "2026-09-19T09:00:00Z" occurrences: 1 files: [] tags: ["test-infrastructure", "shell-script", "regex", "array-job", "xce-test-multihost", "severity-low"] related: ["bug-1770"] legacy: true --- # bug-1775: xce-test-multihost's run-multihost-verify.sh (resreq-maxtasks-wiring task 4.3, array-job… ## Description xce-test-multihost's run-multihost-verify.sh (resreq-maxtasks-wiring task 4.3, array-job scenario): verify_task_started_on_host()'s grep -E pattern embedded a raw jobid string directly in an extended-regex alternation. A bracketed array-element jobid (e.g. "[0]") has its "[0]" misparsed by grep -E as a one-character bracket-expression class (matching a literal '0') instead of the literal 3-character substring "[0]" -- causing a false negative: `grep -qE 'Job base[0] ntasks is:'` does not match the literal log line `"Job base[0] ntasks is: 5"`. ## Environment _Not recorded (migrated from buglog.json)._ ## Reproduction _Not recorded (migrated from buglog.json)._ ## Root cause Extended regular expressions treat unescaped `[...]` as a bracket-expression (character class), not a literal substring. Array-element jobids introduced by task 4.3 are the first jobid format in this harness containing ERE metacharacters (plain jobids are digits/hyphens only); the pre-existing plain-job code path never hit this because grep -E on a digits-and-hyphens-only string has no metacharacters to misparse. ## Fix FIXED (2026-09-06, resreq-maxtasks-wiring task 4.3): added ere_escape() to run-multihost-verify.sh, applied to any jobid string before use in a grep -E pattern (escapes '[' and ']', the only metacharacters a jobid can contain per fmt_jobid_ex/REGEX_JOBARRAY_ID's digit/hyphen/bracket-only format). Confirmed a byte-identical no-op for plain (non-array) jobids. Reproduced the false negative standalone before the fix and confirmed the escaped pattern matches correctly after, independently re-verified by review. ## Verification _Not recorded (migrated from buglog.json)._ ## References - Related: bug-1770