9731 lines
No EOL
326 KiB
JSON
9731 lines
No EOL
326 KiB
JSON
{
|
|
"version": 1,
|
|
"bugs": [
|
|
{
|
|
"id": "bug-001",
|
|
"timestamp": "2026-05-21T07:38:53.760Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "CLAUDE.md",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 23→30 lines (3 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-21T07:38:53.760Z"
|
|
},
|
|
{
|
|
"id": "bug-002",
|
|
"timestamp": "2026-05-21T07:46:54.198Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".claude/skills/kiro-spec-init/SKILL.md",
|
|
"root_cause": "Had `.kiro/settings/templates/specs/init.json`",
|
|
"fix": "Changed to `templates/specs/init.json`",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 12,
|
|
"last_seen": "2026-05-21T07:48:24.177Z"
|
|
},
|
|
{
|
|
"id": "bug-003",
|
|
"timestamp": "2026-05-21T07:57:57.180Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_config_repl.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 14→19 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-21T07:57:57.180Z"
|
|
},
|
|
{
|
|
"id": "bug-004",
|
|
"timestamp": "2026-05-21T07:58:54.673Z",
|
|
"error_message": "Wrong reference: g_tmpdir should be g_instdir",
|
|
"file": "src/controller/testsuite/test_config_repl.c",
|
|
"root_cause": "Used \"g_tmpdir\" instead of \"g_instdir\"",
|
|
"fix": "Changed g_tmpdir → g_instdir",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-05-21T07:59:00.347Z"
|
|
},
|
|
{
|
|
"id": "bug-005",
|
|
"timestamp": "2026-05-21T08:24:10.738Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "No early return/throw for edge case: rc == 0",
|
|
"fix": "Added guard clause: if (rc == 0)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-21T08:24:10.738Z"
|
|
},
|
|
{
|
|
"id": "bug-006",
|
|
"timestamp": "2026-05-21T08:30:20.719Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/docs/config-replication-design.md",
|
|
"root_cause": "7 lines replaced/restructured",
|
|
"fix": "Rewrote 17→20 lines (7 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-21T08:30:20.719Z"
|
|
},
|
|
{
|
|
"id": "bug-007",
|
|
"timestamp": "2026-05-21T12:53:13.789Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/lib/request.c",
|
|
"root_cause": "No early return/throw for edge case: ep == NULL",
|
|
"fix": "Added guard clause: if (ep == NULL)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-21T12:53:13.789Z"
|
|
},
|
|
{
|
|
"id": "bug-008",
|
|
"timestamp": "2026-05-21T13:20:28.953Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "No early return/throw for edge case: getaddrinfo(host, port_str, &hints, &res",
|
|
"fix": "Added guard clause: if (getaddrinfo(host, port_str, &hints, &res)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-21T13:20:28.953Z"
|
|
},
|
|
{
|
|
"id": "bug-009",
|
|
"timestamp": "2026-05-21T13:42:53.395Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/config_repl.h",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 6→9 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-21T13:42:53.395Z"
|
|
},
|
|
{
|
|
"id": "bug-010",
|
|
"timestamp": "2026-05-21T13:43:03.953Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "5 lines replaced/restructured",
|
|
"fix": "Rewrote 11→5 lines (5 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-21T13:43:03.953Z"
|
|
},
|
|
{
|
|
"id": "bug-011",
|
|
"timestamp": "2026-05-22T08:45:33.856Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/docs/config-replication-impl-status.md",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 10→12 lines (4 removed) | Also: | `handle_config_request()` (primary handler) | ✅ ; | `fetch_config_from_primary()` (standby fetch) | | Also: | `handle_upgrade_config()` | ✅ Compiled, gated | ; | `push_config_to_standbys()` | ⚠ Stub (returns 0)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 3,
|
|
"last_seen": "2026-05-22T08:46:24.228Z"
|
|
},
|
|
{
|
|
"id": "bug-012",
|
|
"timestamp": "2026-05-22T09:18:14.674Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/docs/config-replication-impl-status.md",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 17→21 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-22T09:18:14.674Z"
|
|
},
|
|
{
|
|
"id": "bug-013",
|
|
"timestamp": "2026-05-25T09:00:50.645Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 6→7 lines (3 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-25T09:00:50.645Z"
|
|
},
|
|
{
|
|
"id": "bug-014",
|
|
"timestamp": "2026-05-25T10:34:21.916Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "6 lines replaced/restructured",
|
|
"fix": "Rewrote 13→24 lines (6 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-25T10:34:21.916Z"
|
|
},
|
|
{
|
|
"id": "bug-015",
|
|
"timestamp": "2026-05-25T10:34:43.964Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "../../../../../claude/.claude/plans/prancy-herding-nest.md",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 4→10 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-25T10:34:43.964Z"
|
|
},
|
|
{
|
|
"id": "bug-016",
|
|
"timestamp": "2026-05-25T11:03:39.152Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 8→9 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-25T11:03:39.152Z"
|
|
},
|
|
{
|
|
"id": "bug-017",
|
|
"timestamp": "2026-05-25T11:05:06.112Z",
|
|
"error_message": "Missing error handling in send",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-25T11:05:06.112Z"
|
|
},
|
|
{
|
|
"id": "bug-018",
|
|
"timestamp": "2026-05-25T11:06:26.871Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "../../../../../claude/.claude/plans/prancy-herding-nest.md",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-25T11:06:26.871Z"
|
|
},
|
|
{
|
|
"id": "bug-019",
|
|
"timestamp": "2026-05-25T11:06:52.401Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "../../../../../claude/.claude/plans/prancy-herding-nest.md",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 23→40 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-25T11:06:52.401Z"
|
|
},
|
|
{
|
|
"id": "bug-020",
|
|
"timestamp": "2026-05-25T11:31:55.826Z",
|
|
"error_message": "Function not marked async",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-25T11:31:55.826Z"
|
|
},
|
|
{
|
|
"id": "bug-021",
|
|
"timestamp": "2026-05-25T11:32:18.221Z",
|
|
"error_message": "Missing error handling in types",
|
|
"file": "../../../../../claude/.claude/plans/prancy-herding-nest.md",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-25T11:32:18.221Z"
|
|
},
|
|
{
|
|
"id": "bug-022",
|
|
"timestamp": "2026-05-26T07:16:49.294Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "36 lines replaced/restructured",
|
|
"fix": "Rewrote 63→79 lines (36 removed) | Also: 6. **No simultaneous primaries**: Only one node ca; 7. **Majority-commit WAL replication (CP writes)** | Also: - `handle_request_vote()` handler on all peers; - Config tag + LSN comparison for vote decision",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 3,
|
|
"last_seen": "2026-05-26T07:19:18.498Z"
|
|
},
|
|
{
|
|
"id": "bug-023",
|
|
"timestamp": "2026-05-26T07:17:31.980Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "No early return/throw for edge case: req->term < my_term",
|
|
"fix": "Added guard clause: if (req->term < my_term)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-26T07:17:31.980Z"
|
|
},
|
|
{
|
|
"id": "bug-024",
|
|
"timestamp": "2026-05-26T07:18:36.066Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "../../../../../claude/.claude/plans/prancy-herding-nest.md",
|
|
"root_cause": "No early return/throw for edge case: n_peers == 2",
|
|
"fix": "Added guard clause: if (n_peers == 2)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-26T07:18:36.066Z"
|
|
},
|
|
{
|
|
"id": "bug-025",
|
|
"timestamp": "2026-05-26T07:26:22.871Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 11→28 lines (3 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-26T07:26:22.871Z"
|
|
},
|
|
{
|
|
"id": "bug-026",
|
|
"timestamp": "2026-05-26T07:26:48.363Z",
|
|
"error_message": "Wrong return value",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "Was returning: 1;",
|
|
"fix": "Now returns: 1; // single-node: always primary",
|
|
"tags": [
|
|
"auto-detected",
|
|
"return-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-26T07:26:48.363Z"
|
|
},
|
|
{
|
|
"id": "bug-027",
|
|
"timestamp": "2026-05-26T07:27:34.925Z",
|
|
"error_message": "Wrong condition in logic",
|
|
"file": "../../../../../claude/.claude/plans/prancy-herding-nest.md",
|
|
"root_cause": "Condition was: if (n_peers == 2)",
|
|
"fix": "Changed to: if (n_peers == 1)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"logic-fix",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-26T07:27:34.925Z"
|
|
},
|
|
{
|
|
"id": "bug-028",
|
|
"timestamp": "2026-05-26T07:28:37.278Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "../../../../../claude/.claude/plans/prancy-herding-nest.md",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 13→28 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-26T07:28:37.278Z"
|
|
},
|
|
{
|
|
"id": "bug-029",
|
|
"timestamp": "2026-05-26T07:29:11.741Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "Had `main.c`",
|
|
"fix": "Changed to `-EINVAL`",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-26T07:29:11.741Z"
|
|
},
|
|
{
|
|
"id": "bug-030",
|
|
"timestamp": "2026-05-26T08:52:54.129Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "11 lines replaced/restructured",
|
|
"fix": "Rewrote 17→28 lines (11 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-26T08:52:54.129Z"
|
|
},
|
|
{
|
|
"id": "bug-031",
|
|
"timestamp": "2026-05-26T09:07:01.238Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 28→45 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-26T09:07:01.238Z"
|
|
},
|
|
{
|
|
"id": "bug-032",
|
|
"timestamp": "2026-05-26T09:07:23.015Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "Had `-EINVAL`",
|
|
"fix": "Changed to `--vcpus N`",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-26T09:07:23.015Z"
|
|
},
|
|
{
|
|
"id": "bug-033",
|
|
"timestamp": "2026-05-26T09:07:46.892Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "../../../../../claude/.claude/plans/prancy-herding-nest.md",
|
|
"root_cause": "13 lines replaced/restructured",
|
|
"fix": "Rewrote 22→35 lines (13 removed) | Also: **Files**: `src/controller/main.c`, `src/lib/netio; 1. **Peer-count validation in `main.c`** (before `",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-05-26T09:08:37.743Z"
|
|
},
|
|
{
|
|
"id": "bug-034",
|
|
"timestamp": "2026-05-26T09:23:02.818Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "../../../../../claude/.claude/plans/prancy-herding-nest.md",
|
|
"root_cause": "No early return/throw for edge case: rc == 0",
|
|
"fix": "Added guard clause: if (rc == 0)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-26T09:23:02.818Z"
|
|
},
|
|
{
|
|
"id": "bug-035",
|
|
"timestamp": "2026-05-26T09:46:12.902Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "Had `sysconf(_SC_NPROCESSORS_ONLN)`",
|
|
"fix": "Changed to ` when not specified. Values `",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-26T09:46:12.902Z"
|
|
},
|
|
{
|
|
"id": "bug-036",
|
|
"timestamp": "2026-05-26T09:48:08.636Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "../../../../../claude/.claude/plans/prancy-herding-nest.md",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 4→7 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-26T09:48:08.636Z"
|
|
},
|
|
{
|
|
"id": "bug-037",
|
|
"timestamp": "2026-05-26T10:08:57.389Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 9→11 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-26T10:08:57.389Z"
|
|
},
|
|
{
|
|
"id": "bug-038",
|
|
"timestamp": "2026-05-26T10:09:32.424Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "No early return/throw for edge case: c->myconf->config_version_tag != 0",
|
|
"fix": "Added guard clause: if (c->myconf->config_version_tag != 0)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-26T10:09:32.424Z"
|
|
},
|
|
{
|
|
"id": "bug-039",
|
|
"timestamp": "2026-05-26T10:09:57.711Z",
|
|
"error_message": "Wrong return value",
|
|
"file": "../../../../../claude/.claude/plans/prancy-herding-nest.md",
|
|
"root_cause": "Was returning: 0 (standby); fresher peer runs its own election",
|
|
"fix": "Now returns: `-ENODATA`. Not a normal runtime path.",
|
|
"tags": [
|
|
"auto-detected",
|
|
"return-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-26T10:09:57.711Z"
|
|
},
|
|
{
|
|
"id": "bug-040",
|
|
"timestamp": "2026-05-26T10:10:18.874Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "../../../../../claude/.claude/plans/prancy-herding-nest.md",
|
|
"root_cause": "18 lines replaced/restructured",
|
|
"fix": "Rewrote 29→34 lines (18 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-26T10:10:18.874Z"
|
|
},
|
|
{
|
|
"id": "bug-041",
|
|
"timestamp": "2026-05-26T10:10:40.149Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "../../../../../claude/.claude/plans/prancy-herding-nest.md",
|
|
"root_cause": "Had `test_fetch_config_from_best_peer`",
|
|
"fix": "Changed to `test_handle_config_request_standbys_serve_config`",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-26T10:10:40.149Z"
|
|
},
|
|
{
|
|
"id": "bug-042",
|
|
"timestamp": "2026-05-26T11:35:44.097Z",
|
|
"error_message": "Function not marked async",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-05-26T11:39:15.673Z"
|
|
},
|
|
{
|
|
"id": "bug-043",
|
|
"timestamp": "2026-05-26T11:40:35.979Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "../../../../../claude/.claude/plans/prancy-herding-nest.md",
|
|
"root_cause": "8 lines replaced/restructured",
|
|
"fix": "Rewrote 13→29 lines (8 removed) | Also: 8. **Register OP_requestVote handler** in cluster'; switch at line ~195): since vtaskmgr and iomgr run",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-05-26T11:41:16.284Z"
|
|
},
|
|
{
|
|
"id": "bug-044",
|
|
"timestamp": "2026-05-26T13:07:48.902Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "9 lines replaced/restructured",
|
|
"fix": "Rewrote 13→60 lines (9 removed) | Also: 3. **Replace timestamp polling with `EPOLLRDHUP`**; is replaced by an epoll event handler. On `EPOLLRD | Also: - **Split vote recovery**: After failing quorum, s; (using existing `jitter_seed` xorshift64), retry o",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 3,
|
|
"last_seen": "2026-05-26T13:09:05.649Z"
|
|
},
|
|
{
|
|
"id": "bug-045",
|
|
"timestamp": "2026-05-26T13:09:48.347Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "../../../../../claude/.claude/plans/prancy-herding-nest.md",
|
|
"root_cause": "8 lines replaced/restructured",
|
|
"fix": "Rewrote 8→34 lines (8 removed) | Also: 2. **Replace `ha_check_heartbeat_nocluster()` with; - On `EPOLLRDHUP` from `primary_ctrl_fd`: **close ",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-05-26T13:10:03.239Z"
|
|
},
|
|
{
|
|
"id": "bug-046",
|
|
"timestamp": "2026-05-26T13:51:32.274Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "../../../../../claude/.claude/plans/prancy-herding-nest.md",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block | Also: - [ ] `test_heartbeat_carries_committed_lsn`: heartbeat payl; `committed_lsn`; standby updates `ha.last_known_committed_ls",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-05-26T13:51:57.860Z"
|
|
},
|
|
{
|
|
"id": "bug-047",
|
|
"timestamp": "2026-05-26T13:52:49.044Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block | Also: // Catch-up gate (Clarification 6): behind nodes must not in; if (c->ha.in_catch_up) {",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-05-26T13:53:15.121Z"
|
|
},
|
|
{
|
|
"id": "bug-048",
|
|
"timestamp": "2026-05-27T03:02:34.912Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "../../../../../claude/.claude/plans/prancy-herding-nest.md",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block | Also: name, key, applied_lsn, and config_tag immediately after TCP; - [ ] `test_ctrl_hello_registers_standby_in_repl`: handle_ct",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-05-27T03:04:02.739Z"
|
|
},
|
|
{
|
|
"id": "bug-049",
|
|
"timestamp": "2026-05-27T03:03:26.016Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-27T03:03:26.016Z"
|
|
},
|
|
{
|
|
"id": "bug-050",
|
|
"timestamp": "2026-05-27T03:36:56.123Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "9 lines replaced/restructured",
|
|
"fix": "Rewrote 37→51 lines (9 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-27T03:36:56.123Z"
|
|
},
|
|
{
|
|
"id": "bug-051",
|
|
"timestamp": "2026-05-27T03:52:41.110Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "../../../../../claude/.claude/plans/prancy-herding-nest.md",
|
|
"root_cause": "8 lines replaced/restructured",
|
|
"fix": "Rewrote 8→23 lines (8 removed) | Also: - [ ] `test_persistent_conn_single_node_noop`: ha_; when n_peers == 1; primary_ctrl_fd remains -1 (uni",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-05-27T03:53:14.859Z"
|
|
},
|
|
{
|
|
"id": "bug-052",
|
|
"timestamp": "2026-05-27T03:55:31.440Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "10 lines replaced/restructured",
|
|
"fix": "Rewrote 34→51 lines (10 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-27T03:55:31.440Z"
|
|
},
|
|
{
|
|
"id": "bug-053",
|
|
"timestamp": "2026-05-27T03:56:41.037Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-27T03:56:41.037Z"
|
|
},
|
|
{
|
|
"id": "bug-054",
|
|
"timestamp": "2026-05-27T03:58:16.006Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "../../../../../claude/.claude/plans/prancy-herding-nest.md",
|
|
"root_cause": "11 lines replaced/restructured",
|
|
"fix": "Rewrote 21→28 lines (11 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-27T03:58:16.006Z"
|
|
},
|
|
{
|
|
"id": "bug-055",
|
|
"timestamp": "2026-05-27T03:59:16.145Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "../../../../../claude/.claude/plans/prancy-herding-nest.md",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-27T03:59:16.145Z"
|
|
},
|
|
{
|
|
"id": "bug-056",
|
|
"timestamp": "2026-05-27T06:45:04.111Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 10→13 lines (2 removed) | Also: **Replace LSF priority election with Raft-style qu; Five focused changes: | Also: 8. **Hard SSL/cert gate**: Controller refuses to b; 9. **Observable via logs**: Election results, vote",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 3,
|
|
"last_seen": "2026-05-27T06:46:17.221Z"
|
|
},
|
|
{
|
|
"id": "bug-057",
|
|
"timestamp": "2026-05-27T06:45:34.951Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-27T06:45:34.951Z"
|
|
},
|
|
{
|
|
"id": "bug-058",
|
|
"timestamp": "2026-05-27T07:23:02.729Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 8→11 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-27T07:23:02.729Z"
|
|
},
|
|
{
|
|
"id": "bug-059",
|
|
"timestamp": "2026-05-27T07:24:56.724Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/specs/ha-config-bootstrap/brief.md",
|
|
"root_cause": "Had `-ENOSYS`",
|
|
"fix": "Changed to `bootstrap_config_if_needed()`",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-27T07:24:56.724Z"
|
|
},
|
|
{
|
|
"id": "bug-060",
|
|
"timestamp": "2026-05-27T09:24:44.651Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/specs/ha-config-bootstrap/spec.json",
|
|
"root_cause": "Had \"2026-05-27T01:24:00-07:00\"",
|
|
"fix": "Changed to \"2026-05-27T01:30:00-07:00\"",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"json"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-27T09:24:44.651Z"
|
|
},
|
|
{
|
|
"id": "bug-061",
|
|
"timestamp": "2026-05-28T02:54:36.356Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/schema/controller.capnp",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 5→7 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"capnp"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T02:54:36.356Z"
|
|
},
|
|
{
|
|
"id": "bug-062",
|
|
"timestamp": "2026-05-28T02:55:40.362Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/schema/controller.capnp",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"capnp"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T02:55:40.362Z"
|
|
},
|
|
{
|
|
"id": "bug-063",
|
|
"timestamp": "2026-05-28T03:05:42.555Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 5→40 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T03:05:42.556Z"
|
|
},
|
|
{
|
|
"id": "bug-064",
|
|
"timestamp": "2026-05-28T03:39:14.341Z",
|
|
"error_message": "Missing error handling in struct",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T03:39:14.341Z"
|
|
},
|
|
{
|
|
"id": "bug-065",
|
|
"timestamp": "2026-05-28T03:40:17.891Z",
|
|
"error_message": "Missing error handling in struct",
|
|
"file": "src/include/typemap.h",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T03:40:17.891Z"
|
|
},
|
|
{
|
|
"id": "bug-066",
|
|
"timestamp": "2026-05-28T03:41:53.373Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/include/typemap.h",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 4→6 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T03:41:53.373Z"
|
|
},
|
|
{
|
|
"id": "bug-067",
|
|
"timestamp": "2026-05-28T03:42:53.810Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/meson.build",
|
|
"root_cause": "Had 'worker.c'",
|
|
"fix": "Changed to 'startup_validation.c'",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"build"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T03:42:53.810Z"
|
|
},
|
|
{
|
|
"id": "bug-068",
|
|
"timestamp": "2026-05-28T04:01:56.031Z",
|
|
"error_message": "Wrong condition in logic",
|
|
"file": "src/controller/main.c",
|
|
"root_cause": "Condition was: if (arguments->vcpus < 1)",
|
|
"fix": "Changed to: if (validate_vcpus(arguments->vcpus)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"logic-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T04:01:56.031Z"
|
|
},
|
|
{
|
|
"id": "bug-069",
|
|
"timestamp": "2026-05-28T04:02:06.925Z",
|
|
"error_message": "Wrong reference: vcpus should be nres",
|
|
"file": "src/include/clusterconfig.h",
|
|
"root_cause": "Used \"vcpus\" instead of \"nres\"",
|
|
"fix": "Changed vcpus → nres",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T04:02:06.925Z"
|
|
},
|
|
{
|
|
"id": "bug-070",
|
|
"timestamp": "2026-05-28T04:02:19.321Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "8 lines replaced/restructured",
|
|
"fix": "Rewrote 12→6 lines (8 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T04:02:19.322Z"
|
|
},
|
|
{
|
|
"id": "bug-071",
|
|
"timestamp": "2026-05-28T04:02:48.429Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/schema/controller.capnp",
|
|
"root_cause": "Had \"vcpus\"",
|
|
"fix": "Changed to \"resources\"",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"capnp"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T04:02:48.429Z"
|
|
},
|
|
{
|
|
"id": "bug-072",
|
|
"timestamp": "2026-05-28T04:33:48.790Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_ha_startup.c",
|
|
"root_cause": "8 lines replaced/restructured",
|
|
"fix": "Rewrote 12→18 lines (8 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T04:33:48.790Z"
|
|
},
|
|
{
|
|
"id": "bug-073",
|
|
"timestamp": "2026-05-28T04:50:36.939Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 109→144 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T04:50:36.939Z"
|
|
},
|
|
{
|
|
"id": "bug-074",
|
|
"timestamp": "2026-05-28T05:59:28.525Z",
|
|
"error_message": "Wrong condition in logic",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Condition was: if (opcode == OPCode_requestVote || opcode == OPCode_p)",
|
|
"fix": "Changed to: if (opcode == OPCode_requestVote ||\n opcod)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"logic-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T05:59:28.525Z"
|
|
},
|
|
{
|
|
"id": "bug-075",
|
|
"timestamp": "2026-05-28T07:04:33.895Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/meson.build",
|
|
"root_cause": "Had 'startup_validation.c'",
|
|
"fix": "Changed to 'testsuite/test_ha_election.c'",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"build"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T07:04:33.895Z"
|
|
},
|
|
{
|
|
"id": "bug-076",
|
|
"timestamp": "2026-05-28T07:13:42.089Z",
|
|
"error_message": "Missing error handling in struct",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T07:13:42.089Z"
|
|
},
|
|
{
|
|
"id": "bug-077",
|
|
"timestamp": "2026-05-28T07:14:03.724Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T07:14:03.724Z"
|
|
},
|
|
{
|
|
"id": "bug-078",
|
|
"timestamp": "2026-05-28T07:22:56.418Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: peer_idx < 0 || peer_idx >= ctx->n_peers",
|
|
"fix": "Added guard clause: if (peer_idx < 0 || peer_idx >= ctx->n_peers)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T07:22:56.418Z"
|
|
},
|
|
{
|
|
"id": "bug-079",
|
|
"timestamp": "2026-05-28T07:49:42.076Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "14 lines replaced/restructured",
|
|
"fix": "Rewrote 92→344 lines (14 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T07:49:42.076Z"
|
|
},
|
|
{
|
|
"id": "bug-080",
|
|
"timestamp": "2026-05-28T07:50:39.610Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/myapp.c",
|
|
"root_cause": "6 lines replaced/restructured",
|
|
"fix": "Rewrote 25→49 lines (6 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T07:50:39.610Z"
|
|
},
|
|
{
|
|
"id": "bug-081",
|
|
"timestamp": "2026-05-28T07:53:10.883Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: role != CTRL_STANDBY",
|
|
"fix": "Added guard clause: if (role != CTRL_STANDBY)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T07:53:10.883Z"
|
|
},
|
|
{
|
|
"id": "bug-082",
|
|
"timestamp": "2026-05-28T08:23:40.040Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: ctx->done_posted",
|
|
"fix": "Added guard clause: if (ctx->done_posted)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-05-28T08:25:11.221Z"
|
|
},
|
|
{
|
|
"id": "bug-083",
|
|
"timestamp": "2026-05-28T08:45:37.921Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "No early return/throw for edge case: !host || !tag_out",
|
|
"fix": "Added guard clause: if (!host || !tag_out)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T08:45:37.921Z"
|
|
},
|
|
{
|
|
"id": "bug-084",
|
|
"timestamp": "2026-05-28T08:48:58.609Z",
|
|
"error_message": "Wrong reference: capn_str_null should be str",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "Used \"capn_str_null\" instead of \"str\"",
|
|
"fix": "Changed capn_str_null → str",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T08:48:58.609Z"
|
|
},
|
|
{
|
|
"id": "bug-085",
|
|
"timestamp": "2026-05-28T09:12:37.377Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "7 lines replaced/restructured",
|
|
"fix": "Rewrote 17→84 lines (7 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T09:12:37.377Z"
|
|
},
|
|
{
|
|
"id": "bug-086",
|
|
"timestamp": "2026-05-28T09:13:17.676Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/meson.build",
|
|
"root_cause": "Had 'startup_validation.c'",
|
|
"fix": "Changed to 'testsuite/test_ha_bootstrap_support.c'",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"build"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T09:13:17.676Z"
|
|
},
|
|
{
|
|
"id": "bug-087",
|
|
"timestamp": "2026-05-28T10:13:52.421Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: !workdir",
|
|
"fix": "Added guard clause: if (!workdir)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T10:13:52.421Z"
|
|
},
|
|
{
|
|
"id": "bug-088",
|
|
"timestamp": "2026-05-28T13:34:49.513Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/repl.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T13:34:49.513Z"
|
|
},
|
|
{
|
|
"id": "bug-089",
|
|
"timestamp": "2026-05-28T13:51:39.687Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/include/repl.h",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 3→4 lines (3 removed) | Also: /* ACK handling — call from io_worker read callbac; /* Majority-quorum ACK wait — stub until task 7.3 ",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-05-28T13:51:55.672Z"
|
|
},
|
|
{
|
|
"id": "bug-090",
|
|
"timestamp": "2026-05-28T13:52:52.636Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/repl.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T13:52:52.636Z"
|
|
},
|
|
{
|
|
"id": "bug-091",
|
|
"timestamp": "2026-05-28T13:53:09.924Z",
|
|
"error_message": "Wrong reference: in_catch_up should be acked_config_lsn",
|
|
"file": "src/controller/repl.c",
|
|
"root_cause": "Used \"in_catch_up\" instead of \"acked_config_lsn\"",
|
|
"fix": "Changed in_catch_up → acked_config_lsn",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T13:53:09.924Z"
|
|
},
|
|
{
|
|
"id": "bug-092",
|
|
"timestamp": "2026-05-28T14:11:04.583Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/persist.c",
|
|
"root_cause": "No early return/throw for edge case: p->current_lsn == 0 || cutoff_lsn + 1 >= p->current_lsn",
|
|
"fix": "Added guard clause: if (p->current_lsn == 0 || cutoff_lsn + 1 >=)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T14:11:04.583Z"
|
|
},
|
|
{
|
|
"id": "bug-093",
|
|
"timestamp": "2026-05-28T14:19:54.082Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/persist.c",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 20→29 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T14:19:54.082Z"
|
|
},
|
|
{
|
|
"id": "bug-094",
|
|
"timestamp": "2026-05-28T14:47:44.445Z",
|
|
"error_message": "Wrong reference: ha_state_t should be _Atomic",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "Used \"ha_state_t\" instead of \"_Atomic\"",
|
|
"fix": "Changed ha_state_t → _Atomic",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T14:47:44.445Z"
|
|
},
|
|
{
|
|
"id": "bug-095",
|
|
"timestamp": "2026-05-28T15:04:44.613Z",
|
|
"error_message": "Wrong reference: socket should be epoll",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Used \"socket\" instead of \"epoll\"",
|
|
"fix": "Changed socket → epoll",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T15:04:44.613Z"
|
|
},
|
|
{
|
|
"id": "bug-096",
|
|
"timestamp": "2026-05-28T15:05:23.129Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: ha_tcp_connect_hook",
|
|
"fix": "Added guard clause: if (ha_tcp_connect_hook)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-28T15:05:23.129Z"
|
|
},
|
|
{
|
|
"id": "bug-097",
|
|
"timestamp": "2026-05-29T02:48:17.371Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/lib/request.c",
|
|
"root_cause": "No early return/throw for edge case: (ep == NULL",
|
|
"fix": "Added guard clause: if ((ep == NULL)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-29T02:48:17.371Z"
|
|
},
|
|
{
|
|
"id": "bug-098",
|
|
"timestamp": "2026-05-29T02:50:46.444Z",
|
|
"error_message": "Wrong reference: XCE_ERR_STANDBY should be E_XCE_STANDBY",
|
|
"file": "src/lib/request.c",
|
|
"root_cause": "Used \"XCE_ERR_STANDBY\" instead of \"E_XCE_STANDBY\"",
|
|
"fix": "Changed XCE_ERR_STANDBY → E_XCE_STANDBY",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-29T02:50:46.444Z"
|
|
},
|
|
{
|
|
"id": "bug-099",
|
|
"timestamp": "2026-05-29T02:51:03.529Z",
|
|
"error_message": "Wrong reference: XCE_ERR_NOT_READY should be E_XCE_NOT_READY",
|
|
"file": "src/lib/testsuite/test_libxce_retry.c",
|
|
"root_cause": "Used \"XCE_ERR_NOT_READY\" instead of \"E_XCE_NOT_READY\"",
|
|
"fix": "Changed XCE_ERR_NOT_READY → E_XCE_NOT_READY",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-05-29T02:51:16.657Z"
|
|
},
|
|
{
|
|
"id": "bug-100",
|
|
"timestamp": "2026-05-29T03:27:20.556Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-29T03:27:20.556Z"
|
|
},
|
|
{
|
|
"id": "bug-101",
|
|
"timestamp": "2026-05-29T03:29:44.753Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/config_repl.h",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-29T03:29:44.753Z"
|
|
},
|
|
{
|
|
"id": "bug-102",
|
|
"timestamp": "2026-05-29T03:37:52.117Z",
|
|
"error_message": "Wrong reference: data should be ctrl_hello_reply_t",
|
|
"file": "src/include/typemap.h",
|
|
"root_cause": "Used \"data\" instead of \"ctrl_hello_reply_t\"",
|
|
"fix": "Changed data → ctrl_hello_reply_t",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-29T03:37:52.117Z"
|
|
},
|
|
{
|
|
"id": "bug-103",
|
|
"timestamp": "2026-05-29T03:53:48.559Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/schema/controller.capnp",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"capnp"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-29T03:53:48.559Z"
|
|
},
|
|
{
|
|
"id": "bug-104",
|
|
"timestamp": "2026-05-29T03:54:23.205Z",
|
|
"error_message": "Missing error handling in struct",
|
|
"file": "src/include/typemap.h",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block | Also: wal_catchup_entry_t* walcatchupentrymsg;; snapshot_transfer_t* snapshottransfermsg; | Also: /* Forward declarations for types defined later in this file; typedef struct snapshot_transfer_t snapshot_transfer_fw",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 3,
|
|
"last_seen": "2026-05-29T03:56:34.078Z"
|
|
},
|
|
{
|
|
"id": "bug-105",
|
|
"timestamp": "2026-05-29T03:57:22.758Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/include/typemap.h",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 5→5 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-29T03:57:22.758Z"
|
|
},
|
|
{
|
|
"id": "bug-106",
|
|
"timestamp": "2026-05-29T03:58:07.711Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/schema/controller.capnp",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 5→3 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"capnp"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-29T03:58:07.711Z"
|
|
},
|
|
{
|
|
"id": "bug-107",
|
|
"timestamp": "2026-05-29T04:04:12.693Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-29T04:04:12.693Z"
|
|
},
|
|
{
|
|
"id": "bug-108",
|
|
"timestamp": "2026-05-29T04:06:35.126Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 10→12 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-29T04:06:35.126Z"
|
|
},
|
|
{
|
|
"id": "bug-109",
|
|
"timestamp": "2026-05-29T06:59:14.045Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: !ha",
|
|
"fix": "Added guard clause: if (!ha)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-29T06:59:14.045Z"
|
|
},
|
|
{
|
|
"id": "bug-110",
|
|
"timestamp": "2026-05-29T07:01:11.916Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "5 lines replaced/restructured",
|
|
"fix": "Rewrote 10→20 lines (5 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-29T07:01:11.916Z"
|
|
},
|
|
{
|
|
"id": "bug-111",
|
|
"timestamp": "2026-05-29T07:02:31.287Z",
|
|
"error_message": "Wrong condition in logic",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Condition was: if (c->myconf && c->myconf->cluster_config)",
|
|
"fix": "Changed to: if (c->myconf && c->myconf->peers_cfg.candidates_count)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"logic-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-29T07:02:31.287Z"
|
|
},
|
|
{
|
|
"id": "bug-112",
|
|
"timestamp": "2026-05-29T10:40:53.626Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/ha-config-bootstrap/manual-tests.md",
|
|
"root_cause": "9 lines replaced/restructured",
|
|
"fix": "Rewrote 18→20 lines (9 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-29T10:40:53.626Z"
|
|
},
|
|
{
|
|
"id": "bug-113",
|
|
"timestamp": "2026-05-29T10:59:37.144Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": ".kiro/specs/ha-config-bootstrap/manual-tests.md",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-29T10:59:37.144Z"
|
|
},
|
|
{
|
|
"id": "bug-114",
|
|
"timestamp": "2026-05-29T11:01:49.200Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/ha-config-bootstrap/manual-tests.md",
|
|
"root_cause": "10 lines replaced/restructured",
|
|
"fix": "Rewrote 20→36 lines (10 removed) | Also: ### 11.1 Concurrent Startup (3 nodes); - Result: PASS / FAIL",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-05-29T11:02:31.657Z"
|
|
},
|
|
{
|
|
"id": "bug-115",
|
|
"timestamp": "2026-05-29T12:29:37.335Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "5 lines replaced/restructured",
|
|
"fix": "Rewrote 29→45 lines (5 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-29T12:29:37.335Z"
|
|
},
|
|
{
|
|
"id": "bug-116",
|
|
"timestamp": "2026-05-29T12:43:56.243Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_ha_bootstrap.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 4→8 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-29T12:43:56.243Z"
|
|
},
|
|
{
|
|
"id": "bug-117",
|
|
"timestamp": "2026-05-29T13:41:46.841Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/myapp.c",
|
|
"root_cause": "Had \"Pre-election config loaded: tag=%016\"",
|
|
"fix": "Changed to \"Pre-election config loaded: tag=%016llx\"",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-29T13:41:46.841Z"
|
|
},
|
|
{
|
|
"id": "bug-118",
|
|
"timestamp": "2026-05-29T13:51:42.299Z",
|
|
"error_message": "Wrong reference: nres should be vcpus",
|
|
"file": "src/include/clusterconfig.h",
|
|
"root_cause": "Used \"nres\" instead of \"vcpus\"",
|
|
"fix": "Changed nres → vcpus",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-29T13:51:42.299Z"
|
|
},
|
|
{
|
|
"id": "bug-119",
|
|
"timestamp": "2026-05-29T16:32:10.285Z",
|
|
"error_message": "Wrong reference: data should be request_vote_reply_t",
|
|
"file": "src/include/typemap.h",
|
|
"root_cause": "Used \"data\" instead of \"request_vote_reply_t\"",
|
|
"fix": "Changed data → request_vote_reply_t",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-29T16:32:10.285Z"
|
|
},
|
|
{
|
|
"id": "bug-120",
|
|
"timestamp": "2026-05-29T16:35:39.908Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "10 lines replaced/restructured",
|
|
"fix": "Rewrote 19→25 lines (10 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-29T16:35:39.908Z"
|
|
},
|
|
{
|
|
"id": "bug-121",
|
|
"timestamp": "2026-05-29T16:36:41.731Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-29T16:36:41.731Z"
|
|
},
|
|
{
|
|
"id": "bug-122",
|
|
"timestamp": "2026-05-30T00:05:02.052Z",
|
|
"error_message": "Wrong reference: cluster_init_phase2 should be cluster_register_listener",
|
|
"file": "src/controller/include/cluster.h",
|
|
"root_cause": "Used \"cluster_init_phase2\" instead of \"cluster_register_listener\"",
|
|
"fix": "Changed cluster_init_phase2 → cluster_register_listener",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T00:05:02.052Z"
|
|
},
|
|
{
|
|
"id": "bug-123",
|
|
"timestamp": "2026-05-30T00:20:27.244Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "No early return/throw for edge case: c->ep.flags == 0",
|
|
"fix": "Added guard clause: if (c->ep.flags == 0)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T00:20:27.244Z"
|
|
},
|
|
{
|
|
"id": "bug-124",
|
|
"timestamp": "2026-05-30T00:24:49.302Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/myapp.c",
|
|
"root_cause": "30 lines replaced/restructured",
|
|
"fix": "Rewrote 79→61 lines (30 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T00:24:49.302Z"
|
|
},
|
|
{
|
|
"id": "bug-125",
|
|
"timestamp": "2026-05-30T01:12:05.791Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/include/xce/cluster_def.h",
|
|
"root_cause": "5 lines replaced/restructured",
|
|
"fix": "Rewrote 8→15 lines (5 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T01:12:05.791Z"
|
|
},
|
|
{
|
|
"id": "bug-126",
|
|
"timestamp": "2026-05-30T01:12:16.318Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 7→16 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T01:12:16.318Z"
|
|
},
|
|
{
|
|
"id": "bug-127",
|
|
"timestamp": "2026-05-30T01:12:38.572Z",
|
|
"error_message": "Wrong reference: CTRL_PERF_NHASH should be c",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "Used \"CTRL_PERF_NHASH\" instead of \"c\"",
|
|
"fix": "Changed CTRL_PERF_NHASH → c",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T01:12:38.572Z"
|
|
},
|
|
{
|
|
"id": "bug-128",
|
|
"timestamp": "2026-05-30T01:18:19.850Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "36 lines replaced/restructured",
|
|
"fix": "Rewrote 77→41 lines (36 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T01:18:19.850Z"
|
|
},
|
|
{
|
|
"id": "bug-129",
|
|
"timestamp": "2026-05-30T01:21:20.140Z",
|
|
"error_message": "Wrong reference: true should be false",
|
|
"file": ".claude/skills/xce-build/SKILL.md",
|
|
"root_cause": "Used \"true\" instead of \"false\"",
|
|
"fix": "Changed true → false",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T01:21:20.140Z"
|
|
},
|
|
{
|
|
"id": "bug-130",
|
|
"timestamp": "2026-05-30T01:28:22.079Z",
|
|
"error_message": "Wrong reference: 120 should be 300",
|
|
"file": "src/controller/meson.build",
|
|
"root_cause": "Used \"120\" instead of \"300\"",
|
|
"fix": "Changed 120 → 300",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"build"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T01:28:22.079Z"
|
|
},
|
|
{
|
|
"id": "bug-131",
|
|
"timestamp": "2026-05-30T02:37:40.267Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/myapp.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T02:37:40.267Z"
|
|
},
|
|
{
|
|
"id": "bug-132",
|
|
"timestamp": "2026-05-30T03:33:24.652Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 15→21 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T03:33:24.652Z"
|
|
},
|
|
{
|
|
"id": "bug-133",
|
|
"timestamp": "2026-05-30T03:55:45.693Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 9→13 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T03:55:45.693Z"
|
|
},
|
|
{
|
|
"id": "bug-134",
|
|
"timestamp": "2026-05-30T06:19:16.564Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/election-iomgr-refactor/design.md",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 10→27 lines (3 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T06:19:16.564Z"
|
|
},
|
|
{
|
|
"id": "bug-135",
|
|
"timestamp": "2026-05-30T06:19:47.181Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/specs/election-iomgr-refactor/design.md",
|
|
"root_cause": "Had `cluster_init_phase2`",
|
|
"fix": "Changed to `cluster_config == NULL`",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T06:19:47.181Z"
|
|
},
|
|
{
|
|
"id": "bug-136",
|
|
"timestamp": "2026-05-30T06:38:09.325Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": ".kiro/specs/election-iomgr-refactor/design.md",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block | Also: /* After election determines role: */; int is_first_boot = !c->running; /* running=1 only after cl | Also: #### `ha_dispatch_gate` — CTRL_PRIMARY_COMMITTING case; ```c | Also: ### 3-node startup — ctrl-a wins (with COMMITTING phase); participant PeerC as ctrl-c endpoint | Also: - **`ha_start_election_async()` is fully non-blocking**: Arm; - *Initial startup* (`ha->phase2_done == 0`): calls `cluster",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 5,
|
|
"last_seen": "2026-05-30T06:43:07.267Z"
|
|
},
|
|
{
|
|
"id": "bug-137",
|
|
"timestamp": "2026-05-30T06:44:51.916Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/election-iomgr-refactor/design.md",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 19→26 lines (4 removed) | Also: ├── ha.h # Add to ha_state_t: clie; │ # ha_repl_ack_re | Also: └── myapp.c # Restructured: phase1 + ; # for(;;) retry loop, cluster_init_phase2,",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 3,
|
|
"last_seen": "2026-05-30T06:45:22.626Z"
|
|
},
|
|
{
|
|
"id": "bug-138",
|
|
"timestamp": "2026-05-30T06:56:32.965Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/election-iomgr-refactor/design.md",
|
|
"root_cause": "12 lines replaced/restructured",
|
|
"fix": "Rewrote 15→20 lines (12 removed) | Also: - `src/controller/ha.h` — Add `client_ssl_ctx`, `r; - `src/controller/ha.c` — Main changes above; `ha_ | Also: ├── delay.c # Add delay_task_ms() (ms; │ # Add delay_task_cancel()",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 3,
|
|
"last_seen": "2026-05-30T06:57:53.882Z"
|
|
},
|
|
{
|
|
"id": "bug-139",
|
|
"timestamp": "2026-05-30T06:58:05.115Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/specs/election-iomgr-refactor/design.md",
|
|
"root_cause": "Had `delay_task_cancel()`",
|
|
"fix": "Changed to `clock_gettime(CLOCK_MONOTONIC)`",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T06:58:05.115Z"
|
|
},
|
|
{
|
|
"id": "bug-140",
|
|
"timestamp": "2026-05-30T07:06:20.968Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/lib/delay.c",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 53→85 lines (3 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T07:06:20.968Z"
|
|
},
|
|
{
|
|
"id": "bug-141",
|
|
"timestamp": "2026-05-30T07:36:03.937Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 7→8 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T07:36:03.937Z"
|
|
},
|
|
{
|
|
"id": "bug-142",
|
|
"timestamp": "2026-05-30T07:57:14.052Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: xce_vote_request_hook != NULL",
|
|
"fix": "Added guard clause: if (xce_vote_request_hook != NULL)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T07:57:14.052Z"
|
|
},
|
|
{
|
|
"id": "bug-143",
|
|
"timestamp": "2026-05-30T08:16:03.222Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: !pkt || !pkt->data || pkt->sz == 0",
|
|
"fix": "Added guard clause: if (!pkt || !pkt->data || pkt->sz == 0)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T08:16:03.222Z"
|
|
},
|
|
{
|
|
"id": "bug-144",
|
|
"timestamp": "2026-05-30T08:49:04.058Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T08:49:04.058Z"
|
|
},
|
|
{
|
|
"id": "bug-145",
|
|
"timestamp": "2026-05-30T08:49:59.817Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: atomic_load(&t->cancelled",
|
|
"fix": "Added guard clause: if (atomic_load(&t->cancelled)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T08:49:59.817Z"
|
|
},
|
|
{
|
|
"id": "bug-146",
|
|
"timestamp": "2026-05-30T09:12:38.055Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 14→17 lines (3 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T09:12:38.055Z"
|
|
},
|
|
{
|
|
"id": "bug-147",
|
|
"timestamp": "2026-05-30T09:13:19.377Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T09:13:19.377Z"
|
|
},
|
|
{
|
|
"id": "bug-148",
|
|
"timestamp": "2026-05-30T09:13:54.779Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_ha_start_election_async.c",
|
|
"root_cause": "8 lines replaced/restructured",
|
|
"fix": "Rewrote 24→42 lines (8 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T09:13:54.779Z"
|
|
},
|
|
{
|
|
"id": "bug-149",
|
|
"timestamp": "2026-05-30T10:31:53.836Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/meson.build",
|
|
"root_cause": "Had 'startup_validation.c'",
|
|
"fix": "Changed to 'testsuite/test_ha_vote_gate.c'",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"build"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T10:31:53.836Z"
|
|
},
|
|
{
|
|
"id": "bug-150",
|
|
"timestamp": "2026-05-30T11:08:59.808Z",
|
|
"error_message": "Missing error handling in XCE_TESTING",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T11:08:59.808Z"
|
|
},
|
|
{
|
|
"id": "bug-151",
|
|
"timestamp": "2026-05-30T11:09:47.905Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T11:09:47.905Z"
|
|
},
|
|
{
|
|
"id": "bug-152",
|
|
"timestamp": "2026-05-30T11:10:30.958Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "8 lines replaced/restructured",
|
|
"fix": "Rewrote 62→164 lines (8 removed) | Also: /* Store candidate own tag/lsn in votes[0] for eva; * n_peers==1 → n_other==0, so votes[] has 0 entrie | Also: * election_timeout_ctx_t: argument for the delay_t; * ha_elect_evaluate_and_signal when the election d",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 3,
|
|
"last_seen": "2026-05-30T11:13:27.304Z"
|
|
},
|
|
{
|
|
"id": "bug-153",
|
|
"timestamp": "2026-05-30T11:43:01.989Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/meson.build",
|
|
"root_cause": "Had 'startup_validation.c'",
|
|
"fix": "Changed to 'testsuite/test_ha_repl_push.c'",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"build"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T11:43:01.989Z"
|
|
},
|
|
{
|
|
"id": "bug-154",
|
|
"timestamp": "2026-05-30T11:43:44.829Z",
|
|
"error_message": "Missing error handling in XCE_TESTING",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block | Also: /* Push config to standbys with lower config_tag (Req 7.1) *; #ifdef XCE_TESTING",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-05-30T11:43:58.208Z"
|
|
},
|
|
{
|
|
"id": "bug-155",
|
|
"timestamp": "2026-05-30T11:44:15.059Z",
|
|
"error_message": "Missing error handling in XCE_TESTING",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T11:44:15.059Z"
|
|
},
|
|
{
|
|
"id": "bug-156",
|
|
"timestamp": "2026-05-30T11:45:24.946Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T11:45:24.946Z"
|
|
},
|
|
{
|
|
"id": "bug-157",
|
|
"timestamp": "2026-05-30T12:02:39.009Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/controller/testsuite/test_ha_startup.c",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-05-30T12:03:10.183Z"
|
|
},
|
|
{
|
|
"id": "bug-158",
|
|
"timestamp": "2026-05-30T12:09:20.842Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 22→32 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T12:09:20.842Z"
|
|
},
|
|
{
|
|
"id": "bug-159",
|
|
"timestamp": "2026-05-30T12:22:57.013Z",
|
|
"error_message": "Wrong return value",
|
|
"file": "src/controller/testsuite/test_ha_startup.c",
|
|
"root_cause": "Was returning: in < 10ms.",
|
|
"fix": "Now returns: in < 5ms (design spec).",
|
|
"tags": [
|
|
"auto-detected",
|
|
"return-value",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T12:22:57.013Z"
|
|
},
|
|
{
|
|
"id": "bug-160",
|
|
"timestamp": "2026-05-30T12:23:18.560Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/testsuite/test_ha_startup.c",
|
|
"root_cause": "Had \"myapp_run path: ha_start_election_async must retu",
|
|
"fix": "Changed to \"myapp_run path: ha_start_election_async must retu",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T12:23:18.560Z"
|
|
},
|
|
{
|
|
"id": "bug-161",
|
|
"timestamp": "2026-05-30T12:29:45.867Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T12:29:45.867Z"
|
|
},
|
|
{
|
|
"id": "bug-162",
|
|
"timestamp": "2026-05-30T12:30:10.570Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-05-30T12:30:26.987Z"
|
|
},
|
|
{
|
|
"id": "bug-163",
|
|
"timestamp": "2026-05-30T12:31:02.203Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/controller/testsuite/test_ha_failover.c",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T12:31:02.203Z"
|
|
},
|
|
{
|
|
"id": "bug-164",
|
|
"timestamp": "2026-05-30T12:45:22.182Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T12:45:22.182Z"
|
|
},
|
|
{
|
|
"id": "bug-165",
|
|
"timestamp": "2026-05-30T12:46:02.210Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "10 lines replaced/restructured",
|
|
"fix": "Rewrote 15→5 lines (10 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T12:46:02.210Z"
|
|
},
|
|
{
|
|
"id": "bug-166",
|
|
"timestamp": "2026-05-30T12:50:35.870Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/testsuite/test_ha_bootstrap_support.c",
|
|
"root_cause": "No early return/throw for edge case: c->myconf->config_version_tag != 0",
|
|
"fix": "Added guard clause: if (c->myconf->config_version_tag != 0)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T12:50:35.870Z"
|
|
},
|
|
{
|
|
"id": "bug-167",
|
|
"timestamp": "2026-05-30T13:06:57.152Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: cancelled_val",
|
|
"fix": "Added guard clause: if (cancelled_val)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T13:06:57.152Z"
|
|
},
|
|
{
|
|
"id": "bug-168",
|
|
"timestamp": "2026-05-30T13:24:06.024Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/meson.build",
|
|
"root_cause": "Had 'startup_validation.c'",
|
|
"fix": "Changed to 'testsuite/test_ha_repl_ack.c'",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"build"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T13:24:06.024Z"
|
|
},
|
|
{
|
|
"id": "bug-169",
|
|
"timestamp": "2026-05-30T13:42:28.077Z",
|
|
"error_message": "Wrong reference: third should be second",
|
|
"file": "src/controller/testsuite/test_ha_repl_ack.c",
|
|
"root_cause": "Used \"third\" instead of \"second\"",
|
|
"fix": "Changed third → second",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T13:42:28.077Z"
|
|
},
|
|
{
|
|
"id": "bug-170",
|
|
"timestamp": "2026-05-30T14:35:07.679Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T14:35:07.679Z"
|
|
},
|
|
{
|
|
"id": "bug-171",
|
|
"timestamp": "2026-05-30T15:26:07.538Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/myapp.c",
|
|
"root_cause": "5 lines replaced/restructured",
|
|
"fix": "Rewrote 10→15 lines (5 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T15:26:07.538Z"
|
|
},
|
|
{
|
|
"id": "bug-172",
|
|
"timestamp": "2026-05-30T23:42:12.644Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T23:42:12.644Z"
|
|
},
|
|
{
|
|
"id": "bug-173",
|
|
"timestamp": "2026-05-30T23:42:34.993Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "15 lines replaced/restructured",
|
|
"fix": "Rewrote 23→10 lines (15 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T23:42:34.993Z"
|
|
},
|
|
{
|
|
"id": "bug-174",
|
|
"timestamp": "2026-05-30T23:52:01.776Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 5→9 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-30T23:52:01.776Z"
|
|
},
|
|
{
|
|
"id": "bug-175",
|
|
"timestamp": "2026-05-31T00:11:29.118Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 14→16 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T00:11:29.118Z"
|
|
},
|
|
{
|
|
"id": "bug-176",
|
|
"timestamp": "2026-05-31T02:09:39.630Z",
|
|
"error_message": "Wrong condition in logic",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Condition was: if (c->myconf && c->myconf->peers_cfg.candidates_count)",
|
|
"fix": "Changed to: if (ha->my_priority > 0)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"logic-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T02:09:39.630Z"
|
|
},
|
|
{
|
|
"id": "bug-177",
|
|
"timestamp": "2026-05-31T02:54:09.113Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "12 lines replaced/restructured",
|
|
"fix": "Rewrote 15→20 lines (12 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T02:54:09.113Z"
|
|
},
|
|
{
|
|
"id": "bug-178",
|
|
"timestamp": "2026-05-31T02:54:42.189Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/include/typemap.h",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 4→8 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T02:54:42.189Z"
|
|
},
|
|
{
|
|
"id": "bug-179",
|
|
"timestamp": "2026-05-31T02:55:12.814Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/xce.build/lib/controller.capnp.c",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 11→19 lines (4 removed) | Also: encode_Data_ptr(cs, &(d->sha256), s->sha256);; encode_Data_ptr(cs, &(d->bytes), s->bytes);",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 3,
|
|
"last_seen": "2026-05-31T03:00:08.081Z"
|
|
},
|
|
{
|
|
"id": "bug-180",
|
|
"timestamp": "2026-05-31T02:57:22.273Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "28 lines replaced/restructured",
|
|
"fix": "Rewrote 31→4 lines (28 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T02:57:22.273Z"
|
|
},
|
|
{
|
|
"id": "bug-181",
|
|
"timestamp": "2026-05-31T03:01:08.147Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/include/typemap.h",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 8→18 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T03:01:08.147Z"
|
|
},
|
|
{
|
|
"id": "bug-182",
|
|
"timestamp": "2026-05-31T03:02:13.050Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/include/request.h",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 10→19 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T03:02:13.050Z"
|
|
},
|
|
{
|
|
"id": "bug-183",
|
|
"timestamp": "2026-05-31T03:02:33.311Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/lib/request.c",
|
|
"root_cause": "No early return/throw for edge case: req == NULL",
|
|
"fix": "Added guard clause: if (req == NULL)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T03:02:33.311Z"
|
|
},
|
|
{
|
|
"id": "bug-184",
|
|
"timestamp": "2026-05-31T03:14:15.595Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 5→10 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T03:14:15.595Z"
|
|
},
|
|
{
|
|
"id": "bug-185",
|
|
"timestamp": "2026-05-31T03:27:59.922Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 9→11 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T03:27:59.922Z"
|
|
},
|
|
{
|
|
"id": "bug-186",
|
|
"timestamp": "2026-05-31T04:11:45.534Z",
|
|
"error_message": "Missing error handling in struct",
|
|
"file": ".kiro/specs/raft-library/design.md",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block | Also: Caller->>RaftSM: raft_on_vote_request(state, from, term); alt term < current_term",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-05-31T04:13:04.500Z"
|
|
},
|
|
{
|
|
"id": "bug-187",
|
|
"timestamp": "2026-05-31T04:13:43.960Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/raft-library/design.md",
|
|
"root_cause": "5 lines replaced/restructured",
|
|
"fix": "Rewrote 8→26 lines (5 removed) | Also: * raft_init: initialize state for a node.; * All required callbacks (except on_trace and on_v | Also: - C standard library only (`stdint.h`, `pthread.h`; - `raft.c` may include `<stdatomic.h>` for lock-fr | Also: | Threading | `pthread_mutex_t` (caller-owned) | P; | Atomics | None in library | Caller uses atomics ",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 4,
|
|
"last_seen": "2026-05-31T04:19:37.296Z"
|
|
},
|
|
{
|
|
"id": "bug-188",
|
|
"timestamp": "2026-05-31T04:19:54.524Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/specs/raft-library/design.md",
|
|
"root_cause": "Had `raft.c`",
|
|
"fix": "Changed to `raft.h`",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T04:19:54.524Z"
|
|
},
|
|
{
|
|
"id": "bug-189",
|
|
"timestamp": "2026-05-31T04:58:21.609Z",
|
|
"error_message": "Missing error handling in RAFT_H",
|
|
"file": "src/lib/raft/raft.h",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T04:58:21.609Z"
|
|
},
|
|
{
|
|
"id": "bug-190",
|
|
"timestamp": "2026-05-31T05:07:37.759Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/lib/raft/raft.c",
|
|
"root_cause": "No early return/throw for edge case: cfg->n_peers < 1",
|
|
"fix": "Added guard clause: if (cfg->n_peers < 1)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T05:07:37.759Z"
|
|
},
|
|
{
|
|
"id": "bug-191",
|
|
"timestamp": "2026-05-31T05:23:19.394Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/lib/raft/raft.c",
|
|
"root_cause": "No early return/throw for edge case: s->role == RAFT_CANDIDATE || s->role == RAFT_LEADER",
|
|
"fix": "Added guard clause: if (s->role == RAFT_CANDIDATE || s->role == )",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T05:23:19.394Z"
|
|
},
|
|
{
|
|
"id": "bug-192",
|
|
"timestamp": "2026-05-31T05:32:36.388Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/lib/testsuite/test_raft.c",
|
|
"root_cause": "8 lines replaced/restructured",
|
|
"fix": "Rewrote 77→107 lines (8 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T05:32:36.388Z"
|
|
},
|
|
{
|
|
"id": "bug-193",
|
|
"timestamp": "2026-05-31T05:35:03.808Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/lib/raft/raft.c",
|
|
"root_cause": "5 lines replaced/restructured",
|
|
"fix": "Rewrote 9→62 lines (5 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T05:35:03.808Z"
|
|
},
|
|
{
|
|
"id": "bug-194",
|
|
"timestamp": "2026-05-31T05:47:51.091Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/lib/raft/raft.c",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 8→57 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T05:47:51.091Z"
|
|
},
|
|
{
|
|
"id": "bug-195",
|
|
"timestamp": "2026-05-31T05:58:45.896Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/lib/raft/raft.c",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 15→38 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T05:58:45.896Z"
|
|
},
|
|
{
|
|
"id": "bug-196",
|
|
"timestamp": "2026-05-31T06:10:56.560Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/lib/raft/raft_sim.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 6→3 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T06:10:56.560Z"
|
|
},
|
|
{
|
|
"id": "bug-197",
|
|
"timestamp": "2026-05-31T07:08:23.387Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T07:08:23.387Z"
|
|
},
|
|
{
|
|
"id": "bug-198",
|
|
"timestamp": "2026-05-31T07:10:04.095Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "32 lines replaced/restructured",
|
|
"fix": "Rewrote 49→16 lines (32 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T07:10:04.095Z"
|
|
},
|
|
{
|
|
"id": "bug-199",
|
|
"timestamp": "2026-05-31T07:26:39.758Z",
|
|
"error_message": "Missing error handling in before",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T07:26:39.758Z"
|
|
},
|
|
{
|
|
"id": "bug-200",
|
|
"timestamp": "2026-05-31T07:28:29.756Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 6→19 lines (3 removed) | Also: typedef struct {; ha_state_t *ha; | Also: /* ── Type definitions needed by ha_elect_evaluate; *",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 3,
|
|
"last_seen": "2026-05-31T07:30:49.949Z"
|
|
},
|
|
{
|
|
"id": "bug-201",
|
|
"timestamp": "2026-05-31T07:57:18.504Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "167 lines replaced/restructured",
|
|
"fix": "Rewrote 291→137 lines (167 removed) | Also: /* Clear voted_for: the old primary is dead; any v; * is stale and must not block the new election. */",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-05-31T07:58:02.135Z"
|
|
},
|
|
{
|
|
"id": "bug-202",
|
|
"timestamp": "2026-05-31T07:58:38.513Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "12 lines replaced/restructured",
|
|
"fix": "Rewrote 28→68 lines (12 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T07:58:38.513Z"
|
|
},
|
|
{
|
|
"id": "bug-203",
|
|
"timestamp": "2026-05-31T08:16:20.727Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 16→21 lines (2 removed) | Also: /* Task 6.3: delegate vote reply accumulation to r; * raft_on_vote_reply owns quorum tracking and fire",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-05-31T08:16:28.806Z"
|
|
},
|
|
{
|
|
"id": "bug-204",
|
|
"timestamp": "2026-05-31T08:30:55.738Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "7 lines replaced/restructured",
|
|
"fix": "Rewrote 10→4 lines (7 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T08:30:55.738Z"
|
|
},
|
|
{
|
|
"id": "bug-205",
|
|
"timestamp": "2026-05-31T08:38:33.200Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 5→14 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T08:38:33.200Z"
|
|
},
|
|
{
|
|
"id": "bug-206",
|
|
"timestamp": "2026-05-31T08:40:00.000Z",
|
|
"error_message": "test_vote_reply_handler_term_fencing FAIL: Expected 10 Was 3 — ha->term must be atomically updated to peer term when peer term > ours",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "vote_reply_msg_handler delegated term fencing entirely to raft_cb_become_follower (via raft_on_vote_reply). In XCE_TESTING builds, vote_reply_dispatch calls xce_vote_reply_hook and returns early, bypassing raft_on_vote_reply and thus never updating ha->term.",
|
|
"fix": "Added explicit CAS loop in vote_reply_msg_handler before vote_reply_dispatch to advance ha->term when vr_term > ha->term. This applies on both the production path and the XCE_TESTING hook path.",
|
|
"tags": [
|
|
"term-fencing",
|
|
"raft",
|
|
"ha",
|
|
"xce-testing",
|
|
"test-seam",
|
|
"vote-reply"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T08:40:00.000Z"
|
|
},
|
|
{
|
|
"id": "bug-207",
|
|
"timestamp": "2026-05-31T08:47:08.484Z",
|
|
"error_message": "Wrong reference: test_raft_init_zero_peers_returns_einval should be test_raft_init_even_peers_returns_einval",
|
|
"file": "src/lib/testsuite/test_raft.c",
|
|
"root_cause": "Used \"test_raft_init_zero_peers_returns_einval\" instead of \"test_raft_init_even_peers_returns_einval\"",
|
|
"fix": "Changed test_raft_init_zero_peers_returns_einval → test_raft_init_even_peers_returns_einval",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T08:47:08.484Z"
|
|
},
|
|
{
|
|
"id": "bug-208",
|
|
"timestamp": "2026-05-31",
|
|
"error_message": "ASAN LeakSanitizer: detected memory leaks in scheduler testsuite — build exits with error code",
|
|
"file": "src/scheduler/testsuite/test.c",
|
|
"root_cause": "sched_meet_host_selection() lazily allocates w->host_eval_ctx via build_host_eval_ctx(). Four test functions (test_meet_host_selection_always_true_passes, test_meet_host_selection_always_false_fails, test_meet_host_selection_numeric_match, test_meet_host_selection_string_match) called zarray_fini() without first calling sched_worker_release_host_ctx() to free the lazily-allocated host_eval_ctx.",
|
|
"fix": "Added sched_worker_release_host_ctx(&w) calls before zarray_fini() in all four affected test functions.",
|
|
"tags": [
|
|
"asan",
|
|
"leak",
|
|
"scheduler",
|
|
"test",
|
|
"host_eval_ctx"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31"
|
|
},
|
|
{
|
|
"id": "bug-209",
|
|
"timestamp": "2026-05-31T10:19:47.014Z",
|
|
"error_message": "Wrong condition in logic",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Condition was: if (ha_rdhup_election_hook != NULL)",
|
|
"fix": "Changed to: if (c->myconf && c->myconf->peers_cfg.candidates_count)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"logic-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T10:19:47.014Z"
|
|
},
|
|
{
|
|
"id": "bug-210",
|
|
"timestamp": "2026-05-31T10:21:40.444Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "24 lines replaced/restructured",
|
|
"fix": "Rewrote 28→3 lines (24 removed) | Also: if (my_config_tag == 0) {; INFO(\"ha_start_election_async: no local config (ta",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-05-31T10:23:32.151Z"
|
|
},
|
|
{
|
|
"id": "bug-211",
|
|
"timestamp": "2026-05-31T11:29:03.301Z",
|
|
"error_message": "Wrong reference: 2000 should be 5000",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "Used \"2000\" instead of \"5000\"",
|
|
"fix": "Changed 2000 → 5000",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T11:29:03.301Z"
|
|
},
|
|
{
|
|
"id": "bug-212",
|
|
"timestamp": "2026-05-31T11:33:55.599Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/myapp.c",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 15→25 lines (3 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T11:33:55.599Z"
|
|
},
|
|
{
|
|
"id": "bug-213",
|
|
"timestamp": "2026-05-31T12:32:33.273Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "8 lines replaced/restructured",
|
|
"fix": "Rewrote 10→14 lines (8 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T12:32:33.273Z"
|
|
},
|
|
{
|
|
"id": "bug-214",
|
|
"timestamp": "2026-05-31T12:42:09.400Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 7→17 lines (4 removed) | Also: /* Trigger async config fetch from primary so stan; #ifndef XCE_TESTING | Also: handle_request_vote_reply(vctx->ha, vctx->ctx, vct; /* Fix 5 (HIGH): do NOT free vctx here.",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 3,
|
|
"last_seen": "2026-05-31T12:45:37.690Z"
|
|
},
|
|
{
|
|
"id": "bug-215",
|
|
"timestamp": "2026-05-31T12:43:45.333Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: !pkt || !pkt->data || pkt->sz == 0",
|
|
"fix": "Added guard clause: if (!pkt || !pkt->data || pkt->sz == 0)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T12:43:45.333Z"
|
|
},
|
|
{
|
|
"id": "bug-216",
|
|
"timestamp": "2026-05-31T12:49:40.554Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/specs/ha-peer-connection-reuse/tasks.md",
|
|
"root_cause": "Had 's vote endpoints to standby control channels\n\n- [",
|
|
"fix": "Changed to 's vote endpoints to standby control channels\n\n- [",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T12:49:40.554Z"
|
|
},
|
|
{
|
|
"id": "bug-217",
|
|
"timestamp": "2026-05-31T12:54:26.372Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T12:54:26.372Z"
|
|
},
|
|
{
|
|
"id": "bug-218",
|
|
"timestamp": "2026-05-31T12:58:44.435Z",
|
|
"error_message": "Wrong reference: Request_body_nodata should be Request_body_nomsg",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Used \"Request_body_nodata\" instead of \"Request_body_nomsg\"",
|
|
"fix": "Changed Request_body_nodata → Request_body_nomsg",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T12:58:44.435Z"
|
|
},
|
|
{
|
|
"id": "bug-219",
|
|
"timestamp": "2026-05-31T14:19:13.820Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 10→18 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T14:19:13.820Z"
|
|
},
|
|
{
|
|
"id": "bug-220",
|
|
"timestamp": "2026-05-31T14:20:41.161Z",
|
|
"error_message": "Wrong reference: vote_reply_msg_handler should be vote_reply_msg_handler_for_test",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Used \"vote_reply_msg_handler\" instead of \"vote_reply_msg_handler_for_test\"",
|
|
"fix": "Changed vote_reply_msg_handler → vote_reply_msg_handler_for_test",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-05-31T14:20:41.161Z"
|
|
},
|
|
{
|
|
"id": "bug-221",
|
|
"timestamp": "2026-06-01T01:38:35.036Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 13→36 lines (3 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T01:38:35.036Z"
|
|
},
|
|
{
|
|
"id": "bug-222",
|
|
"timestamp": "2026-06-01T01:47:28.189Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "20 lines replaced/restructured",
|
|
"fix": "Rewrote 36→13 lines (20 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T01:47:28.189Z"
|
|
},
|
|
{
|
|
"id": "bug-223",
|
|
"timestamp": "2026-06-01T01:49:30.537Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T01:49:30.537Z"
|
|
},
|
|
{
|
|
"id": "bug-224",
|
|
"timestamp": "2026-06-01T02:07:55.176Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: !c->delaymgr.running",
|
|
"fix": "Added guard clause: if (!c->delaymgr.running)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T02:07:55.176Z"
|
|
},
|
|
{
|
|
"id": "bug-225",
|
|
"timestamp": "2026-06-01T02:26:54.291Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "42 lines replaced/restructured",
|
|
"fix": "Rewrote 64→19 lines (42 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T02:26:54.291Z"
|
|
},
|
|
{
|
|
"id": "bug-226",
|
|
"timestamp": "2026-06-01T02:27:55.942Z",
|
|
"error_message": "Missing error handling in struct",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T02:27:55.942Z"
|
|
},
|
|
{
|
|
"id": "bug-227",
|
|
"timestamp": "2026-06-01T02:29:00.462Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "5 lines replaced/restructured",
|
|
"fix": "Rewrote 10→14 lines (5 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T02:29:00.462Z"
|
|
},
|
|
{
|
|
"id": "bug-228",
|
|
"timestamp": "2026-06-01T02:37:56.961Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/CLAUDE.md",
|
|
"root_cause": "5 lines replaced/restructured",
|
|
"fix": "Rewrote 5→15 lines (5 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T02:37:56.961Z"
|
|
},
|
|
{
|
|
"id": "bug-229",
|
|
"timestamp": "2026-06-01T02:49:09.141Z",
|
|
"error_message": "Wrong operator: && should be !=",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Used \"&&\" instead of \"!=\"",
|
|
"fix": "Changed operator && → !=",
|
|
"tags": [
|
|
"auto-detected",
|
|
"operator-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T02:49:09.141Z"
|
|
},
|
|
{
|
|
"id": "bug-230",
|
|
"timestamp": "2026-06-01T02:56:53.219Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "10 lines replaced/restructured",
|
|
"fix": "Rewrote 16→7 lines (10 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T02:56:53.219Z"
|
|
},
|
|
{
|
|
"id": "bug-231",
|
|
"timestamp": "2026-06-01T03:07:11.679Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "140 lines replaced/restructured",
|
|
"fix": "Rewrote 173→11 lines (140 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T03:07:11.679Z"
|
|
},
|
|
{
|
|
"id": "bug-232",
|
|
"timestamp": "2026-06-01T03:07:49.710Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/myapp.c",
|
|
"root_cause": "16 lines replaced/restructured",
|
|
"fix": "Rewrote 25→12 lines (16 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T03:07:49.710Z"
|
|
},
|
|
{
|
|
"id": "bug-233",
|
|
"timestamp": "2026-06-01T03:07:51.264Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/meson.build",
|
|
"root_cause": "Had 'testsuite/test_ha_connect.c'",
|
|
"fix": "Changed to 'testsuite/test_ha_ctrlhello.c'",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"build"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T03:07:51.264Z"
|
|
},
|
|
{
|
|
"id": "bug-234",
|
|
"timestamp": "2026-06-01T03:12:12.378Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 31→37 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T03:12:12.378Z"
|
|
},
|
|
{
|
|
"id": "bug-235",
|
|
"timestamp": "2026-06-01T03:13:14.521Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/meson.build",
|
|
"root_cause": "Had 'testsuite/test_ha_connection_reuse.c'",
|
|
"fix": "Changed to 'testsuite/test_ha_connect.c'",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"build"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T03:13:14.521Z"
|
|
},
|
|
{
|
|
"id": "bug-236",
|
|
"timestamp": "2026-06-01T03:15:29.129Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: rc < 0",
|
|
"fix": "Added guard clause: if (rc < 0)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T03:15:29.129Z"
|
|
},
|
|
{
|
|
"id": "bug-237",
|
|
"timestamp": "2026-06-01T03:23:30.915Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "21 lines replaced/restructured",
|
|
"fix": "Rewrote 28→5 lines (21 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T03:23:30.915Z"
|
|
},
|
|
{
|
|
"id": "bug-238",
|
|
"timestamp": "2026-06-01T03:23:32.483Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/meson.build",
|
|
"root_cause": "Had 'testsuite/test_ha_connect.c'",
|
|
"fix": "Changed to 'testsuite/test_ha_connection_reuse.c'",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"build"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-01T03:24:43.046Z"
|
|
},
|
|
{
|
|
"id": "bug-239",
|
|
"timestamp": "2026-06-01T03:28:46.956Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: ha_tcp_connect_hook != NULL",
|
|
"fix": "Added guard clause: if (ha_tcp_connect_hook != NULL)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T03:28:46.956Z"
|
|
},
|
|
{
|
|
"id": "bug-240",
|
|
"timestamp": "2026-06-01T04:08:07.950Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/meson.build",
|
|
"root_cause": "Had 'testsuite/test_ha_connect.c'",
|
|
"fix": "Changed to 'testsuite/test_ha_connection_reuse.c'",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"build"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 3,
|
|
"last_seen": "2026-06-01T04:12:55.229Z"
|
|
},
|
|
{
|
|
"id": "bug-241",
|
|
"timestamp": "2026-06-01T04:13:03.001Z",
|
|
"error_message": "Wrong reference: test_ha_connect should be test_ha_ctrlhello",
|
|
"file": "src/controller/testsuite/controller_test.c",
|
|
"root_cause": "Used \"test_ha_connect\" instead of \"test_ha_ctrlhello\"",
|
|
"fix": "Changed test_ha_connect → test_ha_ctrlhello",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-01T04:13:08.650Z"
|
|
},
|
|
{
|
|
"id": "bug-242",
|
|
"timestamp": "2026-06-01T05:19:12.427Z",
|
|
"error_message": "Wrong reference: vcpu should be vcpus",
|
|
"file": "src/tools/deploy-ha.sh",
|
|
"root_cause": "Used \"vcpu\" instead of \"vcpus\"",
|
|
"fix": "Changed vcpu → vcpus",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"sh"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T05:19:12.427Z"
|
|
},
|
|
{
|
|
"id": "bug-243",
|
|
"timestamp": "2026-06-01T05:30:33.624Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "10 lines replaced/restructured",
|
|
"fix": "Rewrote 10→6 lines (10 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T05:30:33.624Z"
|
|
},
|
|
{
|
|
"id": "bug-244",
|
|
"timestamp": "2026-06-01T05:36:27.988Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 7→22 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T05:36:27.988Z"
|
|
},
|
|
{
|
|
"id": "bug-245",
|
|
"timestamp": "2026-06-01T05:48:05.878Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/include/typemap.h",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 5→10 lines (3 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T05:48:05.878Z"
|
|
},
|
|
{
|
|
"id": "bug-246",
|
|
"timestamp": "2026-06-01T05:48:40.684Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/lib/request.c",
|
|
"root_cause": "32 lines replaced/restructured",
|
|
"fix": "Rewrote 49→60 lines (32 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T05:48:40.684Z"
|
|
},
|
|
{
|
|
"id": "bug-247",
|
|
"timestamp": "2026-06-01T06:02:47.254Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".claude/skills/xce-deploy-ha/SKILL.md",
|
|
"root_cause": "7 lines replaced/restructured",
|
|
"fix": "Rewrote 17→32 lines (7 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T06:02:47.254Z"
|
|
},
|
|
{
|
|
"id": "bug-248",
|
|
"timestamp": "2026-06-01T06:03:18.973Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/CLAUDE.md",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 6→9 lines (3 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T06:03:18.973Z"
|
|
},
|
|
{
|
|
"id": "bug-249",
|
|
"timestamp": "2026-06-01T07:28:15.703Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/testsuite/test_ha_connection_reuse.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T07:28:15.703Z"
|
|
},
|
|
{
|
|
"id": "bug-250",
|
|
"timestamp": "2026-06-01T07:46:05.128Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: !ep || !ep->data",
|
|
"fix": "Added guard clause: if (!ep || !ep->data)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T07:46:05.128Z"
|
|
},
|
|
{
|
|
"id": "bug-251",
|
|
"timestamp": "2026-06-01T07:46:59.891Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_ha_connection_reuse.c",
|
|
"root_cause": "19 lines replaced/restructured",
|
|
"fix": "Rewrote 67→86 lines (19 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T07:46:59.891Z"
|
|
},
|
|
{
|
|
"id": "bug-252",
|
|
"timestamp": "2026-06-01T08:35:29.969Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/meson.build",
|
|
"root_cause": "Had 'startup_validation.c'",
|
|
"fix": "Changed to 'testsuite/test_ha_rdhup_integration.c'",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"build"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T08:35:29.969Z"
|
|
},
|
|
{
|
|
"id": "bug-253",
|
|
"timestamp": "2026-06-01T10:42:39.262Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/ha-heartbeat-liveness/requirements.md",
|
|
"root_cause": "5 lines replaced/restructured",
|
|
"fix": "Rewrote 10→17 lines (5 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T10:42:39.262Z"
|
|
},
|
|
{
|
|
"id": "bug-254",
|
|
"timestamp": "2026-06-01T10:54:01.806Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 6→10 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T10:54:01.806Z"
|
|
},
|
|
{
|
|
"id": "bug-255",
|
|
"timestamp": "2026-06-01T12:02:55.635Z",
|
|
"error_message": "Wrong condition in logic",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "Condition was: if (rc != 0)",
|
|
"fix": "Changed to: if (validate_heartbeat_config(ha_cfg.heartbeat_timeout)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"logic-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T12:02:55.635Z"
|
|
},
|
|
{
|
|
"id": "bug-256",
|
|
"timestamp": "2026-06-01T12:36:28.381Z",
|
|
"error_message": "Wrong reference: startup_validation should be testsuite_test_ha_liveness",
|
|
"file": "src/xce.build/build.ninja",
|
|
"root_cause": "Used \"startup_validation\" instead of \"testsuite_test_ha_liveness\"",
|
|
"fix": "Changed startup_validation → testsuite_test_ha_liveness",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"ninja"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T12:36:28.381Z"
|
|
},
|
|
{
|
|
"id": "bug-257",
|
|
"timestamp": "2026-06-01T12:39:55.091Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "76 lines replaced/restructured",
|
|
"fix": "Rewrote 112→155 lines (76 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T12:39:55.091Z"
|
|
},
|
|
{
|
|
"id": "bug-258",
|
|
"timestamp": "2026-06-01T12:42:30.248Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_ha_liveness.c",
|
|
"root_cause": "5 lines replaced/restructured",
|
|
"fix": "Rewrote 21→24 lines (5 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T12:42:30.248Z"
|
|
},
|
|
{
|
|
"id": "bug-259",
|
|
"timestamp": "2026-06-01T12:43:29.946Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_ha_failover.c",
|
|
"root_cause": "7 lines replaced/restructured",
|
|
"fix": "Rewrote 29→47 lines (7 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T12:43:29.946Z"
|
|
},
|
|
{
|
|
"id": "bug-260",
|
|
"timestamp": "2026-06-01T14:42:41.325Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: interval_s <= 0",
|
|
"fix": "Added guard clause: if (interval_s <= 0)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 3,
|
|
"last_seen": "2026-06-01T14:44:38.543Z"
|
|
},
|
|
{
|
|
"id": "bug-261",
|
|
"timestamp": "2026-06-01T14:44:18.059Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "22 lines replaced/restructured",
|
|
"fix": "Rewrote 53→21 lines (22 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T14:44:18.059Z"
|
|
},
|
|
{
|
|
"id": "bug-262",
|
|
"timestamp": "2026-06-01T15:13:36.229Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 8→10 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T15:13:36.229Z"
|
|
},
|
|
{
|
|
"id": "bug-263",
|
|
"timestamp": "2026-06-01T15:32:59.304Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/testsuite/test_ha_liveness.c",
|
|
"root_cause": "No early return/throw for edge case: !f",
|
|
"fix": "Added guard clause: if (!f)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-01T15:32:59.304Z"
|
|
},
|
|
{
|
|
"id": "bug-264",
|
|
"timestamp": "2026-06-03T05:20:44.299Z",
|
|
"error_message": "Missing error handling in lives",
|
|
"file": ".kiro/specs/ha-config-bootstrap/research.md",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-03T05:20:44.299Z"
|
|
},
|
|
{
|
|
"id": "bug-265",
|
|
"timestamp": "2026-06-03T08:47:25.835Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-03T08:47:25.835Z"
|
|
},
|
|
{
|
|
"id": "bug-266",
|
|
"timestamp": "2026-06-03T08:47:54.376Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-03T08:47:54.376Z"
|
|
},
|
|
{
|
|
"id": "bug-267",
|
|
"timestamp": "2026-06-03T08:48:09.401Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "11 lines replaced/restructured",
|
|
"fix": "Rewrote 14→3 lines (11 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-03T08:48:09.401Z"
|
|
},
|
|
{
|
|
"id": "bug-268",
|
|
"timestamp": "2026-06-03T08:48:54.248Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_ha_role.c",
|
|
"root_cause": "79 lines replaced/restructured",
|
|
"fix": "Rewrote 87→3 lines (79 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-03T08:48:54.248Z"
|
|
},
|
|
{
|
|
"id": "bug-269",
|
|
"timestamp": "2026-06-03T08:50:58.837Z",
|
|
"error_message": "Wrong reference: test_am_i_primary should be test_ha_cluster",
|
|
"file": "src/controller/testsuite/controller_test.c",
|
|
"root_cause": "Used \"test_am_i_primary\" instead of \"test_ha_cluster\"",
|
|
"fix": "Changed test_am_i_primary → test_ha_cluster",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-03T08:51:07.382Z"
|
|
},
|
|
{
|
|
"id": "bug-270",
|
|
"timestamp": "2026-06-03T09:07:49.592Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "8 lines replaced/restructured",
|
|
"fix": "Rewrote 10→3 lines (8 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-03T09:07:49.592Z"
|
|
},
|
|
{
|
|
"id": "bug-271",
|
|
"timestamp": "2026-06-03T09:17:11.528Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "21 lines replaced/restructured",
|
|
"fix": "Rewrote 26→4 lines (21 removed) | Also: /* ha_check_heartbeat_nocluster() removed from the; * ha_watchdog_thread(). XCE_TESTING shim preserve",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-03T09:18:16.045Z"
|
|
},
|
|
{
|
|
"id": "bug-272",
|
|
"timestamp": "2026-06-03T09:22:40.327Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_ha_role.c",
|
|
"root_cause": "63 lines replaced/restructured",
|
|
"fix": "Rewrote 68→4 lines (63 removed) | Also: /* SIGUSR1 must set failover_requested via async-s; static void test_sigusr1_sets_failover_requested(v | Also: RUN_TEST(test_watchdog_starts_and_stops);; RUN_TEST(test_heartbeat_no_action_when_no_primary)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 3,
|
|
"last_seen": "2026-06-03T09:25:36.265Z"
|
|
},
|
|
{
|
|
"id": "bug-273",
|
|
"timestamp": "2026-06-03T14:53:08.631Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/ha-config-bootstrap/manual-tests.md",
|
|
"root_cause": "6 lines replaced/restructured",
|
|
"fix": "Rewrote 8→8 lines (6 removed) | Also: **Expected within 1 second on both standbys:**; **Expected on the winner (needs 1 vote from the ot | Also: defer_config_fetch=1; Config fetch successful from primary (tag=...) | Also: Date:; Commit: (run: cd /home/rshen/projects/xce/worktree",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 4,
|
|
"last_seen": "2026-06-03T14:56:43.241Z"
|
|
},
|
|
{
|
|
"id": "bug-274",
|
|
"timestamp": "2026-06-03T15:05:10.632Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/ha-config-bootstrap/manual-tests.md",
|
|
"root_cause": "95 lines replaced/restructured",
|
|
"fix": "Rewrote 158→65 lines (95 removed) | Also: - [ ] `ha-term.bin` file exists after election; - [ ] Magic bytes are `0xDEADBEEFCAFEBABE` (little",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-03T15:09:51.822Z"
|
|
},
|
|
{
|
|
"id": "bug-275",
|
|
"timestamp": "2026-06-03T23:50:28.482Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "6 lines replaced/restructured",
|
|
"fix": "Rewrote 45→62 lines (6 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-03T23:50:28.482Z"
|
|
},
|
|
{
|
|
"id": "bug-276",
|
|
"timestamp": "2026-06-04T00:24:46.380Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/myapp.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T00:24:46.380Z"
|
|
},
|
|
{
|
|
"id": "bug-277",
|
|
"timestamp": "2026-06-04T09:31:40.432Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/CLAUDE.md",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 5→7 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T09:31:40.432Z"
|
|
},
|
|
{
|
|
"id": "bug-278",
|
|
"timestamp": "2026-06-04T09:46:14.610Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": ".kiro/specs/ha-repl-hardening/design.md",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T09:46:14.610Z"
|
|
},
|
|
{
|
|
"id": "bug-279",
|
|
"timestamp": "2026-06-04T11:54:56.114Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/specs/ha-repl-hardening/design.md",
|
|
"root_cause": "Had `(checkpoint_lsn, last_received_chunk)`",
|
|
"fix": "Changed to `snap.part`",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T11:54:56.114Z"
|
|
},
|
|
{
|
|
"id": "bug-280",
|
|
"timestamp": "2026-06-04T13:13:54.348Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/schema/controller.capnp",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 4→4 lines (3 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"capnp"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T13:13:54.348Z"
|
|
},
|
|
{
|
|
"id": "bug-281",
|
|
"timestamp": "2026-06-04T13:38:04.971Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/include/typemap.h",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 5→7 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T13:38:04.971Z"
|
|
},
|
|
{
|
|
"id": "bug-282",
|
|
"timestamp": "2026-06-04T13:48:05.580Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/schema/controller.capnp",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 4→13 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"capnp"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T13:48:05.580Z"
|
|
},
|
|
{
|
|
"id": "bug-283",
|
|
"timestamp": "2026-06-04T13:48:16.712Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/include/typemap.h",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 4→8 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T13:48:16.712Z"
|
|
},
|
|
{
|
|
"id": "bug-284",
|
|
"timestamp": "2026-06-04T14:33:03.464Z",
|
|
"error_message": "Missing error handling in XCE_TESTING",
|
|
"file": "src/controller/testsuite/test_config_repl.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block | Also: /* ── Task 2.1: OPCode_walCatchupEntry handler ─────────────; #ifdef XCE_TESTING | Also: /* Task 2.1: OPCode_walCatchupEntry handler */; RUN_TEST(test_wal_catchup_entry_advances_applied_lsn);",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 3,
|
|
"last_seen": "2026-06-04T14:33:51.476Z"
|
|
},
|
|
{
|
|
"id": "bug-285",
|
|
"timestamp": "2026-06-04T14:41:35.073Z",
|
|
"error_message": "Missing error handling in XCE_TESTING",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block | Also: case OPCode_walCatchupEntry:; /* Task 2.1: standby applies a single WAL catch-up entry fro",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-04T14:41:48.239Z"
|
|
},
|
|
{
|
|
"id": "bug-286",
|
|
"timestamp": "2026-06-04T14:44:41.114Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "57 lines replaced/restructured",
|
|
"fix": "Rewrote 82→16 lines (57 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T14:44:41.114Z"
|
|
},
|
|
{
|
|
"id": "bug-287",
|
|
"timestamp": "2026-06-04T14:45:42.730Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T14:45:42.730Z"
|
|
},
|
|
{
|
|
"id": "bug-288",
|
|
"timestamp": "2026-06-04T14:46:44.652Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block | Also: #include \"persist.h\" /* persist_t, apply_wal_entry */; #include \"typemap.h\" /* wal_catchup_entry_t */",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-04T14:47:53.528Z"
|
|
},
|
|
{
|
|
"id": "bug-289",
|
|
"timestamp": "2026-06-04T15:09:54.280Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/testsuite/test_config_repl.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T15:09:54.280Z"
|
|
},
|
|
{
|
|
"id": "bug-290",
|
|
"timestamp": "2026-06-04T15:22:45.178Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "22 lines replaced/restructured",
|
|
"fix": "Rewrote 58→114 lines (22 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T15:22:45.178Z"
|
|
},
|
|
{
|
|
"id": "bug-291",
|
|
"timestamp": "2026-06-04T15:51:04.816Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 10→15 lines (3 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T15:51:04.816Z"
|
|
},
|
|
{
|
|
"id": "bug-292",
|
|
"timestamp": "2026-06-04T16:15:43.743Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: peer_idx < 0 || peer_idx >= MAX_HA_CANDIDATES",
|
|
"fix": "Added guard clause: if (peer_idx < 0 || peer_idx >= MAX_HA_CANDI)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T16:15:43.743Z"
|
|
},
|
|
{
|
|
"id": "bug-293",
|
|
"timestamp": "2026-06-04T16:19:17.173Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 44→89 lines (4 removed) | Also: /* Decode stateReport and call convergence tracker; memset(&sr, 0, sizeof(sr));",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-04T16:21:09.851Z"
|
|
},
|
|
{
|
|
"id": "bug-294",
|
|
"timestamp": "2026-06-04T16:45:25.724Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: standby_tag < committed_tag",
|
|
"fix": "Added guard clause: if (standby_tag < committed_tag)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T16:45:25.724Z"
|
|
},
|
|
{
|
|
"id": "bug-295",
|
|
"timestamp": "2026-06-04T16:57:59.213Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/testsuite/test_ha_role.c",
|
|
"root_cause": "Had \"test_evaluate_repl_action_stream_wal_from_zero: P",
|
|
"fix": "Changed to \"test_evaluate_repl_action_send_snapshot_lsn_zero:",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T16:57:59.213Z"
|
|
},
|
|
{
|
|
"id": "bug-296",
|
|
"timestamp": "2026-06-04T16:58:16.627Z",
|
|
"error_message": "Wrong reference: test_evaluate_repl_action_stream_wal_from_zero should be test_evaluate_repl_action_send_snapshot_lsn_zero",
|
|
"file": "src/controller/testsuite/test_ha_role.c",
|
|
"root_cause": "Used \"test_evaluate_repl_action_stream_wal_from_zero\" instead of \"test_evaluate_repl_action_send_snapshot_lsn_zero\"",
|
|
"fix": "Changed test_evaluate_repl_action_stream_wal_from_zero → test_evaluate_repl_action_send_snapshot_lsn_zero",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T16:58:16.627Z"
|
|
},
|
|
{
|
|
"id": "bug-297",
|
|
"timestamp": "2026-06-04T17:08:18.571Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: !ha || peer_idx < 0 || peer_idx >= MAX_HA_CANDIDATES",
|
|
"fix": "Added guard clause: if (!ha || peer_idx < 0 || peer_idx >= MAX_H)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T17:08:18.571Z"
|
|
},
|
|
{
|
|
"id": "bug-298",
|
|
"timestamp": "2026-06-04T17:34:23.150Z",
|
|
"error_message": "Missing error handling in XCE_TESTING",
|
|
"file": "src/controller/testsuite/test_config_repl.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T17:34:23.150Z"
|
|
},
|
|
{
|
|
"id": "bug-299",
|
|
"timestamp": "2026-06-04T17:36:34.006Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 71→93 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T17:36:34.006Z"
|
|
},
|
|
{
|
|
"id": "bug-300",
|
|
"timestamp": "2026-06-04T17:40:05.798Z",
|
|
"error_message": "Missing error handling in XCE_TESTING",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T17:40:05.798Z"
|
|
},
|
|
{
|
|
"id": "bug-301",
|
|
"timestamp": "2026-06-04T23:09:43.701Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/testsuite/test_config_repl.c",
|
|
"root_cause": "No early return/throw for edge case: g_snaptest_chunk_count >= 16",
|
|
"fix": "Added guard clause: if (g_snaptest_chunk_count >= 16)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T23:09:43.701Z"
|
|
},
|
|
{
|
|
"id": "bug-302",
|
|
"timestamp": "2026-06-04T23:10:44.426Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "No early return/throw for edge case: !snap_dir",
|
|
"fix": "Added guard clause: if (!snap_dir)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T23:10:44.426Z"
|
|
},
|
|
{
|
|
"id": "bug-303",
|
|
"timestamp": "2026-06-04T23:11:48.274Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 6→15 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T23:11:48.274Z"
|
|
},
|
|
{
|
|
"id": "bug-304",
|
|
"timestamp": "2026-06-04T23:21:45.737Z",
|
|
"error_message": "Missing error handling in XCE_TESTING",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T23:21:45.737Z"
|
|
},
|
|
{
|
|
"id": "bug-305",
|
|
"timestamp": "2026-06-04T23:22:03.572Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_config_repl.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 9→12 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-04T23:22:03.572Z"
|
|
},
|
|
{
|
|
"id": "bug-306",
|
|
"timestamp": "2026-06-05T01:16:16.713Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/ha-repl-hardening/tasks.md",
|
|
"root_cause": "9 lines replaced/restructured",
|
|
"fix": "Rewrote 9→35 lines (9 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-05T01:16:16.713Z"
|
|
},
|
|
{
|
|
"id": "bug-307",
|
|
"timestamp": "2026-06-05T01:18:21.265Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 7→10 lines (4 removed) | Also: /* Task 3.5: snapshot transfer.; * Creates a checkpoint in the delaymgr thread (not",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-05T01:18:36.333Z"
|
|
},
|
|
{
|
|
"id": "bug-308",
|
|
"timestamp": "2026-06-05T01:19:20.356Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "No early return/throw for edge case: !d",
|
|
"fix": "Added guard clause: if (!d)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-05T01:19:20.356Z"
|
|
},
|
|
{
|
|
"id": "bug-309",
|
|
"timestamp": "2026-06-05T01:33:20.146Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: !ha || !p || !snap_dir || !chunk",
|
|
"fix": "Added guard clause: if (!ha || !p || !snap_dir || !chunk)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-05T01:33:20.146Z"
|
|
},
|
|
{
|
|
"id": "bug-310",
|
|
"timestamp": "2026-06-05T01:34:06.660Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "No early return/throw for edge case: !chunk",
|
|
"fix": "Added guard clause: if (!chunk)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-05T01:34:06.660Z"
|
|
},
|
|
{
|
|
"id": "bug-311",
|
|
"timestamp": "2026-06-05T02:21:15.033Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: ua > ub",
|
|
"fix": "Added guard clause: if (ua > ub)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-05T02:21:15.033Z"
|
|
},
|
|
{
|
|
"id": "bug-312",
|
|
"timestamp": "2026-06-05T02:47:32.237Z",
|
|
"error_message": "Wrong reference: uintptr_t should be void",
|
|
"file": "src/controller/testsuite/test_ha_evaluate_committing.c",
|
|
"root_cause": "Used \"uintptr_t\" instead of \"void\"",
|
|
"fix": "Changed uintptr_t → void",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-05T02:47:32.237Z"
|
|
},
|
|
{
|
|
"id": "bug-313",
|
|
"timestamp": "2026-06-05T03:35:34.699Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "149 lines replaced/restructured",
|
|
"fix": "Rewrote 207→38 lines (149 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-05T03:35:34.699Z"
|
|
},
|
|
{
|
|
"id": "bug-314",
|
|
"timestamp": "2026-06-05T04:01:58.721Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: !ha",
|
|
"fix": "Added guard clause: if (!ha)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-05T04:01:58.721Z"
|
|
},
|
|
{
|
|
"id": "bug-315",
|
|
"timestamp": "2026-06-05T04:52:32.206Z",
|
|
"error_message": "Wrong reference: 10000 should be 60000",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "Used \"10000\" instead of \"60000\"",
|
|
"fix": "Changed 10000 → 60000",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-05T04:52:51.260Z"
|
|
},
|
|
{
|
|
"id": "bug-316",
|
|
"timestamp": "2026-06-05T04:53:20.573Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "5 lines replaced/restructured",
|
|
"fix": "Rewrote 24→42 lines (5 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-05T04:53:20.573Z"
|
|
},
|
|
{
|
|
"id": "bug-317",
|
|
"timestamp": "2026-06-05T04:53:55.034Z",
|
|
"error_message": "Wrong reference: 10000 should be HA_DEFAULT_COMMITTING_TIMEOUT_MS",
|
|
"file": "src/controller/testsuite/test_ha_evaluate_committing.c",
|
|
"root_cause": "Used \"10000\" instead of \"HA_DEFAULT_COMMITTING_TIMEOUT_MS\"",
|
|
"fix": "Changed 10000 → HA_DEFAULT_COMMITTING_TIMEOUT_MS",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-05T04:53:55.034Z"
|
|
},
|
|
{
|
|
"id": "bug-318",
|
|
"timestamp": "2026-06-05T05:10:13.646Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-05T05:10:13.646Z"
|
|
},
|
|
{
|
|
"id": "bug-319",
|
|
"timestamp": "2026-06-05T05:39:48.707Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/testsuite/test_config_repl.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-05T05:39:48.707Z"
|
|
},
|
|
{
|
|
"id": "bug-320",
|
|
"timestamp": "2026-06-05T06:50:00Z",
|
|
"error_message": "3-node startup: majority convergence never fires; cluster falls through to committing_timeout degraded-mode WARN",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "ha->n_peers was set to candidates_count (3, total including self) in ha_start_election_async. ha_check_majority_convergence loops i=0..n_peers-1 checking standby_converged[], but standby_converged[] is indexed by votes_idx (relative, self excluded: 0..n_other-1). With n_peers=3, it checked standby_converged[2] which is never set, so n_converged (2) < n_peers (3) always — majority convergence path could never succeed.",
|
|
"fix": "Changed ha->n_peers = n_peers to ha->n_peers = n_other (= n_peers-1 = other-node count). Moved the assignment after n_other is computed. ha_repl_ack_received quorum formula (ha->n_peers+2)/2 still yields correct majority for both old and new value.",
|
|
"tags": [
|
|
"ha",
|
|
"majority-convergence",
|
|
"n_peers",
|
|
"off-by-one",
|
|
"integration-test"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-05T06:50:00Z"
|
|
},
|
|
{
|
|
"id": "bug-321",
|
|
"timestamp": "2026-06-05T07:31:54.806Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 7→12 lines (2 removed) | Also: /* Disarm any existing poll ctx */; free(old);",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-05T07:32:06.251Z"
|
|
},
|
|
{
|
|
"id": "bug-006",
|
|
"timestamp": "2026-06-05T07:23:00.000Z",
|
|
"error_message": "AddressSanitizer: attempting double-free on sctx in ha_connect_to_peer",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "endpoint_fini calls FREEUP(ep->data) which frees sctx, then ha_connect_to_peer also calls free(sctx) — double-free at lines 3594-3595 and 3600-3601",
|
|
"fix": "Set ep->data = NULL before endpoint_fini so FREEUP becomes a no-op; then free(sctx) explicitly in the error paths",
|
|
"tags": [
|
|
"double-free",
|
|
"asan",
|
|
"ha_connect_to_peer",
|
|
"endpoint_fini",
|
|
"integration-test"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-05T07:23:00.000Z"
|
|
},
|
|
{
|
|
"id": "bug-007",
|
|
"timestamp": "2026-06-05T07:23:00.000Z",
|
|
"error_message": "AddressSanitizer: heap-use-after-free in liveness_poll_fn at ha.c:3293 — reading ctx->cancelled after ha_arm_heartbeat_timeout_vtask freed the old ctx",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "ha_arm_heartbeat_timeout_vtask freed the old liveness_poll_ctx_t immediately after setting cancelled=1, but the delaymgr task was already in flight reading ctx->cancelled=0 and then continued to read ctx->ha after free",
|
|
"fix": "ha_arm_heartbeat_timeout_vtask no longer frees old ctx; liveness_poll_fn now frees ctx when it fires with cancelled=1 (guarded by #ifndef XCE_TESTING to avoid bad-free on stack-allocated test ctxs)",
|
|
"tags": [
|
|
"heap-use-after-free",
|
|
"asan",
|
|
"liveness_poll_fn",
|
|
"ha_arm_heartbeat_timeout_vtask",
|
|
"race-condition",
|
|
"integration-test"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-05T07:23:00.000Z"
|
|
},
|
|
{
|
|
"id": "bug-324",
|
|
"timestamp": "2026-06-05T08:26:02.778Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 41→87 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-05T08:26:02.778Z"
|
|
},
|
|
{
|
|
"id": "bug-325",
|
|
"timestamp": "2026-06-06T11:00:00.057Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "6 lines replaced/restructured",
|
|
"fix": "Rewrote 8→5 lines (6 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-06T11:00:00.057Z"
|
|
},
|
|
{
|
|
"id": "bug-326",
|
|
"timestamp": "2026-06-06T11:06:46.509Z",
|
|
"error_message": "Wrong reference: DEBUG2 should be INFO",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Used \"DEBUG2\" instead of \"INFO\"",
|
|
"fix": "Changed DEBUG2 → INFO",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-06T11:06:46.509Z"
|
|
},
|
|
{
|
|
"id": "bug-327",
|
|
"timestamp": "2026-06-06T12:11:21.422Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Had \"HA: heartbeat tick (role=%d, n_standbys=%d)\"",
|
|
"fix": "Changed to \"HA: primary heartbeat armed\"",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-06T12:11:21.422Z"
|
|
},
|
|
{
|
|
"id": "bug-328",
|
|
"timestamp": "2026-06-06T13:02:49.052Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/lib/delay.c",
|
|
"root_cause": "No early return/throw for edge case: t1_is_ms && t2_is_ms",
|
|
"fix": "Added guard clause: if (t1_is_ms && t2_is_ms)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-06T13:02:49.052Z"
|
|
},
|
|
{
|
|
"id": "bug-329",
|
|
"timestamp": "2026-06-08T13:12:54.436Z",
|
|
"error_message": "Function not marked async",
|
|
"file": ".kiro/specs/raft-library/research.md",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-08T13:12:54.436Z"
|
|
},
|
|
{
|
|
"id": "bug-330",
|
|
"timestamp": "2026-06-09T08:33:08.522Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/docs/cluster-config-split-analysis.md",
|
|
"root_cause": "8 lines replaced/restructured",
|
|
"fix": "Rewrote 11→21 lines (8 removed) | Also: ### Phase 1: Schema split (wire-compatible); 4. **Keep the old `ClusterConfig` fields intact** ",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-09T08:35:24.717Z"
|
|
},
|
|
{
|
|
"id": "bug-331",
|
|
"timestamp": "2026-06-09T09:28:15.795Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/myapp.c",
|
|
"root_cause": "5 lines replaced/restructured",
|
|
"fix": "Rewrote 27→36 lines (5 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-09T09:28:15.795Z"
|
|
},
|
|
{
|
|
"id": "bug-332",
|
|
"timestamp": "2026-06-09T09:41:02.753Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/lib/raft/raft.c",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 9→15 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-09T09:41:02.753Z"
|
|
},
|
|
{
|
|
"id": "bug-333",
|
|
"timestamp": "2026-06-09T10:23:01.661Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "37 lines replaced/restructured",
|
|
"fix": "Rewrote 41→4 lines (37 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-09T10:23:01.661Z"
|
|
},
|
|
{
|
|
"id": "bug-334",
|
|
"timestamp": "2026-06-09T12:56:11.095Z",
|
|
"error_message": "Wrong condition in logic",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Condition was: if (my_role == CTRL_STANDBY && ha_heartbeat_is_fresh(h)",
|
|
"fix": "Changed to: if (my_role == CTRL_STANDBY && ha->primary_ctrl_fd >= )",
|
|
"tags": [
|
|
"auto-detected",
|
|
"logic-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-09T12:56:11.095Z"
|
|
},
|
|
{
|
|
"id": "bug-335",
|
|
"timestamp": "2026-06-09T00:00:00Z",
|
|
"error_message": "UPDATE_RESVALS dequeue writes worker resval at index 0 unconditionally instead of resolving resource idx by name",
|
|
"file": "src/scheduler/src/scheduler.c",
|
|
"root_cause": "zarray_put(&w->resvals, 0, rv->val) hardcodes index 0; worker resvals are indexed by resource idx (see schedobj.c:291)",
|
|
"fix": "FIXED 2026-06-10: UPDATE_RESVALS now resolves rv->name via key_find on sched->resmgr and writes to r->idx (matching UPDATE_RESVALS_FULL pattern) instead of hardcoding index 0.",
|
|
"tags": [
|
|
"scheduler",
|
|
"resvals",
|
|
"latent-bug",
|
|
"gap-analysis",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T17:00:00Z"
|
|
},
|
|
{
|
|
"id": "bug-336",
|
|
"timestamp": "2026-06-09T00:00:00Z",
|
|
"error_message": "XCE_SCHED_OP_UPDATE_RESOURCES cannot update existing resources; makeResource returns NULL/EEXIST and return value is silently ignored",
|
|
"file": "src/scheduler/src/scheduler.c",
|
|
"root_cause": "makeResource_ in src/lib/resobj.c rejects duplicates with EEXIST; dequeue case ignores NULL return, so 'add or update' (EARS-UB-1.1) is only 'add'",
|
|
"fix": "FIXED 2026-06-10: UPDATE_RESOURCES now checks makeResource return; on NULL (EEXIST) looks up existing resource by name and updates valtype/ordtype/flags/interval fields in place (add-or-update semantics).",
|
|
"tags": [
|
|
"scheduler",
|
|
"resources",
|
|
"latent-bug",
|
|
"gap-analysis",
|
|
"silent-error",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T17:00:00Z"
|
|
},
|
|
{
|
|
"id": "bug-337",
|
|
"timestamp": "2026-06-09T00:02:00Z",
|
|
"error_message": "Vote-deny gate inert: ha_heartbeat_is_fresh reads ha->last_heartbeat which has no production writer after the liveness refactor",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "ha-heartbeat-liveness refactor moved activity tracking to ha->last_activity but ha_heartbeat_is_fresh (ha.c:1762) still reads the orphaned last_heartbeat timespec; only tests write it, so freshness is always stale after ~heartbeat_timeout_ms of uptime and standbys grant votes despite a live primary (gates at ha.c:214 and ha.c:1841)",
|
|
"fix": "FIXED 2026-06-09: ha_heartbeat_is_fresh now reads ha->last_activity (returns 0 when last_activity==0); dead last_heartbeat field removed from ha_state_t; test_ha_vote_gate.c helper rewritten as set_last_activity_age and fresh/stale tests now also set primary_ctrl_fd. All tests green.",
|
|
"tags": [
|
|
"ha",
|
|
"heartbeat",
|
|
"liveness",
|
|
"vote-gate",
|
|
"dead-field",
|
|
"gap-analysis"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-09T17:30:00Z"
|
|
},
|
|
{
|
|
"id": "bug-338",
|
|
"timestamp": "2026-06-09T00:00:00Z",
|
|
"error_message": "controller_unit_test: test_vote_granted_to_same_candidate_same_term FAIL (Expected 1 Was 0); test_standby_fresh_heartbeat_denies_vote_request FAIL (Expected 0 Was 1, Req 6.2)",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Uncommitted handle_request_vote changes: (1) duplicate-vote deny made candidate-agnostic (denies same-candidate idempotent re-grant, diverging from raft.c which keeps re-grant); (2) STANDBY vote deny now requires primary_ctrl_fd >= 0, tests use ha_init default fd=-1",
|
|
"fix": "FIXED 2026-06-09: handle_request_vote Req 2.6 check restored to same-candidate idempotent re-grant (deny only when voted_for_name differs from candidate_id), matching raft.c; test_standby_fresh_heartbeat_denies_vote_request updated to set primary_ctrl_fd=999. Also fixed myapp.c leader_known check to treat a vote for myconf->name as a self-vote (production records real name, not the 'self' test placeholder). All tests green.",
|
|
"tags": [
|
|
"ha",
|
|
"election",
|
|
"vote-gate",
|
|
"raft",
|
|
"unit-test",
|
|
"uncommitted-drift",
|
|
"gap-analysis"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-09T17:30:00Z"
|
|
},
|
|
{
|
|
"id": "bug-339",
|
|
"timestamp": "2026-06-10T00:23:18.666Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: last == 0",
|
|
"fix": "Added guard clause: if (last == 0)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T00:23:18.666Z"
|
|
},
|
|
{
|
|
"id": "bug-340",
|
|
"timestamp": "2026-06-10T00:23:21.918Z",
|
|
"error_message": "Wrong condition in logic",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Condition was: if (ha->voted_for_term == term && ha->voted_for_name[0)",
|
|
"fix": "Changed to: if (ha->voted_for_term == term && ha->voted_for_name[0)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"logic-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T00:23:21.918Z"
|
|
},
|
|
{
|
|
"id": "bug-341",
|
|
"timestamp": "2026-06-10T00:23:52.563Z",
|
|
"error_message": "Wrong reference: last_heartbeat should be voted_for_term",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "Used \"last_heartbeat\" instead of \"voted_for_term\"",
|
|
"fix": "Changed last_heartbeat → voted_for_term",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T00:23:52.563Z"
|
|
},
|
|
{
|
|
"id": "bug-342",
|
|
"timestamp": "2026-06-10T00:24:41.873Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/myapp.c",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 13→17 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T00:24:41.873Z"
|
|
},
|
|
{
|
|
"id": "bug-339",
|
|
"timestamp": "2026-06-09T17:30:00Z",
|
|
"error_message": "raft_init discards persisted vote term: voted_for_term reset to 0 even when initial_voted_for is restored, so duplicate-vote check cannot match after restart (possible double vote in same term)",
|
|
"file": "src/lib/raft/raft.c",
|
|
"root_cause": "raft_init set s->voted_for_term=0 unconditionally; persistence writes (term, voted_for) as a pair, so a restored vote belongs to initial_term",
|
|
"fix": "FIXED 2026-06-09: voted_for_term = (initial_voted_for != -1) ? initial_term : 0. Added test_proto_H6_restored_vote_blocks_second_vote and strengthened H1 assertion in src/lib/testsuite/test_raft.c. Found as candidate bug C2 in raft-library gap analysis.",
|
|
"tags": [
|
|
"raft",
|
|
"election-safety",
|
|
"restart",
|
|
"persistence",
|
|
"gap-analysis"
|
|
],
|
|
"related_bugs": [
|
|
"bug-338"
|
|
],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-09T17:30:00Z"
|
|
},
|
|
{
|
|
"id": "bug-344",
|
|
"timestamp": "2026-06-10T00:32:34.054Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "../../../../../claude/.claude/projects/-home-rshen-projects-xce-xce/memory/project_ha_bootstrap_progress.md",
|
|
"root_cause": "Had `ha->last_heartbeat`",
|
|
"fix": "Changed to `ha->last_activity`",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T00:32:34.054Z"
|
|
},
|
|
{
|
|
"id": "bug-345",
|
|
"timestamp": "2026-06-10T01:36:59.112Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/schema/controller.capnp",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"capnp"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T01:36:59.112Z"
|
|
},
|
|
{
|
|
"id": "bug-346",
|
|
"timestamp": "2026-06-10T01:37:29.771Z",
|
|
"error_message": "Missing error handling in struct",
|
|
"file": "src/include/typemap.h",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T01:37:29.771Z"
|
|
},
|
|
{
|
|
"id": "bug-347",
|
|
"timestamp": "2026-06-10T01:37:41.741Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/include/typemap.h",
|
|
"root_cause": "6 lines replaced/restructured",
|
|
"fix": "Rewrote 16→31 lines (6 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T01:37:41.741Z"
|
|
},
|
|
{
|
|
"id": "bug-348",
|
|
"timestamp": "2026-06-10T01:38:31.262Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/include/request.h",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T01:38:31.262Z"
|
|
},
|
|
{
|
|
"id": "bug-349",
|
|
"timestamp": "2026-06-10T01:39:19.368Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/lib/request.c",
|
|
"root_cause": "No early return/throw for edge case: l.p.type == CAPN_NULL",
|
|
"fix": "Added guard clause: if (l.p.type == CAPN_NULL)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T01:39:19.368Z"
|
|
},
|
|
{
|
|
"id": "bug-350",
|
|
"timestamp": "2026-06-10T01:39:31.683Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/lib/request.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block | Also: if (req->body_which == Request_body_walcatchupentrymsg; && req->body.walcatchupentrymsg != NULL) { | Also: /* wal_entry_to_wire: fill a wire WalCatchupEntry from a C e; * fields and raw payload bytes. Sub-entry nesting is one le",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 3,
|
|
"last_seen": "2026-06-10T01:40:14.312Z"
|
|
},
|
|
{
|
|
"id": "bug-351",
|
|
"timestamp": "2026-06-09T00:00:00Z",
|
|
"error_message": "request.c: passing argument 'from' of xce_wal_batch_encode_raw / xce_snapshot_chunk_encode_raw from incompatible pointer type (xce_peerinfo_t** vs xce_peerinfo_t*)",
|
|
"file": "src/lib/request.c",
|
|
"root_cause": "ep->peer is already xce_peerinfo_t* (netio.h endpoint struct); call sites passed &ep->peer producing xce_peerinfo_t**",
|
|
"fix": "Dropped the & at both call sites (xce_wal_batch_req_raw line 547, xce_snapshot_chunk_req_raw line 633) to pass ep->peer directly",
|
|
"tags": [
|
|
"build-failure",
|
|
"pointer-type",
|
|
"c",
|
|
"request.c",
|
|
"ha-replication"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-09T00:00:00Z"
|
|
},
|
|
{
|
|
"id": "bug-352",
|
|
"timestamp": "2026-06-10T01:46:28.589Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 29→32 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T01:46:28.589Z"
|
|
},
|
|
{
|
|
"id": "bug-353",
|
|
"timestamp": "2026-06-10T01:46:45.213Z",
|
|
"error_message": "Wrong reference: payload should be raw_payload",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "Used \"payload\" instead of \"raw_payload\"",
|
|
"fix": "Changed payload → raw_payload",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T01:46:45.213Z"
|
|
},
|
|
{
|
|
"id": "bug-354",
|
|
"timestamp": "2026-06-10T01:47:22.301Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 13→16 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T01:47:22.301Z"
|
|
},
|
|
{
|
|
"id": "bug-355",
|
|
"timestamp": "2026-06-10T01:49:05.465Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_ha_role.c",
|
|
"root_cause": "7 lines replaced/restructured",
|
|
"fix": "Rewrote 49→137 lines (7 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T01:49:05.465Z"
|
|
},
|
|
{
|
|
"id": "bug-356",
|
|
"timestamp": "2026-06-10T01:49:36.997Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T01:49:36.997Z"
|
|
},
|
|
{
|
|
"id": "bug-352",
|
|
"timestamp": "2026-06-10T02:10:00Z",
|
|
"error_message": "ASAN heap-use-after-free in free_packet (netio.c:333) via endpoint_fini <- raft_cb_become_follower (loser path) <- raft_on_vote_reply; election loser crashes on vote-reply processing",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "vote_reply_decode_and_dispatch took pkt = ep->fsm_in.pkt and freed it WITHOUT clearing ep->fsm_in.pkt; vote_reply_dispatch can synchronously reach raft_cb_become_follower -> endpoint_fini(ep), which frees the stale fsm_in.pkt again. repl_ack_decode_and_dispatch already nulls the pointer (correct pattern); the vote-reply path missed it.",
|
|
"fix": "FIXED 2026-06-10: ep->fsm_in.pkt = NULL immediately after taking ownership in vote_reply_decode_and_dispatch (ha.c:2413), matching repl_ack_decode_and_dispatch. Found by task 7.7 E2E (3-node deploy, election loser crash).",
|
|
"tags": [
|
|
"ha",
|
|
"election",
|
|
"asan",
|
|
"use-after-free",
|
|
"packet-ownership",
|
|
"netio",
|
|
"e2e"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T02:10:00Z"
|
|
},
|
|
{
|
|
"id": "bug-358",
|
|
"timestamp": "2026-06-10T03:55:44.698Z",
|
|
"error_message": "Wrong condition in logic",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "Condition was: if (!rcpr->raw_bytes || rcpr->raw_bytes_len == 0 || !r)",
|
|
"fix": "Changed to: if ((ctrl_role_t)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"logic-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T03:55:44.698Z"
|
|
},
|
|
{
|
|
"id": "bug-359",
|
|
"timestamp": "2026-06-10T04:16:25.052Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/scheduler/src/scheduler.c",
|
|
"root_cause": "No early return/throw for edge case: r == NULL",
|
|
"fix": "Added guard clause: if (r == NULL)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-10T04:16:28.320Z"
|
|
},
|
|
{
|
|
"id": "bug-360",
|
|
"timestamp": "2026-06-10T04:17:09.223Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/scheduler/src/scheduler.c",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 4→6 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T04:17:09.223Z"
|
|
},
|
|
{
|
|
"id": "bug-361",
|
|
"timestamp": "2026-06-10T04:47:09.048Z",
|
|
"error_message": "Wrong condition in logic",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Condition was: if (opcode == OPCode_requestVote || opcode == OPCode_p)",
|
|
"fix": "Changed to: if (opcode == OPCode_requestVote ||\n opcode)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"logic-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T04:47:09.048Z"
|
|
},
|
|
{
|
|
"id": "bug-353",
|
|
"timestamp": "2026-06-10T17:30:00Z",
|
|
"error_message": "Config push silently rejected when standby is in CTRL_ELECTING: ha_dispatch_gate only allows requestVote/probeConfigTag, returning -E_XCE_ERR_NOT_READY for all other opcodes. If liveness poll fires during election window, any incoming config push is discarded.",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "CTRL_ELECTING gate in ha_dispatch_gate (ha.c:1464) allowed only vote/probe opcodes. Config push from primary arriving during the ELECTING window (after liveness-poll-triggered failover, before election result) was rejected with -E_XCE_ERR_NOT_READY (10013). Standby never saved config, leaving conf dir empty.",
|
|
"fix": "FIXED 2026-06-10: Added OPCode_hello, OPCode_nop, OPCode_replConfigPush, OPCode_walCatchupEntry, OPCode_snapshotTransfer to CTRL_ELECTING allowlist. A campaigning node must accept replication from the current primary to stay current for both win and loss paths. Controller suite green.",
|
|
"tags": [
|
|
"ha",
|
|
"dispatch-gate",
|
|
"election",
|
|
"config-replication",
|
|
"silent-failure"
|
|
],
|
|
"related_bugs": [
|
|
"bug-335",
|
|
"bug-336"
|
|
],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T17:30:00Z"
|
|
},
|
|
{
|
|
"id": "bug-363",
|
|
"timestamp": "2026-06-10T04:58:30.903Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 9→15 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T04:58:30.903Z"
|
|
},
|
|
{
|
|
"id": "bug-364",
|
|
"timestamp": "2026-06-10T06:26:24.340Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/CLAUDE.md",
|
|
"root_cause": "Had `CTRL_ELECTING`",
|
|
"fix": "Changed to `CTRL_INIT`",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T06:26:24.340Z"
|
|
},
|
|
{
|
|
"id": "bug-365",
|
|
"timestamp": "2026-06-10T06:32:15.362Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 8→13 lines (3 removed) | Also: /* Req 4.1: ctrlhello counts as primary activity —; if ((ctrl_role_t)atomic_load_explicit(&c->ha.role,",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-10T06:35:56.354Z"
|
|
},
|
|
{
|
|
"id": "bug-366",
|
|
"timestamp": "2026-06-10T06:32:18.661Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 6→12 lines (3 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T06:32:18.661Z"
|
|
},
|
|
{
|
|
"id": "bug-367",
|
|
"timestamp": "2026-06-10T07:56:21.347Z",
|
|
"error_message": "Missing error handling in XCE_TESTING",
|
|
"file": "src/controller/testsuite/test_repl_unit.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block | Also: /* =========================================================; * Task 1.1: repl_broadcast send path tests",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-10T07:57:02.036Z"
|
|
},
|
|
{
|
|
"id": "bug-368",
|
|
"timestamp": "2026-06-10T07:57:40.792Z",
|
|
"error_message": "Wrong reference: WAL_JOB should be WAL_JOB_SUBMIT",
|
|
"file": "src/controller/testsuite/test_repl_unit.c",
|
|
"root_cause": "Used \"WAL_JOB\" instead of \"WAL_JOB_SUBMIT\"",
|
|
"fix": "Changed WAL_JOB → WAL_JOB_SUBMIT",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T07:57:40.792Z"
|
|
},
|
|
{
|
|
"id": "bug-369",
|
|
"timestamp": "2026-06-10T07:58:15.167Z",
|
|
"error_message": "Missing error handling in XCE_TESTING",
|
|
"file": "src/controller/repl.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T07:58:15.167Z"
|
|
},
|
|
{
|
|
"id": "bug-370",
|
|
"timestamp": "2026-06-10T07:58:38.900Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/repl.c",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 42→65 lines (3 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T07:58:38.900Z"
|
|
},
|
|
{
|
|
"id": "bug-371",
|
|
"timestamp": "2026-06-10T07:59:24.268Z",
|
|
"error_message": "Wrong reference: DEBUG3 should be TRACE",
|
|
"file": "src/controller/repl.c",
|
|
"root_cause": "Used \"DEBUG3\" instead of \"TRACE\"",
|
|
"fix": "Changed DEBUG3 → TRACE",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T07:59:24.268Z"
|
|
},
|
|
{
|
|
"id": "bug-372",
|
|
"timestamp": "2026-06-10T08:42:26.121Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 12→16 lines (3 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T08:42:26.121Z"
|
|
},
|
|
{
|
|
"id": "bug-373",
|
|
"timestamp": "2026-06-10T08:45:30.400Z",
|
|
"error_message": "Wrong reference: request should be ep",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "Used \"request\" instead of \"ep\"",
|
|
"fix": "Changed request → ep",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T08:45:30.400Z"
|
|
},
|
|
{
|
|
"id": "bug-374",
|
|
"timestamp": "2026-06-10T08:47:48.296Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/testsuite/test_ha_role.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block | Also: /* Task 3.3 (ha-wal-replication): dispatch gate standby-role; RUN_TEST(test_dispatch_gate_allows_wal_catchup_in_standby_ro",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-10T08:48:00.267Z"
|
|
},
|
|
{
|
|
"id": "bug-375",
|
|
"timestamp": "2026-06-10T08:50:27.397Z",
|
|
"error_message": "Missing error handling in struct",
|
|
"file": "src/include/typemap.h",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T08:50:27.397Z"
|
|
},
|
|
{
|
|
"id": "bug-376",
|
|
"timestamp": "2026-06-10T09:17:35.218Z",
|
|
"error_message": "Wrong condition in logic",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Condition was: if (opcode == OPCode_nop)",
|
|
"fix": "Changed to: if (rep_s.data_which == RequestReply_data_walackreplym)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"logic-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T09:17:35.218Z"
|
|
},
|
|
{
|
|
"id": "bug-377",
|
|
"timestamp": "2026-06-10T09:59:08.979Z",
|
|
"error_message": "Missing error handling in XCE_TESTING",
|
|
"file": "src/controller/testsuite/test_p2_integration.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T09:59:08.979Z"
|
|
},
|
|
{
|
|
"id": "bug-378",
|
|
"timestamp": "2026-06-10T10:02:00.000Z",
|
|
"error_message": "AddressSanitizer: global-buffer-overflow in dataq_enq via xce_wal_batch_req_raw <- repl_broadcast <- persist_wal_async",
|
|
"file": "src/controller/testsuite/test_p2_integration.c",
|
|
"root_cause": "Tests 8 and 9 declared ep_a/ep_b/g_ep9_a/g_ep9_b as 'static int' (4 bytes) and passed them to repl_add_standby without (void*) cast. repl_broadcast then called xce_wal_batch_req_raw(s->ep, ...) using the stored int* as a real network endpoint, causing an 8-byte read past the 4-byte int. Neither test installed repl_broadcast_send_hook to intercept the call.",
|
|
"fix": "Added #include typemap.h; added extern repl_broadcast_send_hook declaration guarded by XCE_TESTING; added p2_drop_send_hook no-op; installed hook around persist_wal_sync_append in tests 8 and 9; fixed missing (void*) casts on all four ep variables",
|
|
"tags": [
|
|
"asan",
|
|
"global-buffer-overflow",
|
|
"repl_broadcast",
|
|
"unit-test",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T10:02:00.000Z"
|
|
},
|
|
{
|
|
"id": "bug-379",
|
|
"timestamp": "2026-06-10T10:36:53.011Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_p2_integration.c",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 50→72 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T10:36:53.011Z"
|
|
},
|
|
{
|
|
"id": "bug-380",
|
|
"timestamp": "2026-06-10T10:37:21.924Z",
|
|
"error_message": "Wrong reference: test_catchup_full_lifecycle_integration should be test_single_node_committed_lsn_unchanged",
|
|
"file": "src/controller/testsuite/test_p2_integration.c",
|
|
"root_cause": "Used \"test_catchup_full_lifecycle_integration\" instead of \"test_single_node_committed_lsn_unchanged\"",
|
|
"fix": "Changed test_catchup_full_lifecycle_integration → test_single_node_committed_lsn_unchanged",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T10:37:21.924Z"
|
|
},
|
|
{
|
|
"id": "bug-381",
|
|
"timestamp": "2026-06-10T10:37:49.028Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/testsuite/test_repl_unit.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T10:37:49.028Z"
|
|
},
|
|
{
|
|
"id": "bug-382",
|
|
"timestamp": "2026-06-10T11:54:19.749Z",
|
|
"error_message": "Function not marked async",
|
|
"file": ".kiro/specs/ha-wal-replication/tasks.md",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T11:54:19.749Z"
|
|
},
|
|
{
|
|
"id": "bug-383",
|
|
"timestamp": "2026-06-10T14:12:27.285Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/steering/product.md",
|
|
"root_cause": "5 lines replaced/restructured",
|
|
"fix": "Rewrote 13→22 lines (5 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T14:12:27.286Z"
|
|
},
|
|
{
|
|
"id": "bug-384",
|
|
"timestamp": "2026-06-10T14:13:01.581Z",
|
|
"error_message": "Function not marked async",
|
|
"file": ".kiro/steering/tech.md",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T14:13:01.581Z"
|
|
},
|
|
{
|
|
"id": "bug-385",
|
|
"timestamp": "2026-06-10T14:38:11.810Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "CLAUDE.md",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 5→5 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T14:38:11.810Z"
|
|
},
|
|
{
|
|
"id": "bug-386",
|
|
"timestamp": "2026-06-10T14:43:53.161Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "CLAUDE.md",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-10T14:43:53.161Z"
|
|
},
|
|
{
|
|
"id": "bug-387",
|
|
"timestamp": "2026-06-10T14:53:19.493Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/CLAUDE.md",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 6→5 lines (3 removed) | Also: ### Controllers; - Struct: `type {Resource}Controller struct{}`",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-10T14:55:18.463Z"
|
|
},
|
|
{
|
|
"id": "bug-388",
|
|
"timestamp": "2026-06-10T14:54:18.503Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/controller/CLAUDE.md",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-10T14:54:53.661Z"
|
|
},
|
|
{
|
|
"id": "bug-389",
|
|
"timestamp": "2026-06-11T02:46:08.749Z",
|
|
"error_message": "Wrong reference: signal should be stdio",
|
|
"file": "src/lib/delay.c",
|
|
"root_cause": "Used \"signal\" instead of \"stdio\"",
|
|
"fix": "Changed signal → stdio",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T02:46:08.749Z"
|
|
},
|
|
{
|
|
"id": "bug-390",
|
|
"timestamp": "2026-06-11T03:30:54.341Z",
|
|
"error_message": "Missing error handling in XCE_TESTING",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T03:30:54.341Z"
|
|
},
|
|
{
|
|
"id": "bug-391",
|
|
"timestamp": "2026-06-11T03:41:14.912Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: !ha",
|
|
"fix": "Added guard clause: if (!ha)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T03:41:14.912Z"
|
|
},
|
|
{
|
|
"id": "bug-392",
|
|
"timestamp": "2026-06-11T03:46:02.642Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/persist.c",
|
|
"root_cause": "No early return/throw for edge case: sync_rc_out",
|
|
"fix": "Added guard clause: if (sync_rc_out)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T03:46:02.642Z"
|
|
},
|
|
{
|
|
"id": "bug-393",
|
|
"timestamp": "2026-06-11T03:47:03.826Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/job.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 15→28 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T03:47:03.826Z"
|
|
},
|
|
{
|
|
"id": "bug-394",
|
|
"timestamp": "2026-06-11T05:09:37.037Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/specs/ha-consistency-invariants/research.md",
|
|
"root_cause": "Had `persist_truncate_wal_above`",
|
|
"fix": "Changed to `restore_job`",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T05:09:37.037Z"
|
|
},
|
|
{
|
|
"id": "bug-395",
|
|
"timestamp": "2026-06-11T05:10:14.835Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/ha-consistency-invariants/research.md",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 7→7 lines (3 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T05:10:14.835Z"
|
|
},
|
|
{
|
|
"id": "bug-396",
|
|
"timestamp": "2026-06-10T22:45:00-07:00",
|
|
"error_message": "Worker job state notifications (OPCode_notify) are permanently lost when the controller dispatch gate rejects them (quorum loss / COMMITTING window): worker never reads replies, never retries, no rejoin resync",
|
|
"file": "src/worker/src/controller_connector.c, src/lib/xceapi.c, src/controller/cluster.c",
|
|
"root_cause": "xce_notify is enqueue-and-forget (no cbuf_get); error replies dropped via cbuf_tryput -EAGAIN (xcectx.c:304); xcecd_job_finished return ignored (FIXME at xcecd_worker_utils.c:298); xce_join_req carries no running-job state so rejoin cannot resync",
|
|
"fix": "FIXED 2026-06-12 (ha-commit-barrier-rollout tasks 1.2+4.2+4.3): dispatch gate admits fact opcodes (notify/update/setpreason/clrpreason) without write quorum (ha.c CTRL_PRIMARY allowlist); facts append via RETAIN (log-is-the-queue, no timeout) and commit when quorum returns. End-to-end retention proof: test_fact_retention_across_quorum_loss. Worker-side redelivery gap remains (worker-rejoin-resync backlog covers disconnect windows).",
|
|
"tags": [
|
|
"ha",
|
|
"notify",
|
|
"silent-data-loss",
|
|
"worker",
|
|
"quorum",
|
|
"ha-consistency-invariants"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-12"
|
|
},
|
|
{
|
|
"id": "bug-397",
|
|
"timestamp": "2026-06-11T06:34:28.705Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/ha-consistency-invariants/requirements.md",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 3→4 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T06:34:28.705Z"
|
|
},
|
|
{
|
|
"id": "bug-398",
|
|
"timestamp": "2026-06-11T06:35:26.288Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/specs/ha-consistency-invariants/research.md",
|
|
"root_cause": "Had `restore_job`",
|
|
"fix": "Changed to \"irrevocable\"",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T06:35:26.288Z"
|
|
},
|
|
{
|
|
"id": "bug-399",
|
|
"timestamp": "2026-06-11T06:43:14.709Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/specs/ha-consistency-invariants/research.md",
|
|
"root_cause": "Had 't span syscalls and degrade to serial mode), C ec",
|
|
"fix": "Changed to 't span syscalls), C ecosystem dead (libitm unmain",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T06:43:14.709Z"
|
|
},
|
|
{
|
|
"id": "bug-400",
|
|
"timestamp": "2026-06-11T07:23:53.901Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/specs/ha-consistency-invariants/research.md",
|
|
"root_cause": "Had \"return quickly\"",
|
|
"fix": "Changed to `--vcpus`",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T07:23:53.901Z"
|
|
},
|
|
{
|
|
"id": "bug-401",
|
|
"timestamp": "2026-06-11T07:47:34.756Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/specs/ha-consistency-invariants/research.md",
|
|
"root_cause": "Had `mark_job_*`",
|
|
"fix": "Changed to \"pending facts\"",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T07:47:34.756Z"
|
|
},
|
|
{
|
|
"id": "bug-402",
|
|
"timestamp": "2026-06-11T07:53:43.868Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": ".kiro/specs/ha-consistency-invariants/research.md",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T07:53:43.868Z"
|
|
},
|
|
{
|
|
"id": "bug-403",
|
|
"timestamp": "2026-06-11T08:34:47.868Z",
|
|
"error_message": "Function not marked async",
|
|
"file": ".kiro/specs/ha-consistency-invariants/design.md",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T08:34:47.868Z"
|
|
},
|
|
{
|
|
"id": "bug-404",
|
|
"timestamp": "2026-06-11T08:46:20.815Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": ".kiro/steering/roadmap.md",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T08:46:20.815Z"
|
|
},
|
|
{
|
|
"id": "bug-405",
|
|
"timestamp": "2026-06-11T09:47:16.750Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/specs/ha-single-leader-role/design.md",
|
|
"root_cause": "Had `writable_lsn`",
|
|
"fix": "Changed to 's \"",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T09:47:16.750Z"
|
|
},
|
|
{
|
|
"id": "bug-406",
|
|
"timestamp": "2026-06-11T09:49:04.296Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/specs/ha-single-leader-role/tasks.md",
|
|
"root_cause": "Had \" --exclude-dir=.git --exclude-dir=.kiro --exclude",
|
|
"fix": "Changed to \" --exclude-dir=.git --exclude-dir=specs --exclude",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T09:49:04.296Z"
|
|
},
|
|
{
|
|
"id": "bug-407",
|
|
"timestamp": "2026-06-11T10:01:15.181Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/specs/ha-commit-barrier-rollout/design.md",
|
|
"root_cause": "Had `repl.h`",
|
|
"fix": "Changed to `entry_lsn`",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T10:01:15.181Z"
|
|
},
|
|
{
|
|
"id": "bug-408",
|
|
"timestamp": "2026-06-11T10:01:39.424Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/specs/ha-convergence-recovery/tasks.md",
|
|
"root_cause": "Had `-XCE_ERR_NOT_READY`",
|
|
"fix": "Changed to `OPCode_notify`",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-11T10:02:02.349Z"
|
|
},
|
|
{
|
|
"id": "bug-409",
|
|
"timestamp": "2026-06-11T12:57:17.283Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/steering/roadmap.md",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 6→8 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T12:57:17.283Z"
|
|
},
|
|
{
|
|
"id": "bug-410",
|
|
"timestamp": "2026-06-11T13:30:00Z",
|
|
"error_message": "test_commit_engine fixture: Expected 0 Was 1 from repl_add_standby",
|
|
"file": "src/controller/testsuite/test_commit_engine.c",
|
|
"root_cause": "repl_add_standby returns the slot index (>=0) on success, not 0 — second add legitimately returns 1",
|
|
"fix": "fixture asserts TEST_ASSERT_EQUAL_INT(i, repl_add_standby(...)) per standby slot",
|
|
"tags": [
|
|
"controller",
|
|
"testsuite",
|
|
"repl",
|
|
"return-convention"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T13:30:00Z"
|
|
},
|
|
{
|
|
"id": "bug-411",
|
|
"timestamp": "2026-06-11T13:35:00Z",
|
|
"error_message": "3 pre-existing controller testsuite failures masked by exit code 0: test_committed_lsn_does_not_advance_on_timeout (-110), test_repl_ack_after_promote_gate_allows_jobsub (-10013), test_rdhup_primary_dispatch_gate_opens (-10013)",
|
|
"file": "src/controller/testsuite/controller_test.c",
|
|
"root_cause": "each test group calls UNITY_BEGIN/UNITY_END internally, resetting Unity counters — main()'s final UNITY_END returns 0 unless the LAST group fails, so meson reported the suite green despite 3 real failures; Unity also misattributes failure FILE names to whichever file's UNITY_BEGIN ran (e.g. reports test_repl_unit.c for a test living in test_p2_integration.c)",
|
|
"fix": "not fixed (out of task 1.1 boundary) — documented; failures exist identically on baseline without ha-commit-engine changes (verified by stash/rebuild). persist_wal_sync_append returns -ETIMEDOUT while the test expects rc==0 with sync_rc==-ETIMEDOUT; the two gate tests fail ha_has_write_quorum (standby_endpoints empty with n_peers=2)",
|
|
"tags": [
|
|
"controller",
|
|
"testsuite",
|
|
"unity",
|
|
"exit-code",
|
|
"pre-existing",
|
|
"ha"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T13:35:00Z"
|
|
},
|
|
{
|
|
"id": "bug-412",
|
|
"timestamp": "2026-06-11T14:59:30.999Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/commit.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 11→21 lines (2 removed) | Also: (void)timeout_ms; /* RETAIN never honors the timeo; * via commit_on_ack (Req 2.1). */",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-11T15:00:10.118Z"
|
|
},
|
|
{
|
|
"id": "bug-413",
|
|
"timestamp": "2026-06-11T15:28:35.990Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/testsuite/test_commit_engine.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block | Also: /* ═════════════════════════════════════════════════════════; * Task 3.1 — membership re-evaluation (commit_on_membership_ | Also: /* Task 3.1 — membership re-evaluation */; RUN_TEST(test_catchup_standby_ack_does_not_count_toward_pend",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 3,
|
|
"last_seen": "2026-06-11T15:29:25.430Z"
|
|
},
|
|
{
|
|
"id": "bug-414",
|
|
"timestamp": "2026-06-11T15:55:52.451Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/include/repl.h",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T15:55:52.451Z"
|
|
},
|
|
{
|
|
"id": "bug-415",
|
|
"timestamp": "2026-06-11T15:56:20.945Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/repl.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T15:56:20.945Z"
|
|
},
|
|
{
|
|
"id": "bug-416",
|
|
"timestamp": "2026-06-11T15:56:38.428Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_commit_engine.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 10→15 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T15:56:38.428Z"
|
|
},
|
|
{
|
|
"id": "bug-417",
|
|
"timestamp": "2026-06-11T15:57:43.900Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/testsuite/test_commit_engine.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T15:57:43.900Z"
|
|
},
|
|
{
|
|
"id": "bug-418",
|
|
"timestamp": "2026-06-11T16:15:06.660Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": ".kiro/specs/ha-commit-engine/tasks.md",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T16:15:06.660Z"
|
|
},
|
|
{
|
|
"id": "bug-419",
|
|
"timestamp": "2026-06-11T16:19:30.370Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T16:19:30.370Z"
|
|
},
|
|
{
|
|
"id": "bug-420",
|
|
"timestamp": "2026-06-11T16:19:51.195Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/testsuite/test_commit_engine.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block | Also: /* Task 4.2 — wired gate: registry truth at ha_dispatch_gate; RUN_TEST(test_gate_wired_registry_catchup_standby_rejects_th",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-11T16:20:05.714Z"
|
|
},
|
|
{
|
|
"id": "bug-421",
|
|
"timestamp": "2026-06-11T16:23:46.118Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/repl.c",
|
|
"root_cause": "No early return/throw for edge case: !r",
|
|
"fix": "Added guard clause: if (!r)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T16:23:46.118Z"
|
|
},
|
|
{
|
|
"id": "bug-422",
|
|
"timestamp": "2026-06-11T16:23:59.453Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T16:23:59.453Z"
|
|
},
|
|
{
|
|
"id": "bug-423",
|
|
"timestamp": "2026-06-11T22:39:24.704Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/testsuite/test_commit_engine.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block | Also: /* ═════════════════════════════════════════════════════════; * Task 5.1 — integration: ACK feed and the job-submit sync-a | Also: #include \"typemap.h\" /* wal_catchup_entry_t (task 5; #include \"wal_types.h\" /* WAL_JOB_SUBMIT (task 5.1 sy",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 3,
|
|
"last_seen": "2026-06-11T22:40:45.169Z"
|
|
},
|
|
{
|
|
"id": "bug-424",
|
|
"timestamp": "2026-06-11T23:08:49.909Z",
|
|
"error_message": "Function not marked async",
|
|
"file": ".kiro/specs/ha-commit-engine/tasks.md",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T23:08:49.909Z"
|
|
},
|
|
{
|
|
"id": "bug-425",
|
|
"timestamp": "2026-06-11T23:15:25.014Z",
|
|
"error_message": "Wrong return value",
|
|
"file": "src/controller/repl.c",
|
|
"root_cause": "Was returning: idx;",
|
|
"fix": "Now returns: * above mutates nothing, so it deliberately skips ",
|
|
"tags": [
|
|
"auto-detected",
|
|
"return-value",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T23:15:25.014Z"
|
|
},
|
|
{
|
|
"id": "bug-426",
|
|
"timestamp": "2026-06-11T23:16:25.862Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/repl.c",
|
|
"root_cause": "5 lines replaced/restructured",
|
|
"fix": "Rewrote 13→27 lines (5 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T23:16:25.862Z"
|
|
},
|
|
{
|
|
"id": "bug-427",
|
|
"timestamp": "2026-06-11T23:32:42.365Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": ".kiro/specs/ha-commit-engine/tasks.md",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T23:32:42.365Z"
|
|
},
|
|
{
|
|
"id": "bug-428",
|
|
"timestamp": "2026-06-11T23:43:45.216Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/include/xce/cluster_def.h",
|
|
"root_cause": "Had \"ha.h\"",
|
|
"fix": "Changed to \"commit.h\"",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T23:43:45.216Z"
|
|
},
|
|
{
|
|
"id": "bug-429",
|
|
"timestamp": "2026-06-11T23:44:16.357Z",
|
|
"error_message": "Wrong condition in logic",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "Condition was: if (ha_is_primary(&c->ha)",
|
|
"fix": "Changed to: if (c->commit.p == NULL)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"logic-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T23:44:16.357Z"
|
|
},
|
|
{
|
|
"id": "bug-430",
|
|
"timestamp": "2026-06-11T23:45:06.483Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/persist.c",
|
|
"root_cause": "16 lines replaced/restructured",
|
|
"fix": "Rewrote 40→67 lines (16 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T23:45:06.483Z"
|
|
},
|
|
{
|
|
"id": "bug-431",
|
|
"timestamp": "2026-06-11T23:45:16.518Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/persist.c",
|
|
"root_cause": "Had \"xce/types.h\"",
|
|
"fix": "Changed to \"xce/errnox.h\"",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T23:45:16.518Z"
|
|
},
|
|
{
|
|
"id": "bug-432",
|
|
"timestamp": "2026-06-11T23:45:42.031Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/controller/testsuite/test_p2_integration.c",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T23:45:42.031Z"
|
|
},
|
|
{
|
|
"id": "bug-433",
|
|
"timestamp": "2026-06-11T23:45:51.649Z",
|
|
"error_message": "Wrong reference: test_single_node_committed_lsn_unchanged should be test_single_node_committed_lsn_advances",
|
|
"file": "src/controller/testsuite/test_p2_integration.c",
|
|
"root_cause": "Used \"test_single_node_committed_lsn_unchanged\" instead of \"test_single_node_committed_lsn_advances\"",
|
|
"fix": "Changed test_single_node_committed_lsn_unchanged → test_single_node_committed_lsn_advances",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T23:45:51.649Z"
|
|
},
|
|
{
|
|
"id": "bug-434",
|
|
"timestamp": "2026-06-12T00:23:08.815Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/controller/testsuite/test_p2_integration.c",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-12T00:23:08.815Z"
|
|
},
|
|
{
|
|
"id": "bug-435",
|
|
"timestamp": "2026-06-11T00:00:00Z",
|
|
"error_message": "test_committed_lsn_does_not_advance_on_timeout: Expected 0 Was -110 (baseline failure, masked by bug-411)",
|
|
"file": "src/controller/testsuite/test_p2_integration.c",
|
|
"root_cause": "Stale test expectation: pinned the old accept-on-timeout contract (rc==0 + sync_rc=-ETIMEDOUT advisory). ha-commit-engine made persist_wal_sync_append reject-on-timeout (returns -ETIMEDOUT, Req 2.1/4.4). Fixture was also engine-less (deprecated ce==NULL legacy path).",
|
|
"fix": "Updated expectation to rc==-ETIMEDOUT and wired a commit engine (n_peers=3) with a priming async append so the sync entry lands at LSN 1 on the engine path; kept the committed_lsn-unmoved assertion.",
|
|
"tags": [
|
|
"ha-commit-engine",
|
|
"task-6.1",
|
|
"stale-expectation",
|
|
"unity-misattribution"
|
|
],
|
|
"related_bugs": [
|
|
"bug-411"
|
|
],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T00:00:00Z"
|
|
},
|
|
{
|
|
"id": "bug-436",
|
|
"timestamp": "2026-06-11T00:00:00Z",
|
|
"error_message": "test_repl_ack_after_promote_gate_allows_jobsub / test_rdhup_primary_dispatch_gate_opens: Expected 0 Was -10013 (NOT_READY; baseline failures, masked by bug-411)",
|
|
"file": "src/controller/testsuite/test_ha_repl_ack.c, src/controller/testsuite/test_ha_rdhup_integration.c",
|
|
"root_cause": "CTRL_PRIMARY dispatch gate now requires write quorum (>= n_peers/2 connected standbys). Fixtures promote via a standby ACK but never register the connected standby; legacy fallback counts ha->standby_endpoints (NULL -> 0). In the rdhup test ha_on_primary_ctrl_fd_rdhup also overwrites ha->n_peers=1 with candidates_count=2 (ha.c:3484).",
|
|
"fix": "Populated standby_endpoints with one endpoint (the ACKing standby) in both fixtures so quorum legitimately holds on a healthy primary; gate unchanged. Freed the zarray before ha_fini (ha_fini does not own it).",
|
|
"tags": [
|
|
"ha-commit-engine",
|
|
"task-6.1",
|
|
"quorum-gate",
|
|
"fixture-fix"
|
|
],
|
|
"related_bugs": [
|
|
"bug-411"
|
|
],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-11T00:00:00Z"
|
|
},
|
|
{
|
|
"id": "bug-437",
|
|
"timestamp": "2026-06-12T00:51:52.673Z",
|
|
"error_message": "Function not marked async",
|
|
"file": ".kiro/specs/ha-commit-engine/tasks.md",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-12T00:51:52.673Z"
|
|
},
|
|
{
|
|
"id": "bug-438",
|
|
"timestamp": "2026-06-12T03:52:57.142Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/meson.build",
|
|
"root_cause": "Had 'commit.c'",
|
|
"fix": "Changed to 'testsuite/test_commit_barrier_rollout.c'",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"build"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-12T03:52:57.142Z"
|
|
},
|
|
{
|
|
"id": "bug-439",
|
|
"timestamp": "2026-06-12T04:13:06.326Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": ".kiro/specs/ha-commit-barrier-rollout/tasks.md",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-12T04:13:06.326Z"
|
|
},
|
|
{
|
|
"id": "bug-440",
|
|
"timestamp": "2026-06-12T04:18:19.158Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/persist.c",
|
|
"root_cause": "No early return/throw for edge case: detail == HOOK_DETAIL_WORKER_JOIN ||\n detail == H",
|
|
"fix": "Added guard clause: if (detail == HOOK_DETAIL_WORKER_JOIN ||\n )",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-12T04:18:19.158Z"
|
|
},
|
|
{
|
|
"id": "bug-441",
|
|
"timestamp": "2026-06-12T04:18:31.067Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/persist.c",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 7→12 lines (4 removed) | Also: return persist_wal_async(p, wal_type, &js, sizeof(; persist_t* p = cls; | Also: int rc = persist_wal_async(p, wal_type, pkt, (uint; persist_t* p = cls;",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 3,
|
|
"last_seen": "2026-06-12T04:19:00.652Z"
|
|
},
|
|
{
|
|
"id": "bug-442",
|
|
"timestamp": "2026-06-12T04:50:32.154Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/testsuite/test_commit_barrier_rollout.c",
|
|
"root_cause": "Had \"xce/types.h\"",
|
|
"fix": "Changed to \"xce/errnox.h\"",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-12T04:50:32.154Z"
|
|
},
|
|
{
|
|
"id": "bug-443",
|
|
"timestamp": "2026-06-12T05:14:36.392Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/persist.c",
|
|
"root_cause": "No early return/throw for edge case: p == NULL",
|
|
"fix": "Added guard clause: if (p == NULL)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-12T05:14:36.392Z"
|
|
},
|
|
{
|
|
"id": "bug-444",
|
|
"timestamp": "2026-06-12T09:09:04.495Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_commit_barrier_reply.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 3→5 lines (2 removed) | Also: static xce_signal_t g_sigkill = { .signo = SIGKIL; static xce_jobctrl_t g_jobctrl;",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-12T09:09:10.703Z"
|
|
},
|
|
{
|
|
"id": "bug-445",
|
|
"timestamp": "2026-06-12T09:30:00Z",
|
|
"error_message": "AddressSanitizer SEGV in hash_string via makeResource when running controller_unit_test -t test_commit_barrier_reply standalone",
|
|
"file": "src/controller/testsuite/test_commit_barrier_reply.c",
|
|
"root_cause": "Global xstring table uninitialised in standalone runs: makeString() returns NULL, resobj name becomes NULL, key_add hashes NULL. In full-suite runs test_worker_join.c:520 initialises the table unguarded, so the bug only appears with -t selection.",
|
|
"fix": "Probe makeString(\"cbrp-probe\") in the group entry; call xstring_table_init(139) only when the probe returns NULL (avoids double init in full-suite order).",
|
|
"tags": [
|
|
"testsuite",
|
|
"xstring",
|
|
"fixture",
|
|
"segv",
|
|
"ha-commit-barrier-rollout"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-12T09:30:00Z"
|
|
},
|
|
{
|
|
"id": "bug-446",
|
|
"timestamp": "2026-06-12T09:30:00Z",
|
|
"error_message": "makeJob() returns NULL (Expected Non-NULL) in commit-barrier reply fixture",
|
|
"file": "src/controller/testsuite/test_commit_barrier_reply.c",
|
|
"root_cause": "job_init (lib/jobj.c) returns -EINVAL when xce_job_t.submit == NULL, and makeJobsub requires job_obj_init() module tables which no controller test group initialises.",
|
|
"fix": "Fixture calls job_obj_init(64, 64) once per process (static guard) and provides a zeroed static job_submit_data_t as jdef.submit.",
|
|
"tags": [
|
|
"testsuite",
|
|
"jobj",
|
|
"fixture",
|
|
"ha-commit-barrier-rollout"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-12T09:30:00Z"
|
|
},
|
|
{
|
|
"id": "bug-447",
|
|
"timestamp": "2026-06-12T09:30:00Z",
|
|
"error_message": "queue_ctrl/worker_ctrl append NO WAL entry and reply status 1 on success; job_ctrl also returns 1 (key_find found-rc leak)",
|
|
"file": "src/controller/queue.c",
|
|
"root_cause": "key_find (xkvmgr_find, lib/kvmgr.c:130-151) returns 1 when the key is found. queue_ctrl (queue.c:60), worker_ctrl (worker.c:643) and job_ctrl (job.c:314) store it in rc and never reset it: the 'if (rc == 0)' AFTER_EVENT hook gate is skipped (no WAL_QUEUE_CTRL / WAL_WORKER_CTRL append on the found path) and the requester reply carries status 1 instead of 0. Production gap discovered by task-3.1 RED tests; queue/host control state changes are currently never persisted or replicated.",
|
|
"fix": "FIXED (task 3.2, 2026-06-12): normalized the key_find found-rc to 0 in queue_ctrl (queue.c), worker_ctrl (worker.c) and job_ctrl (job.c) after the miss/-ENOENT checks, so the AFTER_EVENT hook gate fires (WAL append + replication) and the handlers' commit-barrier pattern sees 0. Handlers do_jobcontrol_op/do_queuecontrol_op/do_hostcontrol_op now run persist_commit_barrier(&c->persist, 0) on rc==0 before replying; handle_worker_join barriers between AFTER_EVENT and the success reply. All 12 test_commit_barrier_reply tests PASS; full controller suite 0 FAIL.",
|
|
"tags": [
|
|
"production-gap",
|
|
"queue_ctrl",
|
|
"worker_ctrl",
|
|
"job_ctrl",
|
|
"key_find",
|
|
"wal",
|
|
"ha-commit-barrier-rollout",
|
|
"red-finding"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-12T11:00:00Z"
|
|
},
|
|
{
|
|
"id": "bug-448",
|
|
"timestamp": "2026-06-12T10:05:12.464Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/queue.c",
|
|
"root_cause": "Had \"qobj.h\"",
|
|
"fix": "Changed to \"persist.h\"",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-12T10:05:12.464Z"
|
|
},
|
|
{
|
|
"id": "bug-448",
|
|
"timestamp": "2026-06-12T10:30:00-07:00",
|
|
"error_message": "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",
|
|
"file": "src/controller/job.c",
|
|
"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",
|
|
"tags": [
|
|
"controller",
|
|
"job",
|
|
"refcount",
|
|
"leak",
|
|
"pre-existing"
|
|
],
|
|
"related_bugs": [
|
|
"bug-447"
|
|
],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-12T10:30:00-07:00"
|
|
},
|
|
{
|
|
"id": "bug-450",
|
|
"timestamp": "2026-06-12T10:48:27.053Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_commit_barrier_reply.c",
|
|
"root_cause": "7 lines replaced/restructured",
|
|
"fix": "Rewrote 12→56 lines (7 removed) | Also: xce_job_t jdef;; static int jobobj_ready; /* jobj module tables — o",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-12T10:48:47.855Z"
|
|
},
|
|
{
|
|
"id": "bug-451",
|
|
"timestamp": "2026-06-12T11:05:00-07:00",
|
|
"error_message": "va_list type confusion: WAL_JOB_RUSAGE hook payload reads job_t fields from an xce_job_rusages_t*",
|
|
"file": "src/controller/job.c (caller) / src/controller/persist.c (consumer)",
|
|
"root_cause": "update_job_rusages fires AFTER_EVENT HOOK_DETAIL_JOB_RUSAGE_UPDATE with (cluster_t*, xce_job_rusages_t*) at job.c:1015-1016, but persist_job_hook_fun's default arm (persist.c:1354-1359) reads the second vararg as job_t* and dereferences j->job.state at offset 56 == sizeof(xce_job_rusages_t) — an out-of-bounds read on an exactly-sized allocation; the WAL_JOB_RUSAGE payload state field is garbage (jobid at offset 0 lines up by accident)",
|
|
"fix": "NOT FIXED (discovered while writing task 3.3 receipt-ACK verdict pins; production out of boundary). Test test_update_op_rusage_receipt_reply_facts_retained uses a padded union so the pin stays in-bounds under ASAN without masking the bug; fix candidates: dedicated RUSAGE arm in persist_job_hook_fun reading xce_job_rusages_t*, or fire the hook with (c, j) like the other job hooks",
|
|
"tags": [
|
|
"pre-existing",
|
|
"type-confusion",
|
|
"va_list",
|
|
"wal",
|
|
"rusage",
|
|
"asan",
|
|
"oob-read",
|
|
"ha-commit-barrier-rollout"
|
|
],
|
|
"related_bugs": [
|
|
"bug-447",
|
|
"bug-448"
|
|
],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-12T11:05:00-07:00"
|
|
},
|
|
{
|
|
"id": "bug-452",
|
|
"timestamp": "2026-06-12T15:03:38.962Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/controller/testsuite/test_commit_barrier_reply.c",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-12T15:03:38.962Z"
|
|
},
|
|
{
|
|
"id": "bug-453",
|
|
"timestamp": "2026-06-12T15:45:11.299Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_repl_majority.c",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 3→10 lines (3 removed) | Also: * walAck half is engine-wired per-LSN; the configA; * byte-identical legacy behavior (config barrier o | Also: /* upgradeConfigAck with no pending ACKs → timeout; int rc_cfg = repl_wait_majority_ack(&g_mp.repl, 0,",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 3,
|
|
"last_seen": "2026-06-12T15:45:39.679Z"
|
|
},
|
|
{
|
|
"id": "bug-454",
|
|
"timestamp": "2026-06-13T00:15:40.802Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/repl.c",
|
|
"root_cause": "5 lines replaced/restructured",
|
|
"fix": "Rewrote 6→11 lines (5 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T00:15:40.802Z"
|
|
},
|
|
{
|
|
"id": "bug-455",
|
|
"timestamp": "2026-06-13T00:16:42.277Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/include/repl.h",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 4→7 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T00:16:42.277Z"
|
|
},
|
|
{
|
|
"id": "bug-456",
|
|
"timestamp": "2026-06-13T00:17:27.276Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "28 lines replaced/restructured",
|
|
"fix": "Rewrote 73→85 lines (28 removed) | Also: /* 7. Push to standbys (best-effort; see push_conf; int acked = push_config_to_standbys(c, out_bytes, | Also: * 7. Push to standbys (best-effort); * 8. ACK admin tool",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 3,
|
|
"last_seen": "2026-06-13T00:19:11.078Z"
|
|
},
|
|
{
|
|
"id": "bug-457",
|
|
"timestamp": "2026-06-13T00:18:17.080Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "No early return/throw for edge case: !c->ha.standby_endpoints",
|
|
"fix": "Added guard clause: if (!c->ha.standby_endpoints)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T00:18:17.080Z"
|
|
},
|
|
{
|
|
"id": "bug-458",
|
|
"timestamp": "2026-06-13T00:19:39.908Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/config_repl.h",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T00:19:39.908Z"
|
|
},
|
|
{
|
|
"id": "bug-459",
|
|
"timestamp": "2026-06-13T00:30:00Z",
|
|
"error_message": "configAck quorum fabricated success: counted acked_config_lsn > 0 (any previous upgrade's ack), denominator n_active with no self-count, and n_active==0 short-circuited to success; upgradeConfig also ACKed the admin tool unconditionally and requested restart even when the majority wait timed out (logged-only result)",
|
|
"file": "src/controller/repl.c, src/controller/config_repl.c",
|
|
"root_cause": "legacy connectivity-based counting on the configAck track predated the commit engine's per-push arithmetic; push_config_to_standbys returned the transport push count and only logged the barrier outcome, so do_upgrade_config_with_bytes could not observe failure",
|
|
"fix": "task 5.2: configAck branch counts acked_config_lsn >= push_tag (entry_lsn carries the tag), majority 1+count > n_peers/2 over engine n_peers, n_peers<=1 immediate 0, ce==NULL -EINVAL fail-loud; push_config_to_standbys returns the barrier result (push count via acked_out); do_upgrade_config_with_bytes sends send_upgrade_error and skips success ACK + restart on non-zero; committed_config_tag advance stays success-branch-only",
|
|
"tags": [
|
|
"ha",
|
|
"config-repl",
|
|
"quorum",
|
|
"configAck",
|
|
"commit-barrier",
|
|
"upgradeConfig"
|
|
],
|
|
"related_bugs": [
|
|
"bug-396"
|
|
],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T00:30:00Z"
|
|
},
|
|
{
|
|
"id": "bug-460",
|
|
"timestamp": "2026-06-13T01:11:40.159Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "7 lines replaced/restructured",
|
|
"fix": "Rewrote 14→19 lines (7 removed) | Also: cluster_t *c, const char *msg); reply.status = -EINVAL;",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-13T01:14:42.432Z"
|
|
},
|
|
{
|
|
"id": "bug-461",
|
|
"timestamp": "2026-06-13T01:11:49.673Z",
|
|
"error_message": "Wrong condition in logic",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "Condition was: if (n == 0)",
|
|
"fix": "Changed to: if (n_out)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"logic-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T01:11:49.673Z"
|
|
},
|
|
{
|
|
"id": "bug-462",
|
|
"timestamp": "2026-06-13T01:12:50.297Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/config_repl.h",
|
|
"root_cause": "8 lines replaced/restructured",
|
|
"fix": "Rewrote 22→39 lines (8 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T01:12:50.297Z"
|
|
},
|
|
{
|
|
"id": "bug-463",
|
|
"timestamp": "2026-06-13T01:13:19.561Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "6 lines replaced/restructured",
|
|
"fix": "Rewrote 10→18 lines (6 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T01:13:19.561Z"
|
|
},
|
|
{
|
|
"id": "bug-464",
|
|
"timestamp": "2026-06-13T01:14:15.668Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/join.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T01:14:15.668Z"
|
|
},
|
|
{
|
|
"id": "bug-465",
|
|
"timestamp": "2026-06-13T01:30:00Z",
|
|
"error_message": "Config-ACK signal never produced in production: repl_on_config_ack had zero production callers; standby replconfigpushreplymsg silently dropped in repl_ack_decode_and_dispatch (ha.c) and myreq_handler default case (cluster.c) -> every multi-member config upgrade barrier timed out (upgrades bricked)",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "ha-config-bootstrap task 8.1's production ingestion half was never landed; the 5.2 barrier relied on a signal nothing produced (tests injected repl_on_config_ack directly)",
|
|
"fix": "Added replconfigpushreplymsg decode branch in repl_ack_decode_and_dispatch (ha.c) and an OPCode_reply ingestion case in cluster.c myreq_handler, both calling repl_on_config_ack(&c->persist.repl, ep, versionTag); wire-path integration test added (test_config_ack_wire_path_completes_barrier)",
|
|
"tags": [
|
|
"ha",
|
|
"config-repl",
|
|
"barrier",
|
|
"capnp",
|
|
"wire-path",
|
|
"task-5.2"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T01:30:00Z"
|
|
},
|
|
{
|
|
"id": "bug-466",
|
|
"timestamp": "2026-06-13T01:30:00Z",
|
|
"error_message": "Unconditional 500ms config barrier wait in push_config_to_standbys reachable from iomgr epoll thread (ha.c raft_cb_become_leader, ha_dispatch_repl_action_for_standby, legacy election path; join.c controller join) -> blocks all controller I/O; the awaited ACK arrives on the blocked thread (structural deadlock)",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "task 5.2 made the barrier unconditional inside push_config_to_standbys while best-effort catch-up/election pushes on iomgr-reachable paths still called the same entry",
|
|
"fix": "Split the API: exported transport-only fan-out push_config_transport_only (no barrier, iomgr-safe) and switched all 5 ha.c sites + join.c:187 to it; push_config_to_standbys (transport+barrier) kept for the vtask-context upgrade path only; doc comments updated in config_repl.h",
|
|
"tags": [
|
|
"ha",
|
|
"iomgr",
|
|
"deadlock",
|
|
"config-repl",
|
|
"api-split",
|
|
"task-5.2"
|
|
],
|
|
"related_bugs": [
|
|
"bug-465"
|
|
],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T01:30:00Z"
|
|
},
|
|
{
|
|
"id": "bug-467",
|
|
"timestamp": "2026-06-13T01:38:08.308Z",
|
|
"error_message": "Wrong condition in logic",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Condition was: if (rep_s.data_which == RequestReply_data_replconfigpu)",
|
|
"fix": "Changed to: if (0 /* REVIEWER RED CHECK */ && rep_s.data_which == )",
|
|
"tags": [
|
|
"auto-detected",
|
|
"logic-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-13T01:38:43.310Z"
|
|
},
|
|
{
|
|
"id": "bug-468",
|
|
"timestamp": "2026-06-13T03:56:09.185Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/controller/testsuite/test_commit_barrier_reply.c",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T03:56:09.185Z"
|
|
},
|
|
{
|
|
"id": "bug-469",
|
|
"timestamp": "2026-06-13T06:33:41.449Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/meson.build",
|
|
"root_cause": "Had 'testsuite/test_ha_cluster.c'",
|
|
"fix": "Changed to 'testsuite/test_ha_role_lifecycle.c'",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"build"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T06:33:41.449Z"
|
|
},
|
|
{
|
|
"id": "bug-470",
|
|
"timestamp": "2026-06-13T06:34:01.929Z",
|
|
"error_message": "Wrong reference: test_ha_cluster should be test_ha_role_lifecycle",
|
|
"file": "src/controller/testsuite/controller_test.c",
|
|
"root_cause": "Used \"test_ha_cluster\" instead of \"test_ha_role_lifecycle\"",
|
|
"fix": "Changed test_ha_cluster → test_ha_role_lifecycle",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-13T06:34:05.212Z"
|
|
},
|
|
{
|
|
"id": "bug-471",
|
|
"timestamp": "2026-06-13T06:41:01.532Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/testsuite/test_ha_role_lifecycle.c",
|
|
"root_cause": "No early return/throw for edge case: pid < 0",
|
|
"fix": "Added guard clause: if (pid < 0)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T06:41:01.532Z"
|
|
},
|
|
{
|
|
"id": "bug-472",
|
|
"timestamp": "2026-06-13T07:06:06.526Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_ha_role_lifecycle.c",
|
|
"root_cause": "15 lines replaced/restructured",
|
|
"fix": "Rewrote 64→108 lines (15 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T07:06:06.526Z"
|
|
},
|
|
{
|
|
"id": "bug-473",
|
|
"timestamp": "2026-06-13T07:32:43.287Z",
|
|
"error_message": "Wrong return value",
|
|
"file": "src/controller/persist.c",
|
|
"root_cause": "Was returning: WAL_MODE_LOCAL;",
|
|
"fix": "Now returns: WAL_MODE_RETAIN;",
|
|
"tags": [
|
|
"auto-detected",
|
|
"return-value",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T07:32:43.287Z"
|
|
},
|
|
{
|
|
"id": "bug-474",
|
|
"timestamp": "2026-06-13T08:17:21.222Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_ha_role_lifecycle.c",
|
|
"root_cause": "21 lines replaced/restructured",
|
|
"fix": "Rewrote 35→57 lines (21 removed) | Also: /* ── Case 3: HOOKS REGISTERED BY THE SHARED PROMO; * canonical promotion entry point ha_promote_to_pr",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-13T08:17:47.506Z"
|
|
},
|
|
{
|
|
"id": "bug-475",
|
|
"timestamp": "2026-06-13T08:35:38.780Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "5 lines replaced/restructured",
|
|
"fix": "Rewrote 10→14 lines (5 removed) | Also: /* Start primary heartbeat immediately in COMMITTI; * NOP during the committing window and their liven",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-13T08:36:06.318Z"
|
|
},
|
|
{
|
|
"id": "bug-476",
|
|
"timestamp": "2026-06-13T08:38:00.471Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: c->ha.hooks_registered",
|
|
"fix": "Added guard clause: if (c->ha.hooks_registered)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T08:38:00.471Z"
|
|
},
|
|
{
|
|
"error_message": "AddressSanitizer: global-buffer-overflow in xce_wal_batch_req_raw <- repl_broadcast <- persist_wal_async <- ha_arm_own_term_gate <- ha_promote_to_primary, during test_promotion_registers_persist_hooks (test_ha_role_lifecycle.c case 3)",
|
|
"file": "src/controller/testsuite/test_ha_role_lifecycle.c (fixture defect — OUT OF task 2.2 boundary)",
|
|
"root_cause": "task-2.2's ha_promote_to_primary now appends a WAL_NOOP via persist_wal_async, which broadcasts to registered standbys. The lifecycle fixture (lifecycle_cluster_setup) registers fake `int g_lc_eps[]` endpoints via repl_add_standby and NEVER installs repl_broadcast_send_hook, so repl_broadcast calls xce_wal_batch_req_raw(s->ep) and reads ep->peer (offset 36) past the 4-byte int. IDENTICAL to the prior test_p2_integration tests 8/9 bug already in buglog.",
|
|
"fix": "Test-side fix (parent must apply, mirrors the documented p2_integration fix): in test_ha_role_lifecycle.c add `extern int (*repl_broadcast_send_hook)(void*, wal_catchup_entry_t**, int);` and a no-op drop hook, install it in lifecycle_cluster_setup before promotion (reset to NULL in teardown), and cast endpoints to (void*). Production ha.c is correct per design (persist_wal_async appends+broadcasts by design).",
|
|
"tags": [
|
|
"ha-single-leader-role",
|
|
"task-2.2",
|
|
"test-fixture",
|
|
"asan",
|
|
"repl_broadcast",
|
|
"global-buffer-overflow",
|
|
"out-of-boundary"
|
|
],
|
|
"id": "bug-477",
|
|
"timestamp": "2026-06-13",
|
|
"last_seen": "2026-06-13",
|
|
"occurrences": 1,
|
|
"related_bugs": []
|
|
},
|
|
{
|
|
"error_message": "task-2.1 lifecycle fixture off-by-one: case 5/6/7 assert writable_lsn==noop_lsn and current_lsn==noop_lsn+1, but lifecycle_cluster_setup primes current_lsn = appended_lsn + 1, so a real persist_wal_async appends the noop at appended_lsn+1 (current_lsn->appended_lsn+2), giving noop_lsn=appended_lsn+1 != asserted appended_lsn.",
|
|
"file": "src/controller/testsuite/test_ha_role_lifecycle.c (fixture defect — OUT OF task 2.2 boundary)",
|
|
"root_cause": "persist_wal_async assigns hdr.lsn = current_lsn++ (entry takes the CURRENT value). The fixture comment assumes the next append takes current_lsn-1, which is off by one. To make the noop land at `appended_lsn`, the prime must be `current_lsn = appended_lsn`, not `appended_lsn + 1`.",
|
|
"fix": "Test-side fix (parent): set g_lc.persist.current_lsn = appended_lsn in lifecycle_cluster_setup. Production noop_lsn = current_lsn-1 (post-append) is correct per design §Promotion Rewrite / brief.",
|
|
"tags": [
|
|
"ha-single-leader-role",
|
|
"task-2.2",
|
|
"test-fixture",
|
|
"off-by-one",
|
|
"lsn",
|
|
"out-of-boundary"
|
|
],
|
|
"id": "bug-478",
|
|
"timestamp": "2026-06-13",
|
|
"last_seen": "2026-06-13",
|
|
"occurrences": 1,
|
|
"related_bugs": []
|
|
},
|
|
{
|
|
"id": "bug-479",
|
|
"timestamp": "2026-06-13T08:56:36.044Z",
|
|
"error_message": "Missing error handling in XCE_TESTING",
|
|
"file": "src/controller/testsuite/test_ha_role_lifecycle.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T08:56:36.044Z"
|
|
},
|
|
{
|
|
"id": "bug-480",
|
|
"timestamp": "2026-06-13T08:57:05.687Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/controller/testsuite/test_ha_role_lifecycle.c",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T08:57:05.687Z"
|
|
},
|
|
{
|
|
"id": "bug-481",
|
|
"timestamp": "2026-06-13T08:57:15.674Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_ha_role_lifecycle.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 5→7 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T08:57:15.674Z"
|
|
},
|
|
{
|
|
"id": "bug-482",
|
|
"timestamp": "2026-06-13T09:36:17.806Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/controller/testsuite/test_ha_start_election_async.c",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T09:36:17.806Z"
|
|
},
|
|
{
|
|
"id": "bug-483",
|
|
"timestamp": "2026-06-13T09:45:01.531Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/controller/testsuite/test_ha_role_lifecycle.c",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T09:45:01.531Z"
|
|
},
|
|
{
|
|
"id": "bug-484",
|
|
"timestamp": "2026-06-13T10:16:06.331Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/specs/ha-single-leader-role/tasks.md",
|
|
"root_cause": "Had `lifecycle_cluster_setup`",
|
|
"fix": "Changed to `ha_promote_to_primary`",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T10:16:06.331Z"
|
|
},
|
|
{
|
|
"id": "bug-485",
|
|
"timestamp": "2026-06-13T10:19:08.844Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "11 lines replaced/restructured",
|
|
"fix": "Rewrote 16→4 lines (11 removed) | Also: /* Task 5.2: After updating convergence tracking, ; * majority of standbys have converged and promote ",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-13T10:19:43.629Z"
|
|
},
|
|
{
|
|
"id": "bug-486",
|
|
"timestamp": "2026-06-13T10:22:20.811Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/meson.build",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 5→3 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"build"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T10:22:20.811Z"
|
|
},
|
|
{
|
|
"id": "bug-487",
|
|
"timestamp": "2026-06-13T10:22:24.129Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/controller_test.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 5→3 lines (2 removed) | Also: TEST(test_ha_evaluate_committing);; TEST(test_ha_repl_ack);",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-13T10:22:41.219Z"
|
|
},
|
|
{
|
|
"id": "bug-488",
|
|
"timestamp": "2026-06-13T10:25:04.643Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_ha_role.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 4→10 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T10:25:04.643Z"
|
|
},
|
|
{
|
|
"id": "bug-489",
|
|
"timestamp": "2026-06-13T11:41:32.142Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_ha_role.c",
|
|
"root_cause": "196 lines replaced/restructured",
|
|
"fix": "Rewrote 230→12 lines (196 removed) | Also: /* ── Task 5.3: committing timeout default value a; * Requirements: 6.4, 7.5 (ha-repl-hardening)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-13T11:42:05.841Z"
|
|
},
|
|
{
|
|
"id": "bug-490",
|
|
"timestamp": "2026-06-13T11:42:51.597Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_ha_rdhup_integration.c",
|
|
"root_cause": "34 lines replaced/restructured",
|
|
"fix": "Rewrote 48→9 lines (34 removed) | Also: * Test 4: 3-node cluster RDHUP — two acks needed, ; * | Also: /* Drive to CTRL_PRIMARY via ack */; ha_repl_ack_received(&c.ha, &c); | Also: RUN_TEST(test_rdhup_committing_to_primary_on_ack);; RUN_TEST(test_rdhup_3node_one_ack_promotes);",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 4,
|
|
"last_seen": "2026-06-13T11:43:47.811Z"
|
|
},
|
|
{
|
|
"id": "bug-491",
|
|
"timestamp": "2026-06-13T11:44:14.184Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_ha_connection_reuse.c",
|
|
"root_cause": "26 lines replaced/restructured",
|
|
"fix": "Rewrote 35→8 lines (26 removed) | Also: /* ── Test 10 (Task 7.3): promoted connection carr; *",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-13T11:44:45.523Z"
|
|
},
|
|
{
|
|
"id": "bug-492",
|
|
"timestamp": "2026-06-13T12:04:59.483Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": ".kiro/specs/ha-single-leader-role/tasks.md",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T12:04:59.483Z"
|
|
},
|
|
{
|
|
"id": "bug-493",
|
|
"timestamp": "2026-06-13T12:08:04.621Z",
|
|
"error_message": "Wrong condition in logic",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Condition was: if (role == CTRL_PRIMARY || role == CTRL_PRIMARY_COMMI)",
|
|
"fix": "Changed to: if (role == CTRL_PRIMARY)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"logic-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 4,
|
|
"last_seen": "2026-06-13T12:09:17.994Z"
|
|
},
|
|
{
|
|
"id": "bug-494",
|
|
"timestamp": "2026-06-13T12:10:08.938Z",
|
|
"error_message": "Wrong reference: CTRL_PRIMARY_COMMITTING should be CTRL_PRIMARY",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Used \"CTRL_PRIMARY_COMMITTING\" instead of \"CTRL_PRIMARY\"",
|
|
"fix": "Changed CTRL_PRIMARY_COMMITTING → CTRL_PRIMARY",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T12:10:08.938Z"
|
|
},
|
|
{
|
|
"id": "bug-495",
|
|
"timestamp": "2026-06-13T13:04:41.816Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_ha_role.c",
|
|
"root_cause": "21 lines replaced/restructured",
|
|
"fix": "Rewrote 24→5 lines (21 removed) | Also: /* Task 5.3: committing timeout config-default kno; * survives until task 5.2; the degraded-mode commi",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-13T13:05:15.532Z"
|
|
},
|
|
{
|
|
"id": "bug-496",
|
|
"timestamp": "2026-06-13T13:07:42.791Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/testsuite/test_ha_role_lifecycle.c",
|
|
"root_cause": "Had \"winning election must land DIRECTLY in CTRL_PRIMA",
|
|
"fix": "Changed to \"winning election must land DIRECTLY in CTRL_PRIMA",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T13:07:42.791Z"
|
|
},
|
|
{
|
|
"id": "bug-497",
|
|
"timestamp": "2026-06-13T13:10:05.452Z",
|
|
"error_message": "Wrong reference: CTRL_PRIMARY_COMMITTING should be CTRL_PRIMARY",
|
|
"file": "src/controller/testsuite/test_ha_connection_reuse.c",
|
|
"root_cause": "Used \"CTRL_PRIMARY_COMMITTING\" instead of \"CTRL_PRIMARY\"",
|
|
"fix": "Changed CTRL_PRIMARY_COMMITTING → CTRL_PRIMARY",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T13:10:05.452Z"
|
|
},
|
|
{
|
|
"id": "bug-498",
|
|
"timestamp": "2026-06-13T13:10:16.164Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/testsuite/test_ha_connection_reuse.c",
|
|
"root_cause": "Had \"err_handler: ep must be removed from standby_endp",
|
|
"fix": "Changed to \"err_handler: ep must be removed from standby_endp",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T13:10:16.164Z"
|
|
},
|
|
{
|
|
"id": "bug-499",
|
|
"timestamp": "2026-06-13T13:14:03.917Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/testsuite/test_ha_startup.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T13:14:03.917Z"
|
|
},
|
|
{
|
|
"id": "bug-500",
|
|
"timestamp": "2026-06-13T13:14:11.496Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/testsuite/test_ha_startup.c",
|
|
"root_cause": "Had \"test_dispatch_gate_committing_allows_repl_ops: PA",
|
|
"fix": "Changed to \"test_dispatch_gate_primary_no_quorum_allows_repl_",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T13:14:11.496Z"
|
|
},
|
|
{
|
|
"id": "bug-501",
|
|
"timestamp": "2026-06-13T13:15:33.777Z",
|
|
"error_message": "Wrong reference: test_nonblocking_single_node_election_enters_committing should be test_nonblocking_single_node_election_enters_primary_directly",
|
|
"file": "src/controller/testsuite/test_ha_startup.c",
|
|
"root_cause": "Used \"test_nonblocking_single_node_election_enters_committing\" instead of \"test_nonblocking_single_node_election_enters_primary_directly\"",
|
|
"fix": "Changed test_nonblocking_single_node_election_enters_committing → test_nonblocking_single_node_election_enters_primary_directly",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T13:15:33.777Z"
|
|
},
|
|
{
|
|
"id": "bug-502",
|
|
"timestamp": "2026-06-13T13:16:26.379Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_ha_rdhup_integration.c",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 3→4 lines (3 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T13:16:26.379Z"
|
|
},
|
|
{
|
|
"id": "bug-503",
|
|
"timestamp": "2026-06-13T13:30:00.000Z",
|
|
"error_message": "test_dispatch_gate_primary_no_quorum_denies_job_ops: Expected -10013 Was 0 (jobsub allowed, expected -XCE_ERR_NOT_READY)",
|
|
"file": "src/controller/testsuite/test_ha_startup.c",
|
|
"root_cause": "Retargeting the dispatch-gate test from CTRL_PRIMARY_COMMITTING to CTRL_PRIMARY (ha-single-leader-role task 5.1) changed gate semantics: the deleted COMMITTING branch denied job ops UNCONDITIONALLY, but the CTRL_PRIMARY branch only denies job ops when ha_has_write_quorum() is false. ha_init leaves n_peers=0, so ha_has_write_quorum returns true (single-node = self-majority, ha.c:1437) and jobsub was ALLOWED (rc=0). A blind role swap does not reproduce the original deny.",
|
|
"fix": "Set ha.n_peers = 2 in both retargeted dispatch-gate tests so a multi-node primary with zero connected standbys genuinely lacks write quorum (connected 0 < n_peers/2=1), making the universal commit barrier deny job ops with -XCE_ERR_NOT_READY while still permitting replication ops.",
|
|
"tags": [
|
|
"ha-single-leader-role",
|
|
"dispatch-gate",
|
|
"write-quorum",
|
|
"test-retarget",
|
|
"commit-barrier",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T13:30:00.000Z"
|
|
},
|
|
{
|
|
"id": "bug-504",
|
|
"timestamp": "2026-06-13T14:01:26.000Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 4→3 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T14:01:26.000Z"
|
|
},
|
|
{
|
|
"id": "bug-505",
|
|
"timestamp": "2026-06-13T14:01:32.553Z",
|
|
"error_message": "Wrong reference: uint32_t should be ha_config_t",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "Used \"uint32_t\" instead of \"ha_config_t\"",
|
|
"fix": "Changed uint32_t → ha_config_t",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T14:01:32.553Z"
|
|
},
|
|
{
|
|
"id": "bug-506",
|
|
"timestamp": "2026-06-13T14:06:15.280Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_ha_role.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 7→4 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T14:06:15.280Z"
|
|
},
|
|
{
|
|
"id": "bug-507",
|
|
"timestamp": "2026-06-13T14:43:54.194Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/steering/ha-async-io.md",
|
|
"root_cause": "Had `CTRL_PRIMARY_COMMITTING → CTRL_PRIMARY`",
|
|
"fix": "Changed to 's own-term commit rule (§5.4.2): an election winn",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T14:43:54.194Z"
|
|
},
|
|
{
|
|
"id": "bug-508",
|
|
"timestamp": "2026-06-13T14:54:21.781Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".claude/skills/xce-deploy-ha/SKILL.md",
|
|
"root_cause": "Had `→ CTRL_PRIMARY_COMMITTING`",
|
|
"fix": "Changed to `HA FSM (raft): → CTRL_PRIMARY (term=...)`",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-13T14:54:21.781Z"
|
|
},
|
|
{
|
|
"id": "bug-509",
|
|
"timestamp": "2026-06-13T15:31:21.740Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "../../../../../claude/.claude/projects/-home-rshen-projects-xce-xce/memory/project_ha_consistency_invariants.md",
|
|
"root_cause": "Had \"XCE HA Raft+CP umbrella — sub-specs 1&2 of 4 IMPL",
|
|
"fix": "Changed to \"XCE HA Raft+CP umbrella — sub-specs 1,2,3 of 4 IM",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-13T15:31:40.089Z"
|
|
},
|
|
{
|
|
"id": "bug-510",
|
|
"timestamp": "2026-06-14T00:30:31.077Z",
|
|
"error_message": "Wrong reference: stdint should be stdbool",
|
|
"file": "src/controller/include/cluster.h",
|
|
"root_cause": "Used \"stdint\" instead of \"stdbool\"",
|
|
"fix": "Changed stdint → stdbool",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T00:30:31.077Z"
|
|
},
|
|
{
|
|
"id": "bug-511",
|
|
"timestamp": "2026-06-14T00:34:17.543Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_egress_filter.c",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 7→17 lines (4 removed) | Also: /* ── Cross-module link stubs (dataex.c/misc.c/sch; /* clang-format off */",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-14T00:35:27.905Z"
|
|
},
|
|
{
|
|
"id": "bug-512",
|
|
"timestamp": "2026-06-14T00:34:38.745Z",
|
|
"error_message": "Wrong reference: xlist_destroy should be xlist_fini",
|
|
"file": "src/controller/testsuite/test_egress_filter.c",
|
|
"root_cause": "Used \"xlist_destroy\" instead of \"xlist_fini\"",
|
|
"fix": "Changed xlist_destroy → xlist_fini",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T00:34:38.745Z"
|
|
},
|
|
{
|
|
"id": "bug-513",
|
|
"timestamp": "2026-06-14T00:35:13.711Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/meson.build",
|
|
"root_cause": "Had 'commit.c'",
|
|
"fix": "Changed to 'testsuite/test_egress_filter.c'",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"build"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T00:35:13.711Z"
|
|
},
|
|
{
|
|
"id": "bug-514",
|
|
"timestamp": "2026-06-14T00:37:31.926Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/testsuite/test_egress_filter.c",
|
|
"root_cause": "No early return/throw for edge case: iter_make(&it, c->jobmgr",
|
|
"fix": "Added guard clause: if (iter_make(&it, c->jobmgr)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T00:37:31.926Z"
|
|
},
|
|
{
|
|
"id": "bug-515",
|
|
"timestamp": "2026-06-14T00:45:06.450Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_egress_filter.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 12→17 lines (2 removed) | Also: jdef.jobid = 202;; jdef.state = JOB_STAT_PEND;",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-14T00:46:18.449Z"
|
|
},
|
|
{
|
|
"id": "bug-516",
|
|
"timestamp": "2026-06-14T01:46:09.600Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/controller/persist.c",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T01:46:09.600Z"
|
|
},
|
|
{
|
|
"id": "bug-517",
|
|
"timestamp": "2026-06-14T01:46:53.301Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/persist.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 4→6 lines (2 removed) | Also: extern int restore_job(cluster_t* c, uint64_t jobi; extern int restore_job_old_unused(cluster_t* c, ui",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-14T01:47:22.530Z"
|
|
},
|
|
{
|
|
"id": "bug-518",
|
|
"timestamp": "2026-06-14T01:50:24.429Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/sched.c",
|
|
"root_cause": "No early return/throw for edge case: l->count > 0",
|
|
"fix": "Added guard clause: if (l->count > 0)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T01:50:24.429Z"
|
|
},
|
|
{
|
|
"id": "bug-519",
|
|
"timestamp": "2026-06-14T01:52:56.833Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/testsuite/test_egress_filter.c",
|
|
"root_cause": "Had \"\\n>> commit-gated scheduler egress tests (RED, ta",
|
|
"fix": "Changed to \"\\n>> commit-gated scheduler egress tests (GREEN, ",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T01:52:56.833Z"
|
|
},
|
|
{
|
|
"id": "bug-520",
|
|
"timestamp": "2026-06-14T03:52:21.920Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "8 lines replaced/restructured",
|
|
"fix": "Rewrote 9→4 lines (8 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T03:52:21.920Z"
|
|
},
|
|
{
|
|
"id": "bug-521",
|
|
"timestamp": "2026-06-14T03:55:55.380Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/testsuite/test_demotion_convergence.c",
|
|
"root_cause": "Had \"commit.h\"",
|
|
"fix": "Changed to \"cluster.h\"",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-14T03:58:21.222Z"
|
|
},
|
|
{
|
|
"id": "bug-522",
|
|
"timestamp": "2026-06-14T03:57:42.389Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/include/cluster.h",
|
|
"root_cause": "8 lines replaced/restructured",
|
|
"fix": "Rewrote 12→3 lines (8 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T03:57:42.389Z"
|
|
},
|
|
{
|
|
"id": "bug-523",
|
|
"timestamp": "2026-06-14T04:21:18.071Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha_convergence.c",
|
|
"root_cause": "No early return/throw for edge case: ctx == NULL || ctx->c == NULL",
|
|
"fix": "Added guard clause: if (ctx == NULL || ctx->c == NULL)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T04:21:18.071Z"
|
|
},
|
|
{
|
|
"id": "bug-524",
|
|
"timestamp": "2026-06-14T04:31:35.539Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_demotion_convergence.c",
|
|
"root_cause": "11 lines replaced/restructured",
|
|
"fix": "Rewrote 16→34 lines (11 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T04:31:35.539Z"
|
|
},
|
|
{
|
|
"id": "bug-343",
|
|
"timestamp": "2026-06-14T04:34:32+00:00",
|
|
"error_message": "AddressSanitizer: heap-use-after-free in ha_rejoin_reconcile_fn (ha_convergence.c:236) during test_rejoin_second_call_no_second_restart",
|
|
"file": "src/controller/testsuite/test_demotion_convergence.c",
|
|
"root_cause": "dc_run_pending_task peeked tasks.head and ran entry(args) WITHOUT dequeuing. The once-guard correctly makes the 2nd ha_rejoin_reconcile schedule no new task, so head still pointed at the first (already-run) task whose body had freed its heap ctx (args). The 2nd dc_run_pending_task re-ran that task on the freed ctx. The convergence task bodies free their own args (production delaymgr killer frees only the delay_task_t node, never args; production execv never re-runs a one-shot).",
|
|
"fix": "Made dc_run_pending_task DEQUEUE via ordq_get(&mgr->tasks, NULL), run the body, then free(t)/free(it) — mirroring the real delaymgr worker (ordq_get -> runner_fn -> FREEUP for runcount==1). A 2nd call now returns DC_NO_TASK as production would. Production ha_rejoin_reconcile/ha_rejoin_reconcile_fn unchanged (the body-frees-ctx pattern is correct).",
|
|
"tags": [
|
|
"asan",
|
|
"use-after-free",
|
|
"ha",
|
|
"rejoin",
|
|
"delaymgr",
|
|
"test-harness",
|
|
"ha-convergence-recovery",
|
|
"task-3.2"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T04:34:32+00:00"
|
|
},
|
|
{
|
|
"id": "bug-526",
|
|
"timestamp": "2026-06-14T04:52:58.813Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/specs/ha-convergence-recovery/tasks.md",
|
|
"root_cause": "Had \"No space left on device\"",
|
|
"fix": "Changed to `/tmp/xce_*`",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T04:52:58.813Z"
|
|
},
|
|
{
|
|
"id": "bug-527",
|
|
"timestamp": "2026-06-14T04:57:22.178Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block | Also: /*; * ha_walack_continuation_for_test: test-only entry point for",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-14T04:57:42.146Z"
|
|
},
|
|
{
|
|
"id": "bug-528",
|
|
"timestamp": "2026-06-14T04:57:59.221Z",
|
|
"error_message": "Missing error handling in XCE_TESTING",
|
|
"file": "src/controller/ha_convergence.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T04:57:59.221Z"
|
|
},
|
|
{
|
|
"id": "bug-529",
|
|
"timestamp": "2026-06-14T05:23:00.737Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T05:23:00.737Z"
|
|
},
|
|
{
|
|
"id": "bug-530",
|
|
"timestamp": "2026-06-14T05:24:33.033Z",
|
|
"error_message": "Missing error handling in XCE_TESTING",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T05:24:33.033Z"
|
|
},
|
|
{
|
|
"id": "bug-531",
|
|
"timestamp": "2026-06-14T05:25:04.524Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T05:25:04.524Z"
|
|
},
|
|
{
|
|
"id": "bug-532",
|
|
"timestamp": "2026-06-14T06:12:36.513Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha_convergence.c",
|
|
"root_cause": "No early return/throw for edge case: ha == NULL",
|
|
"fix": "Added guard clause: if (ha == NULL)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T06:12:36.513Z"
|
|
},
|
|
{
|
|
"id": "bug-533",
|
|
"timestamp": "2026-06-14T06:37:35.904Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/testsuite/test_convergence_verification.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block | Also: printf(\"\\n>> Regression pins: fan-out / snapshot fallback / ; \"re-inclusion (task 6.1 — PASS against current code)\\n\\n\"); | Also: /* ── Fan-out counting send-hook (task 6.1 (a)/(d), umbrella; * repl_broadcast routes each enqueue through repl_broadcast_",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 3,
|
|
"last_seen": "2026-06-14T06:40:03.882Z"
|
|
},
|
|
{
|
|
"id": "bug-534",
|
|
"timestamp": "2026-06-14T06:38:38.792Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/testsuite/test_convergence_verification.c",
|
|
"root_cause": "Had \"delay.h\"",
|
|
"fix": "Changed to \"controller.capnp.h\"",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T06:38:38.792Z"
|
|
},
|
|
{
|
|
"id": "bug-535",
|
|
"timestamp": "2026-06-14T06:39:49.073Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_convergence_verification.c",
|
|
"root_cause": "22 lines replaced/restructured",
|
|
"fix": "Rewrote 33→3 lines (22 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T06:39:49.073Z"
|
|
},
|
|
{
|
|
"id": "bug-536",
|
|
"timestamp": "2026-06-14T07:56:01.819Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/controller/testsuite/test_ha_rdhup_integration.c",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T07:56:01.819Z"
|
|
},
|
|
{
|
|
"id": "bug-537",
|
|
"timestamp": "2026-06-14T08:02:40.832Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T08:02:40.832Z"
|
|
},
|
|
{
|
|
"id": "bug-538",
|
|
"timestamp": "2026-06-14",
|
|
"error_message": "config-less controller (my_config_tag==0) became PRIMARY after RDHUP and pushed empty config, breaking replication on a live 3-node cluster",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "ha_on_primary_ctrl_fd_rdhup did not apply the no-config voter-only guard that ha_start_election_async has; after primary RDHUP it set CTRL_ELECTING, allocated elect_ctx and called raft_on_leader_lost even for tag=0 nodes. Two tag=0 nodes granted each other (freshness gate only denies LOWER tag; tag0==tag0 granted), electing a config-less primary.",
|
|
"fix": "Added an election-safety guard in ha_on_primary_ctrl_fd_rdhup after the WAL-truncate block and before elect_ctx alloc/hook/raft_on_leader_lost: if my_config_tag==0 && candidates_count>1, log + set role=CTRL_STANDBY and return (stays passive voter). Mirrors ha_start_election_async. Single-node (n_peers==1) unaffected.",
|
|
"tags": [
|
|
"ha",
|
|
"election-safety",
|
|
"rdhup",
|
|
"config-bootstrap",
|
|
"Req2.8",
|
|
"Req10.5",
|
|
"voter-only-guard"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14"
|
|
},
|
|
{
|
|
"id": "bug-539",
|
|
"timestamp": "2026-06-14T08:35:02.456Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/testsuite/test_ha_vote_gate.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T08:35:02.456Z"
|
|
},
|
|
{
|
|
"id": "bug-540",
|
|
"timestamp": "2026-06-14T08:42:03.810Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "6 lines replaced/restructured",
|
|
"fix": "Rewrote 12→17 lines (6 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T08:42:03.810Z"
|
|
},
|
|
{
|
|
"id": "bug-541",
|
|
"timestamp": "2026-06-14T08:42:17.355Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 8→16 lines (3 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T08:42:17.355Z"
|
|
},
|
|
{
|
|
"id": "bug-542",
|
|
"timestamp": "2026-06-14T09:29:31.490Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/meson.build",
|
|
"root_cause": "Had 'commit.c'",
|
|
"fix": "Changed to 'testsuite/test_coldstart_lsn0.c'",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"build"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T09:29:31.490Z"
|
|
},
|
|
{
|
|
"id": "bug-543",
|
|
"timestamp": "2026-06-14T09:36:36.967406Z",
|
|
"error_message": "WAL HOLE on cold-start catch-up: a fresh EMPTY standby (standby_lsn=0) catching up to a primary holding [0,1] receives ONLY lsn 1, missing lsn 0",
|
|
"file": "src/controller/config_repl.c",
|
|
"root_cause": "ha_stream_wal_to_standby filter `if (hdr.lsn > standby_lsn)` excludes lsn 0 when standby_lsn==0 (0>0 is false). standby_lsn=0 is ambiguous: it means BOTH 'empty standby (applied nothing)' AND 'standby has applied lsn 0'. The streamer cannot distinguish, computes start_lsn=standby_lsn+1=1, and drops the genuine lsn-0 entry. Only non-cosmetic because lsn-0 entries can be REAL data (first-ever WAL entry of a fresh cluster is lsn 0 from a real write OR the promotion NOOP).",
|
|
"fix": "FIXED via reserve-lsn-0: persist_init() now sets current_lsn=1 on a fresh store (persist.c), so lsn 0 is reserved as the none/empty sentinel and the first-ever WAL entry (promotion NOOP) is lsn 1. The streamer filter hdr.lsn>standby_lsn now yields 1>0=true for an empty standby (standby_lsn=0), streaming the first entry — no hole. No streamer change needed; the reserved base makes the existing filter correct. Also fixes the uncommittable cold-start NOOP (now lsn 1, committable 0->1) and the own-term writable_lsn gate (now 1, effective). Test: test_coldstart_lsn0.c H1-H4 all green incl H4 no-hole. Base-shift fallout fixed in test_commit_engine, test_commit_barrier_rollout, test_commit_barrier_reply, test_p2_integration, test_egress_filter (removed now-redundant priming appends / wired engine).",
|
|
"tags": [
|
|
"ha",
|
|
"replication",
|
|
"wal",
|
|
"cold-start",
|
|
"lsn-0",
|
|
"catch-up",
|
|
"correctness",
|
|
"off-by-one"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T10:00:00Z"
|
|
},
|
|
{
|
|
"id": "bug-544",
|
|
"timestamp": "2026-06-14T09:51:22.861Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_egress_filter.c",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 7→9 lines (3 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T09:51:22.861Z"
|
|
},
|
|
{
|
|
"id": "bug-545",
|
|
"timestamp": "2026-06-14T09:51:50.354Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_p3_hardening.c",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 4→6 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T09:51:50.354Z"
|
|
},
|
|
{
|
|
"id": "bug-546",
|
|
"timestamp": "2026-06-14T10:03:46.645Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_commit_barrier_reply.c",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 8→9 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T10:03:46.645Z"
|
|
},
|
|
{
|
|
"id": "bug-547",
|
|
"timestamp": "2026-06-14T10:56:37.412Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_convergence_verification.c",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 32→111 lines (3 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T10:56:37.412Z"
|
|
},
|
|
{
|
|
"id": "bug-548",
|
|
"timestamp": "2026-06-14T10:58:04.523Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.h",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 8→15 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T10:58:04.523Z"
|
|
},
|
|
{
|
|
"id": "bug-549",
|
|
"timestamp": "2026-06-14T10:58:59.601Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "4 lines replaced/restructured",
|
|
"fix": "Rewrote 30→38 lines (4 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T10:58:59.601Z"
|
|
},
|
|
{
|
|
"id": "bug-550",
|
|
"timestamp": "2026-06-14T11:38:09.614Z",
|
|
"error_message": "Wrong reference: test_pin_dispatch_gate_degraded_allowlist should be test_empty_standby_fresh_cluster_streams_not_snapshot",
|
|
"file": "src/controller/testsuite/test_convergence_verification.c",
|
|
"root_cause": "Used \"test_pin_dispatch_gate_degraded_allowlist\" instead of \"test_empty_standby_fresh_cluster_streams_not_snapshot\"",
|
|
"fix": "Changed test_pin_dispatch_gate_degraded_allowlist → test_empty_standby_fresh_cluster_streams_not_snapshot",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T11:38:09.614Z"
|
|
},
|
|
{
|
|
"id": "bug-551",
|
|
"timestamp": "2026-06-14T11:45:02.411Z",
|
|
"error_message": "Wrong condition in logic",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Condition was: if (standby_lsn < oldest_wal_lsn)",
|
|
"fix": "Changed to: if (standby_lsn + 1 < oldest_wal_lsn)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"logic-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T11:45:02.411Z"
|
|
},
|
|
{
|
|
"id": "bug-552",
|
|
"timestamp": "2026-06-14T11:45:34.585Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_convergence_verification.c",
|
|
"root_cause": "18 lines replaced/restructured",
|
|
"fix": "Rewrote 35→54 lines (18 removed) | Also: /* HA_REPL_SEND_SNAPSHOT: standby_lsn predates the; \"heartbeat decision: standby_lsn below oldest_wal_",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-14T11:45:52.313Z"
|
|
},
|
|
{
|
|
"id": "bug-553",
|
|
"timestamp": "2026-06-14T11:47:05.280Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/repl.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 5→10 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T11:47:05.280Z"
|
|
},
|
|
{
|
|
"id": "bug-554",
|
|
"timestamp": "2026-06-14T11:47:21.564Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_p2_integration.c",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 5→20 lines (3 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T11:47:21.564Z"
|
|
},
|
|
{
|
|
"id": "bug-555",
|
|
"timestamp": "2026-06-14T12:23:52.351Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/testsuite/test_repl_apply.c",
|
|
"root_cause": "No early return/throw for edge case: !p",
|
|
"fix": "Added guard clause: if (!p)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T12:23:52.351Z"
|
|
},
|
|
{
|
|
"id": "bug-556",
|
|
"timestamp": "2026-06-14T12:25:37.723Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/include/persist.h",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T12:25:37.723Z"
|
|
},
|
|
{
|
|
"id": "bug-557",
|
|
"timestamp": "2026-06-14T12:26:04.137Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/persist.c",
|
|
"root_cause": "No early return/throw for edge case: !p",
|
|
"fix": "Added guard clause: if (!p)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T12:26:04.137Z"
|
|
},
|
|
{
|
|
"id": "bug-558",
|
|
"timestamp": "2026-06-14T14:03:21.674Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test.c",
|
|
"root_cause": "5 lines replaced/restructured",
|
|
"fix": "Rewrote 7→9 lines (5 removed) | Also: config.nmasters = 1;; config.masters[0] = get_setting(\"host\");",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-14T14:03:42.165Z"
|
|
},
|
|
{
|
|
"id": "bug-559",
|
|
"timestamp": "2026-06-14T14:30:38.316Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 4→14 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T14:30:38.316Z"
|
|
},
|
|
{
|
|
"id": "bug-560",
|
|
"timestamp": "2026-06-14T19:54:55.428Z",
|
|
"error_message": "Wrong reference: myconf_t should be uint32_t",
|
|
"file": "src/include/myconf.h",
|
|
"root_cause": "Used \"myconf_t\" instead of \"uint32_t\"",
|
|
"fix": "Changed myconf_t → uint32_t",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T19:54:55.428Z"
|
|
},
|
|
{
|
|
"id": "bug-561",
|
|
"timestamp": "2026-06-14T20:05:48.755409",
|
|
"error_message": "jobsub intermittent -ETIMEDOUT \"Connection timed out\": commit: WAIT deadline expired without commit (timeout_ms=50)",
|
|
"file": "src/include/config.h",
|
|
"root_cause": "DEFAULT_SYNC_TIMEOUT_MS=50 too tight for durable sync majority replication (each standby fdatasyncs before ACK); not configurable (controller always used persist_config_defaults).",
|
|
"fix": "Raised DEFAULT_SYNC_TIMEOUT_MS 50->500; added --sync-timeout-ms CLI flag plumbed arguments->myconf.sync_timeout_ms->pcfg.sync_timeout_ms (0=use default) in main.c/myconf.h/cluster.c.",
|
|
"tags": [
|
|
"ha",
|
|
"commit-barrier",
|
|
"timeout",
|
|
"replication",
|
|
"jobsub",
|
|
"config"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T20:05:48.755409"
|
|
},
|
|
{
|
|
"id": "bug-562",
|
|
"timestamp": "2026-06-14T23:55:00Z",
|
|
"error_message": "AddressSanitizer: heap-use-after-free in encode_RequestReply / strlen (lib/controller.capnp.c:13168) on ctrl-2 startup, via xce_reply->xce_encode from OPCode_nop handler (cluster.c:307). Also: job submission succeeds but joblist shows no jobs.",
|
|
"file": "src/lib/request.c",
|
|
"root_cause": "init_reply_by_req() only set seq+opcode, leaving the rest of the stack-declared xce_reply_t uninitialized. The Cap'n-C generated encode_RequestReply reads the common trailer field redirect_host UNCONDITIONALLY (gated only on != NULL), so a garbage stack pointer in reply.redirect_host was strlen'd. The garbage aliased a 4KB capnp segment freed moments earlier by the WAL-ack reply encode on the same thread -> UAF. Handlers that build a reply via init_reply_by_req and only set status/data_which/data (e.g. the NOP/state-report path) never cleared redirect_host. Empty joblist is downstream: ctrl-2 crash-looping on this UAF destabilizes replication/quorum, so a get request that fails over to the not-caught-up standby reads an empty jobmgr (standby serves get from its own committed state).",
|
|
"fix": "memset(reply,0,sizeof(*reply)) at the top of init_reply_by_req() (src/lib/request.c) before setting seq/opcode. All 30+ reply sites follow declare->init->populate, so zeroing in the shared initializer fixes the whole class (redirect_host/redirect_port/status/data garbage) at the source. Added regression test test_init_reply_by_req_zeroes_reply in src/lib/testsuite/test_request.c (poisons reply with 0xFF, asserts redirect_host==NULL etc).",
|
|
"tags": [
|
|
"use-after-free",
|
|
"asan",
|
|
"capnp",
|
|
"encode_RequestReply",
|
|
"redirect_host",
|
|
"init_reply_by_req",
|
|
"ha",
|
|
"joblist",
|
|
"uninitialized-stack"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-14T23:55:00Z"
|
|
},
|
|
{
|
|
"id": "bug-563",
|
|
"timestamp": "2026-06-15T09:16:53.679025Z",
|
|
"error_message": "jobsub returns ok (status 0, jobid) but joblist AND jobinfo show the job absent on a stable single primary (ctrl-1); reslist works.",
|
|
"file": "src/lib/request.c",
|
|
"root_cause": "SOLVED (reproduced locally via /xce-build + 3-node deploy-ha, ASAN). cluster_start() — the ONLY place that sets c->running=1 — is ORPHANED (zero callers; grep confirms). The HA startup path (myapp_run) starts iomgr/vtaskmgr/delaymgr/persist_start itself but never calls cluster_start, so c->running stays 0 (calloc default) on the primary. check_controller() (the streaming gate passed to xce_reply_get for joblist/workerlist) returns -EINVAL when !c->running; xce_reply_get then sets nc=0 (chunk count), shipping an EMPTY list to the client even though collect_jobs/key_find found the job. reslist passes checkf=NULL so it was immune. DIAG proof: 'reply_get send: table=2 pos=0 nc=0 nrows=1 checkstatus=-22' (pre-fix) -> 'nc=1 ... checkstatus=1' (post-fix). Single-node/legacy cluster_init path called cluster_start, which is why non-replicated worked.",
|
|
"fix": "Set c->running=1 at the TOP of cluster_run() (src/controller/cluster.c), symmetric with the existing c->running=0 on shutdown — the orphaned cluster_start() used to set it. c->running is a liveness/shutdown flag: check_controller() is polled PER CHUNK inside xce_reply_get()'s streaming loop so a long multi-chunk fetch (e.g. thousands of jobs) ABORTS mid-stream (nc=0) if a shutdown request arrives during it. The bug: running started 0 and was never set under HA, so the gate fired on every reply, not just during shutdown. Fix restores running=1 for the run-loop lifetime; the shutdown abort path (running=0 when cluster_run's cbuf_get loop breaks on the stop signal) is unchanged. Verified E2E on a local 3-node deploy-ha (ASAN): jobs now appear in joblist; DIAG showed checkstatus/nc flip -22/0 -> 1/1. Final fix is in cluster_run (not myapp_run — moved there so the 1<->0 lifecycle is co-located in the function that receives the shutdown signal).",
|
|
"tags": [
|
|
"joblist",
|
|
"workerlist",
|
|
"jobsub",
|
|
"ha",
|
|
"check_controller",
|
|
"c-running",
|
|
"cluster_start",
|
|
"orphaned-function",
|
|
"xce_reply_get",
|
|
"SOLVED"
|
|
],
|
|
"related_bugs": [
|
|
"bug-562"
|
|
],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-15T09:16:53.679025Z"
|
|
},
|
|
{
|
|
"id": "bug-564",
|
|
"timestamp": "2026-06-15T09:50:02.164Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/opget.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 6→3 lines (2 removed) | Also: {; extern uint64_t g_diag_last_jobid;",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-15T09:50:10.236Z"
|
|
},
|
|
{
|
|
"id": "bug-565",
|
|
"timestamp": "2026-06-15T10:46:08.441Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/testsuite/test_ha_rdhup_integration.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-15T10:46:08.441Z"
|
|
},
|
|
{
|
|
"id": "bug-566",
|
|
"timestamp": "2026-06-15T10:46:31.815Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-15T10:46:31.815Z"
|
|
},
|
|
{
|
|
"id": "bug-567",
|
|
"timestamp": "2026-06-15T10:46:42.282Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 5→4 lines (3 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-15T10:46:42.282Z"
|
|
},
|
|
{
|
|
"id": "bug-339",
|
|
"timestamp": "2026-06-15T11:00:00.000Z",
|
|
"error_message": "After killing the primary in a 3-node controller HA cluster, the two surviving controllers enter an infinite election loop: both only ever raft_cb_become_follower (never become_leader), terms climb in lockstep (4..23), RDHUP -> CTRL_ELECTING -> CTRL_STANDBY repeats forever.",
|
|
"file": "src/controller/ha.c, src/controller/myapp.c, src/controller/testsuite/test_ha_rdhup_integration.c",
|
|
"root_cause": "LSN-source asymmetry between candidate-advertised LSN and voter freshness floor, specific to the RDHUP failover election path. ha_on_primary_ctrl_fd_rdhup advertised c->persist.committed_lsn as the RequestVote last_log_lsn, but a STANDBY never advances persist.committed_lsn (only the primary's commit engine writes it at persist.c:1192). Standbys advance applied_lsn (ha_apply_wal_catchup_entry) and last_known_committed_lsn (heartbeat replies). The voter-side freshness floor (cluster.c OPCode_requestVote) is max(applied_lsn, last_known_committed_lsn) via ha_vote_self_freshness. So once a standby applied any WAL beyond its last snapshot, every surviving standby advertised a stale-low LSN (e.g. 0) while each peer computed a HIGH floor (e.g. 10); the freshness gate cand_lsn < my_lsn tripped on BOTH sides, each denied the other's vote, neither reached quorum (2 of 3), each election timed out -> become_follower -> 10s liveness timeout -> RDHUP -> re-elect at term+1. The boot path (myapp.c:217) already advertised applied_lsn, so cold-boot election worked; only the RDHUP failover path was inconsistent.",
|
|
"fix": "In ha_on_primary_ctrl_fd_rdhup, compute candidate freshness ONCE via ha_vote_self_freshness(ha, config_version_tag, applied_lsn, &cand_tag, &cand_lsn) right after ha->raft_c=c, and use cand_tag/cand_lsn for BOTH the elect_ctx (votes[0].my_tag/my_lsn + self_tag/self_lsn) and the XCE_TESTING ha_rdhup_election_hook args. This makes candidate-advertised LSN identical to the voter-side floor, so for any two nodes A,B: A grants B iff floor_B >= floor_A -> the freshest node is always granted by every peer; equal-floor ties are broken by raft priority delay. Regression test added: test_rdhup_candidate_advertises_freshness_floor_not_stale_committed (applied/learned=10, persist.committed=0 -> asserts advertised my_lsn==10). RED (Was 0) -> GREEN verified. Follow-up: boot election path (myapp.c) also routed through ha_vote_self_freshness (was raw applied_lsn) so both election paths are symmetric with the voter floor.",
|
|
"tags": [
|
|
"ha",
|
|
"election",
|
|
"raft",
|
|
"rdhup",
|
|
"failover",
|
|
"freshness-gate",
|
|
"committed_lsn",
|
|
"applied_lsn",
|
|
"split-vote",
|
|
"infinite-loop"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-15T11:00:00.000Z"
|
|
},
|
|
{
|
|
"id": "bug-569",
|
|
"timestamp": "2026-06-15T10:58:35.588Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/myapp.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 3→11 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-15T10:58:35.588Z"
|
|
},
|
|
{
|
|
"id": "bug-570",
|
|
"timestamp": "2026-06-15T11:10:10.553Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/steering/product.md",
|
|
"root_cause": "Had `raft.c`",
|
|
"fix": "Changed to `src/lib/raft/`",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-15T11:10:10.553Z"
|
|
},
|
|
{
|
|
"id": "bug-571",
|
|
"timestamp": "2026-06-15T11:10:19.238Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/steering/product.md",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 4→7 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-15T11:10:19.238Z"
|
|
},
|
|
{
|
|
"id": "bug-572",
|
|
"timestamp": "2026-06-15T11:10:26.312Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/steering/tech.md",
|
|
"root_cause": "Had `raft.c`",
|
|
"fix": "Changed to `src/lib/raft/`",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-15T11:10:26.312Z"
|
|
},
|
|
{
|
|
"id": "bug-573",
|
|
"timestamp": "2026-06-15T14:45:22.804Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "9 lines replaced/restructured",
|
|
"fix": "Rewrote 13→5 lines (9 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-15T14:45:22.804Z"
|
|
},
|
|
{
|
|
"id": "bug-340",
|
|
"timestamp": "2026-06-15T15:00:00.000Z",
|
|
"error_message": "After kill+RESTART of a controller (ctrl-1), the restarted node loops forever: ha_on_primary_ctrl_fd_rdhup → CTRL_ELECTING → raft_cb_become_follower → CTRL_STANDBY every ~heartbeat_timeout, term climbing unbounded (473+), while ctrl-2 stays PRIMARY at term 3. On ctrl-2: every heartbeat tick logs `xce_encode op 0 (NOP)` then `WARN endpoint_update_epoll rc1=-1 < 0` (netio.c:575) — a wedged outbound standby endpoint.",
|
|
"file": "src/controller/ha.c, src/controller/testsuite/test_ha_liveness.c",
|
|
"root_cause": "primary_heartbeat_fn never evicted a dead/wedged outbound standby endpoint from ha->standby_endpoints. When a peer is killed/restarted, its outbound ep on the primary wedges: handle_error (netio.c:420) runs iomgr_unmonitor (EPOLL_CTL_DEL, does NOT close the fd) and the err handler may leave the ep in standby_endpoints; epoll_ctl(EPOLL_CTL_MOD) on the DEL'd fd then returns ENOENT (rc1=-1) on every heartbeat enqueue. xce_nop_req still returns >=0 (enqueue ok) so the heartbeat layer never detected the wedge. Critically, primary_heartbeat_fn step 2 (reconnect) treats a peer as 'found' (connected) if ANY ep for it is in standby_endpoints — so the wedged ep SUPPRESSED reconnection. ctrl-2 therefore never opened a fresh connection to the restarted ctrl-1, never sent a ctrlhello, so ctrl-1 never set primary_ctrl_fd / refreshed last_activity and its liveness watchdog re-elected every heartbeat_timeout forever. (The earlier suspected 'become_follower doesn't reset last_activity' was NOT a bug: ha_arm_heartbeat_timeout_vtask already stamps last_activity=now, so the ~11s period is exactly one full timeout — confirming the watchdog is correct and the sole cause is the broken channel.)",
|
|
"fix": "In primary_heartbeat_fn (ha.c) step 1, added liveness eviction symmetric with the standby's own liveness poll: for each standby ep, if ep->ts_last_in > 0 (was responsive at least once) AND (now_wall - ep->ts_last_in) > heartbeat_timeout_s, remove it from ha->standby_endpoints (zarray_del, under ha->lock) and collect it; after releasing ha->lock, repl_remove_standby() each evicted ep. Removal is the load-bearing action — the reconnect scan (step 2) then re-establishes a fresh ctrlhello channel to the restarted peer on this/next tick, and ctrl-1 settles via ha_discover_primary (no term gate, ha.c:3807) → become_follower → STANDBY. ts_last_in/ts_last_out are existing endpoint_t fields (wall clock, set in handle_input/handle_output), so no libnetio change. The evicted ep object itself is reclaimed by its err handler when the dead connection finally surfaces an epoll event (bounded leak, consistent with codebase). Eviction keys on ts_last_in>0 so a just-connected joiner (ts_last_in==0) gets grace. Regression tests: test_primary_hb_evicts_silent_standby (RED→GREEN), test_primary_hb_keeps_live_standby, test_primary_hb_keeps_unconfirmed_standby in test_ha_liveness.c.",
|
|
"tags": [
|
|
"ha",
|
|
"heartbeat",
|
|
"rejoin",
|
|
"restart",
|
|
"standby-endpoints",
|
|
"reconnect",
|
|
"epoll",
|
|
"liveness",
|
|
"election-loop"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-15T15:00:00.000Z"
|
|
},
|
|
{
|
|
"id": "bug-575",
|
|
"timestamp": "2026-06-16T00:10:49.295Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/specs/ha-prevote/research.md",
|
|
"root_cause": "Had 't understand PreVote (older binary) — does the ca",
|
|
"fix": "Changed to 's \"",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-16T00:10:49.295Z"
|
|
},
|
|
{
|
|
"id": "bug-576",
|
|
"timestamp": "2026-06-16T00:18:28.793Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/specs/ha-prevote/research.md",
|
|
"root_cause": "Had 's \"",
|
|
"fix": "Changed to `ha_heartbeat_is_fresh()`",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-16T00:18:28.793Z"
|
|
},
|
|
{
|
|
"id": "bug-577",
|
|
"timestamp": "2026-06-16T00:26:16.193Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": ".kiro/specs/ha-prevote/research.md",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-16T00:26:16.193Z"
|
|
},
|
|
{
|
|
"id": "bug-578",
|
|
"timestamp": "2026-06-16T03:00:48.818Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": ".kiro/specs/ha-prevote/design.md",
|
|
"root_cause": "Had `ha_elect_ctx_t`",
|
|
"fix": "Changed to `raft_on_vote_reply`",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 9,
|
|
"last_seen": "2026-06-16T03:02:59.202Z"
|
|
},
|
|
{
|
|
"id": "bug-579",
|
|
"timestamp": "2026-06-16T03:01:07.659Z",
|
|
"error_message": "Wrong return value",
|
|
"file": ".kiro/specs/ha-prevote/design.md",
|
|
"root_cause": "Was returning: codes (e.g. `RAFT_PRE_VOTE_WON`, `RAFT_PRE_VOTE_LO",
|
|
"fix": "Now returns: codes (e.g. `RAFT_PRE_VOTE_WON`, `RAFT_PRE_VOTE_LO",
|
|
"tags": [
|
|
"auto-detected",
|
|
"return-value",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-16T03:01:07.660Z"
|
|
},
|
|
{
|
|
"id": "bug-580",
|
|
"timestamp": "2026-06-16T03:06:57.732Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": ".kiro/specs/ha-prevote/tasks.md",
|
|
"root_cause": "3 lines replaced/restructured",
|
|
"fix": "Rewrote 7→7 lines (3 removed) | Also: - [ ] 5.1 Wire the PreVote reply opcode to the can; - Dispatch the incoming PreVote-reply opcode to th",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-16T03:07:10.762Z"
|
|
},
|
|
{
|
|
"id": "bug-581",
|
|
"timestamp": "2026-06-16T04:02:13.927Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/lib/raft/raft.h",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 4→5 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"h"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-16T04:02:13.927Z"
|
|
},
|
|
{
|
|
"id": "bug-582",
|
|
"timestamp": "2026-06-16T04:18:41.611Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/lib/testsuite/test_raft.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-16T04:18:41.611Z"
|
|
},
|
|
{
|
|
"id": "bug-583",
|
|
"timestamp": "2026-06-16T04:19:25.513Z",
|
|
"error_message": "Missing error handling in never",
|
|
"file": "src/lib/raft/raft.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-16T04:19:25.513Z"
|
|
},
|
|
{
|
|
"id": "bug-584",
|
|
"timestamp": "2026-06-16T04:27:50.039Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/lib/raft/raft.c",
|
|
"root_cause": "No early return/throw for edge case: s->cbs->on_trace",
|
|
"fix": "Added guard clause: if (s->cbs->on_trace)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-16T04:27:50.039Z"
|
|
},
|
|
{
|
|
"id": "bug-585",
|
|
"timestamp": "2026-06-16T04:36:28.796Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/lib/testsuite/test_raft.c",
|
|
"root_cause": "No early return/throw for edge case: rc != 0",
|
|
"fix": "Added guard clause: if (rc != 0)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-16T04:36:28.796Z"
|
|
},
|
|
{
|
|
"id": "bug-586",
|
|
"timestamp": "2026-06-16T04:50:38.855Z",
|
|
"error_message": "Missing error handling in struct",
|
|
"file": "src/controller/testsuite/test_ha_vote_gate.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block | Also: /* Task 3.1 — voter-side PreVote dispatch gate (stickiness +; * no mutation, reply term unchanged) */",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-16T04:50:49.601Z"
|
|
},
|
|
{
|
|
"id": "bug-587",
|
|
"timestamp": "2026-06-16T04:51:17.702Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/testsuite/test_ha_vote_gate.c",
|
|
"root_cause": "2 lines replaced/restructured",
|
|
"fix": "Rewrote 4→4 lines (2 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-16T04:51:17.703Z"
|
|
},
|
|
{
|
|
"id": "bug-588",
|
|
"timestamp": "2026-06-16T04:57:16.230Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-16T04:57:16.230Z"
|
|
},
|
|
{
|
|
"id": "bug-589",
|
|
"timestamp": "2026-06-16T04:57:49.245Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/cluster.c",
|
|
"root_cause": "6 lines replaced/restructured",
|
|
"fix": "Rewrote 20→25 lines (6 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-16T04:57:49.245Z"
|
|
},
|
|
{
|
|
"id": "bug-590",
|
|
"timestamp": "2026-06-16T05:21:02.997Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": ".kiro/specs/ha-prevote/tasks.md",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-16T05:21:02.997Z"
|
|
},
|
|
{
|
|
"id": "bug-591",
|
|
"timestamp": "2026-06-16T05:27:09.380Z",
|
|
"error_message": "Wrong reference: test_commit_engine should be test_ha_prevote",
|
|
"file": "src/controller/testsuite/controller_test.c",
|
|
"root_cause": "Used \"test_commit_engine\" instead of \"test_ha_prevote\"",
|
|
"fix": "Changed test_commit_engine → test_ha_prevote",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-16T05:27:18.877Z"
|
|
},
|
|
{
|
|
"id": "bug-592",
|
|
"timestamp": "2026-06-16T05:28:01.236Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: !c || !c->myconf",
|
|
"fix": "Added guard clause: if (!c || !c->myconf)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-16T05:30:07.209Z"
|
|
},
|
|
{
|
|
"id": "bug-593",
|
|
"timestamp": "2026-06-16T05:44:57.430Z",
|
|
"error_message": "Function not marked async",
|
|
"file": ".kiro/specs/ha-prevote/tasks.md",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"md"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-16T05:44:57.430Z"
|
|
},
|
|
{
|
|
"id": "bug-594",
|
|
"timestamp": "2026-06-16T05:50:25.729Z",
|
|
"error_message": "Incorrect value in code",
|
|
"file": "src/controller/meson.build",
|
|
"root_cause": "Had 'testsuite/test_commit_engine.c'",
|
|
"fix": "Changed to 'testsuite/test_ha_failover_prevote.c'",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-value",
|
|
"build"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-16T05:50:25.730Z"
|
|
},
|
|
{
|
|
"id": "bug-595",
|
|
"timestamp": "2026-06-16T05:50:35.123Z",
|
|
"error_message": "Wrong reference: test_commit_engine should be test_ha_failover_prevote",
|
|
"file": "src/controller/testsuite/controller_test.c",
|
|
"root_cause": "Used \"test_commit_engine\" instead of \"test_ha_failover_prevote\"",
|
|
"fix": "Changed test_commit_engine → test_ha_failover_prevote",
|
|
"tags": [
|
|
"auto-detected",
|
|
"wrong-reference",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-16T05:50:39.775Z"
|
|
},
|
|
{
|
|
"id": "bug-596",
|
|
"timestamp": "2026-06-16T05:52:32.982Z",
|
|
"error_message": "Significant refactor of ",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "104 lines replaced/restructured",
|
|
"fix": "Rewrote 157→90 lines (104 removed)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"refactor",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-16T05:52:32.982Z"
|
|
},
|
|
{
|
|
"id": "bug-597",
|
|
"timestamp": "2026-06-16T05:59:43.939Z",
|
|
"error_message": "Function not marked async",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "Function uses await but wasn't declared async",
|
|
"fix": "Added async modifier",
|
|
"tags": [
|
|
"auto-detected",
|
|
"async-fix",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-16T05:59:43.939Z"
|
|
},
|
|
{
|
|
"id": "bug-598",
|
|
"timestamp": "2026-06-16T06:33:05.644Z",
|
|
"error_message": "Missing guard clause",
|
|
"file": "src/controller/ha.c",
|
|
"root_cause": "No early return/throw for edge case: role == CTRL_STANDBY && ha->raft.pre_vote_in_progress",
|
|
"fix": "Added guard clause: if (role == CTRL_STANDBY && ha->raft.pre_vot)",
|
|
"tags": [
|
|
"auto-detected",
|
|
"guard-clause",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-16T06:33:05.644Z"
|
|
},
|
|
{
|
|
"id": "bug-599",
|
|
"timestamp": "2026-06-16T06:58:28.916Z",
|
|
"error_message": "Missing error handling in unknown",
|
|
"file": "src/controller/testsuite/test_ha_prevote.c",
|
|
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
|
|
"fix": "Added try/catch block",
|
|
"tags": [
|
|
"auto-detected",
|
|
"error-handling",
|
|
"c"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 1,
|
|
"last_seen": "2026-06-16T06:58:28.916Z"
|
|
}
|
|
]
|
|
} |