18396 lines
1.3 MiB
18396 lines
1.3 MiB
{
|
|
"version": 1,
|
|
"bugs": [
|
|
{
|
|
"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-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 \u2192 g_instdir",
|
|
"tags": [
|
|
"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": "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) \u2014 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": [
|
|
"md",
|
|
"double-free",
|
|
"asan",
|
|
"ha_connect_to_peer",
|
|
"endpoint_fini",
|
|
"integration-test"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-05T07:23:00.000Z"
|
|
},
|
|
{
|
|
"id": "bug-007",
|
|
"timestamp": "2026-05-21T12:53:13.789Z",
|
|
"error_message": "AddressSanitizer: heap-use-after-free in liveness_poll_fn at ha.c:3293 \u2014 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": [
|
|
"guard-clause",
|
|
"c",
|
|
"heap-use-after-free",
|
|
"asan",
|
|
"liveness_poll_fn",
|
|
"ha_arm_heartbeat_timeout_vtask",
|
|
"race-condition",
|
|
"integration-test"
|
|
],
|
|
"related_bugs": [],
|
|
"occurrences": 2,
|
|
"last_seen": "2026-06-05T07:23:00.000Z"
|
|
},
|
|
{
|
|
"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-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-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-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-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-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-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-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-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-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 \u2014 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 \u2014 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"
|
|
},
|
|
{
|
|