bd daemon sync: 2026-01-11 22:38:38
This commit is contained in:
committed by
Steve Yegge
parent
2129290c91
commit
a52682cb77
@@ -1767,6 +1767,7 @@
|
||||
{"id":"bd-p72za","title":"Session ended: gt-beads-refinery","status":"closed","priority":2,"issue_type":"event","owner":"steve.yegge@gmail.com","created_at":"2026-01-11T22:18:09.370645-08:00","created_by":"beads/refinery","updated_at":"2026-01-11T22:18:09.436566-08:00","closed_at":"2026-01-11T22:18:09.436566-08:00","close_reason":"auto-closed session cost wisp","ephemeral":true}
|
||||
{"id":"bd-p76kv","title":"bd list can hang indefinitely due to missing timeouts","description":"dispatched_by: gastown/crew/max\n\n## Problem\n\nWhen `bd list` hangs, it can block forever due to missing timeouts at multiple layers:\n\n### 1. No timeout in gastown's `runBdCommand` \n**File:** `internal/mail/bd.go:42-54`\n```go\ncmd := exec.Command(\"bd\", args...)\nif err := cmd.Run(); err != nil { // Waits forever!\n```\nIf `bd` hangs for any reason, gt commands hang forever.\n\n### 2. No timeout in RPC request processing (beads daemon)\n**File:** `internal/rpc/server_routing_validation_diagnostics.go:262-264`\n```go\nfunc (s *Server) reqCtx(_ *Request) context.Context {\n return context.Background() // No deadline!\n}\n```\nIf a database query hangs, the RPC handler hangs forever.\n\n### 3. Mutex starvation potential\n`SearchIssues` takes a read lock on `reconnectMu`, while `reconnect()` takes a write lock. With Go's RWMutex, if there's a steady stream of readers, the writer can starve indefinitely.\n\n## Evidence\n\nObserved stuck processes running for 13+ hours:\n```\nbd list --type message --label cc:mayor/ --status open --json\nbd list --type message --label cc:mayor --status open --json\n```\n\nThe SQLite `busy_timeout` (30s) should have caused failures, not hangs. The processes were likely stuck on the Go `reconnectMu` mutex or a blocked daemon.\n\n## Proposed Fixes\n\n1. **Add timeout to daemon request processing** - Use `context.WithTimeout` in `reqCtx()` (e.g., 60 seconds)\n2. **Consider request timeout propagation** from client to server\n3. **Review reconnectMu usage** for potential starvation scenarios\n\nNote: The gastown side (`runBdCommand`) also needs a fix, but that's a separate repo.","status":"closed","priority":2,"issue_type":"bug","assignee":"beads/crew/dave","created_at":"2026-01-10T11:56:34.750531-08:00","created_by":"gastown/crew/max","updated_at":"2026-01-10T23:44:36.578483-08:00","closed_at":"2026-01-10T23:44:36.578483-08:00","close_reason":"Fixed in commit 69dae103. reqCtx() now applies requestTimeout (30s default) to context, preventing indefinite hangs."}
|
||||
{"id":"bd-p7i2","title":"Add unit test for gitHasUncommittedBeadsChanges()","description":"The new helper function from bd-vd8e needs unit tests in sync_git_test.go to verify:\n- Returns false when no changes\n- Returns true for M (modified)\n- Returns true for A (added)\n- Returns false for ?? (untracked)\n- Returns false for D (deleted)\n\nPart of GH#885 follow-up.","status":"closed","priority":2,"issue_type":"task","assignee":"beads/polecats/ruby","created_at":"2026-01-04T16:15:53.96425-08:00","created_by":"beads/crew/fang","updated_at":"2026-01-04T16:20:40.004117-08:00","closed_at":"2026-01-04T16:20:40.004117-08:00","close_reason":"Added parseGitStatusForBeadsChanges helper function and 14 unit tests covering: empty status, modified (staged/unstaged/both), added, untracked, deleted, renamed, copied, and edge cases"}
|
||||
{"id":"bd-p98lw","title":"Session ended: gt-beads-refinery","status":"closed","priority":2,"issue_type":"event","owner":"steve.yegge@gmail.com","created_at":"2026-01-11T22:38:37.50559-08:00","created_by":"beads/refinery","updated_at":"2026-01-11T22:38:37.571613-08:00","closed_at":"2026-01-11T22:38:37.571613-08:00","close_reason":"auto-closed session cost wisp","ephemeral":true}
|
||||
{"id":"bd-par1","title":"doctor: improve messaging for detection-only hook managers","description":"When bd doctor detects hook managers we can't fully check (pre-commit, overcommit, yorkie, simple-git-hooks), the current warning suggests they're broken. Change to informational: 'pre-commit detected, cannot verify bd integration' rather than implying misconfiguration.","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-05T19:19:08.98544-08:00","created_by":"beads/crew/giles","updated_at":"2026-01-05T21:06:05.953116-08:00","closed_at":"2026-01-05T21:06:05.953116-08:00","close_reason":"Implemented - detection-only managers now show informational message"}
|
||||
{"id":"bd-pbfib","title":"Session ended: gt-beads-crew-fang","status":"closed","priority":2,"issue_type":"event","created_at":"2026-01-09T22:57:42.09645-08:00","created_by":"beads/crew/fang","updated_at":"2026-01-09T22:57:42.133588-08:00","closed_at":"2026-01-09T22:57:42.133588-08:00","close_reason":"auto-closed session cost wisp","ephemeral":true}
|
||||
{"id":"bd-pbh","title":"Release v0.30.4","description":"## Version Bump Workflow\n\nCoordinating release from 0.30.3 to 0.30.4.\n\n### Components Updated\n- Go CLI (cmd/bd/version.go)\n- Claude Plugin (.claude-plugin/*.json)\n- MCP Server (integrations/beads-mcp/)\n- npm Package (npm-package/package.json)\n- Git hooks (cmd/bd/templates/hooks/)\n\n### Release Channels\n- GitHub Releases (GoReleaser)\n- PyPI (beads-mcp)\n- npm (@beads/cli)\n- Homebrew (homebrew-beads tap)\n","status":"tombstone","priority":1,"issue_type":"epic","created_at":"2025-12-17T21:19:10.926133-08:00","updated_at":"2025-12-25T01:21:01.952723-08:00","labels":["release","v0.30.4","workflow"],"deleted_at":"2025-12-25T01:21:01.952723-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"epic"}
|
||||
|
||||
Reference in New Issue
Block a user