claude exits rc=1 at finalization on igor#334 — work abandoned on two consecutive ticks #342

Closed
opened 2026-07-04 06:13:24 +00:00 by igor · 1 comment
Collaborator

Diagnosis

The claude subprocess crashed with rc=1 on two back-to-back ticks working issue joshtronic/igor#334, each after ~10 minutes of apparently-complete work (edits done, make test/check-sync green, lint skipped, /security-review run). Both crashes land at the finalization phase (just before/at PR-body write), so ship-safety correctly refuses to commit the dirty worktree and re-queues — but the net effect is repeated wasted full-length runs with no PR shipped. A third attempt on the same issue (MVP variant) was still in flight at window close (00:59:44→), so this is not self-healed within the hour.

This is a real crash, not a timeout (elapsed 598s/607s « 30m cap) and not an auth/usage backoff. The fix(observability): preserve claude's stream on a nonzero exit commit explains the stream preserved line but does not address the rc=1 exit itself; crash-logs at .../crash-logs/20260704T002440-rc1-tier-1-issue and ...T003940-rc1-tier-1-issue are the post-mortem artifacts.

Evidence

Jul 04 00:24:40 igor tick.sh[1033813]: [agent] crash: claude exited rc=1 (tier-1-issue); stream preserved to /home/igor/.local/state/agent/crash-logs/20260704T002440-rc1-tier-1-issue for post-mortem
Jul 04 00:24:40 igor tick.sh[1033813]: [agent] claude exited 1 (elapsed 598s)
Jul 04 00:24:40 igor tick.sh[1033813]: [agent] ship-safety: claude exited 1 mid-run -- NOT committing partial worktree (4 dirty file(s)); re-queuing
Jul 04 00:24:41 igor tick.sh[1033813]: [agent] outcome: no work produced (elapsed 598s)
...
Jul 04 00:39:40 igor tick.sh[1051950]: [agent] crash: claude exited rc=1 (tier-1-issue); stream preserved to /home/igor/.local/state/agent/crash-logs/20260704T003940-rc1-tier-1-issue for post-mortem
Jul 04 00:39:40 igor tick.sh[1051950]: [agent] claude exited 1 (elapsed 607s)
Jul 04 00:39:40 igor tick.sh[1051950]: [agent] ship-safety: claude exited 1 mid-run -- NOT committing partial worktree (4 dirty file(s)); re-queuing
Jul 04 00:39:41 igor tick.sh[1051950]: [agent] outcome: blocked (repeated noop, prior count: 1)

Fixed looks like

Inspect the two preserved crash streams to identify what fails at finalization (PR-body write / security-review skill teardown). Either the underlying rc=1 stops recurring, or #334 ships a PR on retry instead of repeatedly re-queuing. A blocked (repeated noop) on the same issue across consecutive ticks should not silently keep burning full-length runs.


service: agent.service
severity: medium
window: 2026-07-04 00:00-01:00 (filed by the hourly logwatch pass)

## Diagnosis The claude subprocess crashed with `rc=1` on two back-to-back ticks working issue `joshtronic/igor#334`, each after ~10 minutes of apparently-complete work (edits done, `make test`/`check-sync` green, lint skipped, `/security-review` run). Both crashes land at the finalization phase (just before/at PR-body write), so ship-safety correctly refuses to commit the dirty worktree and re-queues — but the net effect is repeated wasted full-length runs with no PR shipped. A third attempt on the same issue (MVP variant) was still in flight at window close (00:59:44→), so this is not self-healed within the hour. This is a real crash, not a timeout (elapsed 598s/607s « 30m cap) and not an auth/usage backoff. The `fix(observability): preserve claude's stream on a nonzero exit` commit explains the `stream preserved` line but does not address the rc=1 exit itself; crash-logs at `.../crash-logs/20260704T002440-rc1-tier-1-issue` and `...T003940-rc1-tier-1-issue` are the post-mortem artifacts. ## Evidence ``` Jul 04 00:24:40 igor tick.sh[1033813]: [agent] crash: claude exited rc=1 (tier-1-issue); stream preserved to /home/igor/.local/state/agent/crash-logs/20260704T002440-rc1-tier-1-issue for post-mortem Jul 04 00:24:40 igor tick.sh[1033813]: [agent] claude exited 1 (elapsed 598s) Jul 04 00:24:40 igor tick.sh[1033813]: [agent] ship-safety: claude exited 1 mid-run -- NOT committing partial worktree (4 dirty file(s)); re-queuing Jul 04 00:24:41 igor tick.sh[1033813]: [agent] outcome: no work produced (elapsed 598s) ... Jul 04 00:39:40 igor tick.sh[1051950]: [agent] crash: claude exited rc=1 (tier-1-issue); stream preserved to /home/igor/.local/state/agent/crash-logs/20260704T003940-rc1-tier-1-issue for post-mortem Jul 04 00:39:40 igor tick.sh[1051950]: [agent] claude exited 1 (elapsed 607s) Jul 04 00:39:40 igor tick.sh[1051950]: [agent] ship-safety: claude exited 1 mid-run -- NOT committing partial worktree (4 dirty file(s)); re-queuing Jul 04 00:39:41 igor tick.sh[1051950]: [agent] outcome: blocked (repeated noop, prior count: 1) ``` ## Fixed looks like Inspect the two preserved crash streams to identify what fails at finalization (PR-body write / security-review skill teardown). Either the underlying rc=1 stops recurring, or #334 ships a PR on retry instead of repeatedly re-queuing. A `blocked (repeated noop)` on the same issue across consecutive ticks should not silently keep burning full-length runs. --- service: agent.service severity: medium window: 2026-07-04 00:00-01:00 (filed by the hourly logwatch pass) <!-- agent:logwatch -->
igor added spent time 2026-07-04 06:13:26 +00:00
58 seconds
Author
Collaborator

Closing as superseded noise (CoS cleanup). This auto-filed report describes the 50-turn cap discarding completed work — the exact failure now fixed by the hardcoded --max-turns 100 in #344, and #334 itself shipped as MVP #341 (merged). Root cause owned by #344; no separate action here.

Closing as superseded noise (CoS cleanup). This auto-filed report describes the 50-turn cap discarding completed work — the exact failure now fixed by the hardcoded `--max-turns 100` in #344, and #334 itself shipped as MVP #341 (merged). Root cause owned by #344; no separate action here.
igor closed this issue 2026-07-04 14:23:52 +00:00
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Total time spent: 58 seconds
igor
58 seconds
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
joshtronic/igor#342
No description provided.