[GH-ISSUE #1653] bug(javascript): cancellation hides a failed owned-analyzer cleanup retry #557

Closed
opened 2026-10-15 18:26:08 +00:00 by bsakaguchi · 0 comments
Owner

Originally created by @N0zoM1z0 on GitHub (Oct 10, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/1653

When an owned JavaScript analyzer remains retained after failed cleanup, a later analyzer retries that owner before creating its source deadline. If the later caller cancels while that cleanup retry fails, current main classifies the failure as cancelled, hiding cleanup_incomplete and the actionable retained resource identity.

Reproduced on main 26038912 through the production JavaScript worker boundary: start a real owned Node analyzer, inject failure only into its cleanup callback, cancel the next caller during the failed retry, and project the returned error. It reports cancelled. The same scenario with the fix reports cleanup_incomplete; allowing verified cleanup afterward restores subsequent analysis. Cleanup failure is injected around a real process; an operating-system cleanup denial was not observed.

The earlier ordinary preparation-cancellation fix remains valid. This case must preserve the failed owner's cleanup diagnostic when cancellation is concurrent. Related to #1563 and #1065.

Originally created by @N0zoM1z0 on GitHub (Oct 10, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/1653 When an owned JavaScript analyzer remains retained after failed cleanup, a later analyzer retries that owner before creating its source deadline. If the later caller cancels while that cleanup retry fails, current main classifies the failure as `cancelled`, hiding `cleanup_incomplete` and the actionable retained resource identity. Reproduced on main `26038912` through the production JavaScript worker boundary: start a real owned Node analyzer, inject failure only into its cleanup callback, cancel the next caller during the failed retry, and project the returned error. It reports `cancelled`. The same scenario with the fix reports `cleanup_incomplete`; allowing verified cleanup afterward restores subsequent analysis. Cleanup failure is injected around a real process; an operating-system cleanup denial was not observed. The earlier ordinary preparation-cancellation fix remains valid. This case must preserve the failed owner's cleanup diagnostic when cancellation is concurrent. Related to #1563 and #1065.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
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
morluto/rea#557
No description provided.