[GH-ISSUE #3167] [Bug] Recorded-crash CLI help and schema omit documented AArch64 support #1106

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

Originally created by @coygeek on GitHub (Oct 14, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/3167

Before submitting

  • I searched the open and closed issues for a related report.
  • I removed credentials, tokens, private paths, and sensitive target data.

Area

CLI

Observed behavior

node scripts/rea.mjs inspect-recorded-crash --help describes the required path argument as Local Linux amd64 ELF core. node scripts/rea.mjs inspect-recorded-crash --schema emits the same description for the path property. Both commands exited with code 0 and empty stderr. Two executions of each produced the same wording.

The documented core profiles include x86-64 and AArch64. Callers consulting CLI help or schema output therefore receive incomplete support information. This is an observed argument-description defect. No core file was parsed and no decoder failure was observed.

Reproduction

  1. From a clean checkout at 58300885207133422af235e0f2b10658cf958b03, prepare the locked dependencies and CLI runtime:

    npm ci
    npm run build:cached
    
  2. Run the command's help from the repository root. No input file or configured decoder is needed:

    node scripts/rea.mjs inspect-recorded-crash --help
    
  3. Read the path entry under Arguments. It says Local Linux amd64 ELF core.

  4. Run the schema command and read the path property's description:

    node scripts/rea.mjs inspect-recorded-crash --schema
    

    It also says Local Linux amd64 ELF core.

Verification used the checkout's prepared dependencies and compiled runtime. The setup commands in step 1 were not rerun during verification.

Expected behavior

Both discovery outputs should describe the documented Linux ELF64 little-endian x86-64 and AArch64 core profiles, or use architecture-neutral wording that includes both.

docs/recorded-crashes.md:3-7 explicitly names both the CLI and MCP command and documents x86-64 and AArch64 core profiles. src/contracts/native/binaryDiagnosticsToolContracts.ts:66-70 describes amd64 or AArch64 cores and separately states the Linux x64 decoder host profile. The decoder host requirement and the architecture recorded in a core file are separate constraints.

Impact and scope

P3. The help and schema descriptions understate documented support. No incorrect analysis result, rejected valid core, data loss, or blocked workflow was observed. The recorded-crash guide and MCP description provide the missing architecture information as a practical workaround.

Discovery rendering succeeded on the verification host without invoking a core decoder. End-to-end AArch64 core decoding was not tested.

REA version

6.4.0 (main at 5830088520)

Runtime and platform

Node 26.10.0; macOS arm64. The verifier did not record the OS version.

Target and artifact context

No target or input artifact is required. The affected description concerns supplied Linux ELF64 little-endian core files with the documented x86-64 and AArch64 profiles.

Interface

CLI

Earliest failure stage

Transport or result projection

Relevant output or evidence

inspect-recorded-crash --help:
Arguments:
  path  Local Linux amd64 ELF core

inspect-recorded-crash --schema:
path:
  type: string
  description: Local Linux amd64 ELF core

Both commands: exit 0; stderr empty.

Typed outcome or recovery expected

Repeat both CLI discovery commands. Both path descriptions should communicate the documented x86-64 and AArch64 profiles, or include both through architecture-neutral wording. Both commands should continue to succeed and retain the required string-valued path argument and the optional debugger-context option. This wording correction does not require changing core acceptance or decoder behavior.

Analysis or suspected cause

Source-derived at 58300885207133422af235e0f2b10658cf958b03: src/cli/binaryDiagnosticsCommands.ts:77 sets the recorded-crash path description to Local Linux amd64 ELF core. The same wording appears in the prepared built CLI at dist/cli-runtime/cli.js:8367, which the dispatcher loads.

Source-derived corroboration: src/domain/native/recordedCrash.ts:89-132 defines both architecture profiles. bridge/pwntools/recorded_crash_impl.py:18,60-82 admits machine identifiers 62 and 183 and selects the corresponding ABI profile. These source facts corroborate the documented support; they do not establish an executed decoder run.

Additional context

Related issue #2353 and merged PR #2505 added AArch64 decoding; this report concerns the CLI help/schema description that still omits that documented support. The P3 rating reflects a wording defect with an available documentation workaround and no observed consequential behavior change.

Originally created by @coygeek on GitHub (Oct 14, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/3167 ### Before submitting - [x] I searched the open and closed issues for a related report. - [x] I removed credentials, tokens, private paths, and sensitive target data. ### Area CLI ### Observed behavior `node scripts/rea.mjs inspect-recorded-crash --help` describes the required `path` argument as `Local Linux amd64 ELF core`. `node scripts/rea.mjs inspect-recorded-crash --schema` emits the same description for the path property. Both commands exited with code 0 and empty stderr. Two executions of each produced the same wording. The documented core profiles include x86-64 and AArch64. Callers consulting CLI help or schema output therefore receive incomplete support information. This is an observed argument-description defect. No core file was parsed and no decoder failure was observed. ### Reproduction 1. From a clean checkout at `58300885207133422af235e0f2b10658cf958b03`, prepare the locked dependencies and CLI runtime: ```sh npm ci npm run build:cached ``` 2. Run the command's help from the repository root. No input file or configured decoder is needed: ```sh node scripts/rea.mjs inspect-recorded-crash --help ``` 3. Read the `path` entry under `Arguments`. It says `Local Linux amd64 ELF core`. 4. Run the schema command and read the path property's description: ```sh node scripts/rea.mjs inspect-recorded-crash --schema ``` It also says `Local Linux amd64 ELF core`. Verification used the checkout's prepared dependencies and compiled runtime. The setup commands in step 1 were not rerun during verification. ### Expected behavior Both discovery outputs should describe the documented Linux ELF64 little-endian x86-64 and AArch64 core profiles, or use architecture-neutral wording that includes both. `docs/recorded-crashes.md:3-7` explicitly names both the CLI and MCP command and documents x86-64 and AArch64 core profiles. `src/contracts/native/binaryDiagnosticsToolContracts.ts:66-70` describes amd64 or AArch64 cores and separately states the Linux x64 decoder host profile. The decoder host requirement and the architecture recorded in a core file are separate constraints. ### Impact and scope P3. The help and schema descriptions understate documented support. No incorrect analysis result, rejected valid core, data loss, or blocked workflow was observed. The recorded-crash guide and MCP description provide the missing architecture information as a practical workaround. Discovery rendering succeeded on the verification host without invoking a core decoder. End-to-end AArch64 core decoding was not tested. ### REA version 6.4.0 (main at 58300885207133422af235e0f2b10658cf958b03) ### Runtime and platform Node 26.10.0; macOS arm64. The verifier did not record the OS version. ### Target and artifact context No target or input artifact is required. The affected description concerns supplied Linux ELF64 little-endian core files with the documented x86-64 and AArch64 profiles. ### Interface CLI ### Earliest failure stage Transport or result projection ### Relevant output or evidence ```text inspect-recorded-crash --help: Arguments: path Local Linux amd64 ELF core inspect-recorded-crash --schema: path: type: string description: Local Linux amd64 ELF core Both commands: exit 0; stderr empty. ``` ### Typed outcome or recovery expected Repeat both CLI discovery commands. Both path descriptions should communicate the documented x86-64 and AArch64 profiles, or include both through architecture-neutral wording. Both commands should continue to succeed and retain the required string-valued `path` argument and the optional debugger-context option. This wording correction does not require changing core acceptance or decoder behavior. ### Analysis or suspected cause Source-derived at `58300885207133422af235e0f2b10658cf958b03`: `src/cli/binaryDiagnosticsCommands.ts:77` sets the recorded-crash path description to `Local Linux amd64 ELF core`. The same wording appears in the prepared built CLI at `dist/cli-runtime/cli.js:8367`, which the dispatcher loads. Source-derived corroboration: `src/domain/native/recordedCrash.ts:89-132` defines both architecture profiles. `bridge/pwntools/recorded_crash_impl.py:18,60-82` admits machine identifiers 62 and 183 and selects the corresponding ABI profile. These source facts corroborate the documented support; they do not establish an executed decoder run. ### Additional context Related issue [#2353](https://github.com/morluto/rea/issues/2353) and merged PR [#2505](https://github.com/morluto/rea/pull/2505) added AArch64 decoding; this report concerns the CLI help/schema description that still omits that documented support. The P3 rating reflects a wording defect with an available documentation workaround and no observed consequential behavior change.
bsakaguchi 2026-10-15 18:31:07 +00:00
  • closed this issue
  • added the
    bug
    label
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#1106
No description provided.