--- id: "bug-448" status: "fixed" status_updated: "2026-09-27" status_note: "0c1bac44" component: "controller" severity: "leak" timestamp: "2026-06-12T10:05:12.464Z" last_seen: "2026-09-19T09:00:00Z" occurrences: 2 files: ["src/controller/job.c"] tags: ["wrong-value", "c", "controller", "job", "refcount", "leak", "pre-existing"] related: ["bug-447"] fix_commits: ["0c1bac44"] legacy: true --- # bug-448: job_ctrl reference leak: reference(j) taken at job.c:317 but normal exit path (job.c:444-446)… ## Description job_ctrl reference leak: reference(j) taken at job.c:317 but normal exit path (job.c:444-446) never calls dereference(j); only the workermgr-miss error path releases it ## Environment _Not recorded (migrated from buglog.json)._ ## Reproduction _Not recorded (migrated from buglog.json)._ ## Root cause asymmetric reference/dereference across exit paths, predates ha-commit-barrier-rollout ## Fix NOT YET FIXED - discovered by task 3.2 adversarial review; add dereference(j) on the normal exit path ## Verification _Not recorded (migrated from buglog.json)._ ## References - Related: bug-447