You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Zombie job records accumulate in state.json until SessionEnd #15
Related to but distinct from the dead-PID detection gap: plugins/opencode/scripts/lib/state.mjs caps at MAX_JOBS = 50, pruning by updatedAt. A crashed job whose status is still "running" has a fresh-looking updatedAt from when it last reported progress, so it survives pruning and occupies a slot. Over a long session this leads to the /opencode:status "running" list filling with zombies while real completed jobs get pruned first.
Unlike codex-plugin-cc, opencode-plugin-cc does not currently block new tasks on the presence of a running job (no resolveLatestTrackedTaskThread guard in handleTask), so the impact is lower than the upstream report — but the state file still drifts.
Suggested fix
Pair this with the dead-PID check in issue-to-be-filed (#164-equivalent) so zombies get demoted to failed in enrichJob / buildStatusSnapshot before pruning runs.
Consider a separate "zombie sweep" pass inside upsertJob that checks every running row's PID when the state is rewritten.
Consolidated into #14. Zombie accumulation is a symptom of missing dead-PID reconciliation and should be fixed under the canonical job reconciliation issue.
Activity
JohnnyVicious commentedon Apr 12, 2026
Consolidated into #14. Zombie accumulation is a symptom of missing dead-PID reconciliation and should be fixed under the canonical job reconciliation issue.