[GH-ISSUE #2397] [Investigation] Explain event-limit and launch-identity failures in the real LLDB call verifier #805

Open
opened 2026-10-15 18:28:38 +00:00 by bsakaguchi · 0 comments
Owner

Originally created by @matbrgz on GitHub (Oct 12, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/2397

Type: Architecture / RFC Status: Proposed Ecosystem: REA

Observed behavior

While validating source-coordinate retention (#2382), two real runs of npm run verify:native-calls on macOS ARM64 / LLDB 2103.0.34.103 failed in different scenarios:

  1. The overlapping-breakpoint capture with max_events: 2 reported process outcome exited, while the verifier requires event-limit.
  2. A subsequent run reached the single-function bounded capture, then returned execution_failure with diagnostic host could not establish the launched process identity; target was stopped. The partial observation retained a PID, no events and unavailable final stream completeness.

These observations were made on an uncommitted additive source-coordinate branch based on upstream 3ee6ff43c. They have not yet been isolated on an unchanged upstream build, so this issue records an investigation rather than an established root cause or an attribution to that change.

The normal source-coordinate scenarios completed before these failures. An independent owned Free Pascal 3.2.2 / Darwin AArch64 fixture passed actual CLI and stdio-MCP call observations with three expected entries, register values and source locations. Python producer tests (10), focused native provider/MCP tests (18), and repository static checks passed.

Investigation and acceptance

  • Reproduce bounded captures on unchanged upstream and the additive branch using the same compiler/debug settings.
  • Retain actual callback outcomes, process events, start-identity observations and cleanup evidence sufficient to explain each failure.
  • Determine whether the event-limit outcome was lost, the target resumed unexpectedly, or the verifier expectation is wrong; do not weaken the assertion without evidence.
  • Distinguish an actual target/process-generation change from unavailable OS identity observation and a launch/acknowledgement race.
  • Add regression coverage at the responsible producer/lifecycle boundary after the cause is established.
  • Run the complete real native-call lane and report actual host/provider coverage; preserve cancellation, bounded termination and ownership behavior.

Scope

Owned local programs only; no change to debugging permissions or target protection settings. This is about the existing LLDB observation lane, not a new debugger adapter. Related: #1267, #2382, #2372. Source-coordinate PR will reference this investigation and remain draft while its broader verification is unresolved.

Originally created by @matbrgz on GitHub (Oct 12, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/2397 [![Type: Architecture / RFC](https://img.shields.io/badge/type-architecture_%2F_RFC-darkred.svg?style=flat-square)](https://github.com/morluto/rea) [![Status: Proposed](https://img.shields.io/badge/status-proposed-blue.svg?style=flat-square)](https://github.com/morluto/rea) [![Ecosystem: REA](https://img.shields.io/badge/ecosystem-morluto%2Frea-8A2BE2.svg?style=flat-square)](https://github.com/morluto/rea) ## Observed behavior While validating source-coordinate retention (#2382), two real runs of `npm run verify:native-calls` on macOS ARM64 / LLDB 2103.0.34.103 failed in different scenarios: 1. The overlapping-breakpoint capture with `max_events: 2` reported process outcome `exited`, while the verifier requires `event-limit`. 2. A subsequent run reached the single-function bounded capture, then returned `execution_failure` with diagnostic `host could not establish the launched process identity; target was stopped`. The partial observation retained a PID, no events and unavailable final stream completeness. These observations were made on an uncommitted additive source-coordinate branch based on upstream 3ee6ff43c. They have **not** yet been isolated on an unchanged upstream build, so this issue records an investigation rather than an established root cause or an attribution to that change. The normal source-coordinate scenarios completed before these failures. An independent owned Free Pascal 3.2.2 / Darwin AArch64 fixture passed actual CLI and stdio-MCP call observations with three expected entries, register values and source locations. Python producer tests (10), focused native provider/MCP tests (18), and repository static checks passed. ## Investigation and acceptance - [ ] Reproduce bounded captures on unchanged upstream and the additive branch using the same compiler/debug settings. - [ ] Retain actual callback outcomes, process events, start-identity observations and cleanup evidence sufficient to explain each failure. - [ ] Determine whether the event-limit outcome was lost, the target resumed unexpectedly, or the verifier expectation is wrong; do not weaken the assertion without evidence. - [ ] Distinguish an actual target/process-generation change from unavailable OS identity observation and a launch/acknowledgement race. - [ ] Add regression coverage at the responsible producer/lifecycle boundary after the cause is established. - [ ] Run the complete real native-call lane and report actual host/provider coverage; preserve cancellation, bounded termination and ownership behavior. ## Scope Owned local programs only; no change to debugging permissions or target protection settings. This is about the existing LLDB observation lane, not a new debugger adapter. Related: #1267, #2382, #2372. Source-coordinate PR will reference this investigation and remain draft while its broader verification is unresolved.
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#805
No description provided.