Skip to content

bug(print): parent can hang after acceptor-complete work [under investigation] #516

Description

@tt-a1i

Status

Under investigation. Isolated Cursor reliability work against v0.8.1 (a3edee28). Not a formal Benchmark. Not a permission or timeout-stretch request.

Impact

In pi --print --mode json, the model can finish the user-visible work (acceptor files correct) and then keep generating / looping until the harness SIGTERM. The task is hung from the operator’s point of view even though the machine acceptor is already green. Distinct from print-mode settle-without-wait (#512), identity-loop timeouts that never write the acceptor (#513), and connection timeout.

Evidence (redacted; isolated config)

PI_CODING_AGENT_DIR=/tmp/openpi-reliability-20260908/pi-agent. Unique OpenPI: /tmp/openpi-reliability-20260908/src. User Sessions were not used (count stayed 939).

Same task versions 2026-09-08.1. Model cursor-grok-4.6-medium-fast. Classification timeout with acceptor.ok=true and exit 143.

A-04 — A-cursor-grok-4.6-medium-fast-04-1788882499326

  • Duration 180027 ms (harness SIGTERM at 180s)
  • ACCEPT_A.txt matches nonce d5c623002bd29975ba42d284d6def2e9; forbidden file hash unchanged
  • Last streamed text still talking about “remaining steps” / “openpi MCP tools” after the file was already written
  • Receipt: /tmp/openpi-reliability-20260908/results/cells/A-cursor-grok-4.6-medium-fast-04-1788882499326/receipt.json

B-02 — B-cursor-grok-4.6-medium-fast-02-1788883687982

  • Duration 240123 ms (harness SIGTERM at 240s)
  • Tests already passed (node --test ok); ACCEPT_B.txt is 24; forbidden file unchanged
  • Last streamed text: “I'll write the files with the required openpi MCP tools”
  • Receipt: /tmp/openpi-reliability-20260908/results/cells/B-cursor-grok-4.6-medium-fast-02-1788883687982/receipt.json

Sibling attempts on the same cells completed and exited (A 01–03,05; B 01,03–05). Failure is intermittent, not a missing-file acceptor miss.

Unblock

Need a print-mode idle/settle bound after the last successful mutating tool (or after the user-requested artifact exists) that does not lengthen timeouts, swallow the loop, disable tools, or loosen permissions. A failing repro that does not depend on a live Cursor model would unpin the root cause (Pi --print not exiting vs OpenPI tool-identity loop vs both).

Related: #513 (identity wording) may be the model-side driver; this issue is the hung process after a green acceptor.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions