[PR #3060] [MERGED] test(ghidra): preserve address alias restoration failures #5585

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

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/3060
Author: @N0zoM1z0
Created: 10/14/2026
Status: ✅ Merged
Merged: 10/14/2026
Merged by: @N0zoM1z0

Base: main ← Head: fix/2924-ghidra-verifier-alias-restoration


📝 Commits (3)

  • 3ba1f6e fix(ghidra): restore temporary verifier address aliases
  • a4d293b test(ghidra): align alias restoration regressions with upstream
  • f0a59fa Merge remote-tracking branch 'origin/main' into HEAD

📊 Changes

2 files changed (+146 additions, -0 deletions)

View changed files

➕ scripts/lib/real-ghidra-address-boundaries.d.mts (+8 -0)
➕ tests/boundary/providers/ghidra/addressBoundaryRestoration.test.ts (+138 -0)

📄 Description

The shared DOS/COM segmented-address verifier temporarily renames the entry. The restoration merged in main4d4631ac must also work when the alias write succeeds but its reply fails, and must report rejected restoration or mismatching readback without losing an earlier verification failure.

Add six distinct restoration regressions and a named client/CLI type declaration. Cover exact observed-name preservation, uncertain writes, both restoration failure modes, simultaneous failures, and entries without a restorable name. The final diff reuses the upstream verifier implementation unchanged.

Validation on heada4d293b61b28fca8e708d0e41c5c565312c8665a based on captured mainfab33a66:

  • All six boundary cases and complete npm run check pass; earlier old-helper execution fails all six restoration scenarios.
  • Complete real Linux Ghidra12.1.4/JDK21 DOS and COM CLI/MCP lanes pass, retaining strict parity, address-overflow/collision rejection, immutable input and verified owned cleanup. All3691trackedsource and1557runtime hashes match after both runs.
  • DOS: 182.85s wall, 366.24s waited-child CPU, 2334.6MiB peak summed-family RSS estimate. COM: 95.37s wall, 599.08s CPU, 2158.7MiB RSS estimate. Shared-host samples, no isolated speedup or agent-token claim.

Public name restoration does not establish restoration of private symbol SourceType provenance. The verifier's three small live name queries have no cache because current mutation state requires fresh reads.

Closes #2924

Current CI has eight unrelated baseline failures: five source cases (JavaScript semantic observations and IDA admission), plus browser comparison SDK schema and two JavaScript configuration CLI/MCP cases. The identical failures reproduce on an independent captured-main fab33a66 checkout: source selection5fail/87pass onbothheadandmain; the three boundary cases fail identically. Every tracked blob except this PR's two added files matches that main revision. No unrelated repair is included. Current-head review passes; normal merge remains blocked by the required CI gates.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/3060 **Author:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Created:** 10/14/2026 **Status:** ✅ Merged **Merged:** 10/14/2026 **Merged by:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Base:** `main` ← **Head:** `fix/2924-ghidra-verifier-alias-restoration` --- ### 📝 Commits (3) - [`3ba1f6e`](https://github.com/morluto/rea/commit/3ba1f6ef2201d53a3659c9667afbf837201a655d) fix(ghidra): restore temporary verifier address aliases - [`a4d293b`](https://github.com/morluto/rea/commit/a4d293b61b28fca8e708d0e41c5c565312c8665a) test(ghidra): align alias restoration regressions with upstream - [`f0a59fa`](https://github.com/morluto/rea/commit/f0a59fa1a98d85fbed02995d1c8f0242f0b269e0) Merge remote-tracking branch 'origin/main' into HEAD ### 📊 Changes **2 files changed** (+146 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `scripts/lib/real-ghidra-address-boundaries.d.mts` (+8 -0) ➕ `tests/boundary/providers/ghidra/addressBoundaryRestoration.test.ts` (+138 -0) </details> ### 📄 Description The shared DOS/COM segmented-address verifier temporarily renames the entry. The restoration merged in main4d4631ac must also work when the alias write succeeds but its reply fails, and must report rejected restoration or mismatching readback without losing an earlier verification failure. Add six distinct restoration regressions and a named client/CLI type declaration. Cover exact observed-name preservation, uncertain writes, both restoration failure modes, simultaneous failures, and entries without a restorable name. The final diff reuses the upstream verifier implementation unchanged. Validation on heada4d293b61b28fca8e708d0e41c5c565312c8665a based on captured mainfab33a66: - All six boundary cases and complete `npm run check` pass; earlier old-helper execution fails all six restoration scenarios. - Complete real Linux Ghidra12.1.4/JDK21 DOS and COM CLI/MCP lanes pass, retaining strict parity, address-overflow/collision rejection, immutable input and verified owned cleanup. All3691trackedsource and1557runtime hashes match after both runs. - DOS: 182.85s wall, 366.24s waited-child CPU, 2334.6MiB peak summed-family RSS estimate. COM: 95.37s wall, 599.08s CPU, 2158.7MiB RSS estimate. Shared-host samples, no isolated speedup or agent-token claim. Public name restoration does not establish restoration of private symbol SourceType provenance. The verifier's three small live name queries have no cache because current mutation state requires fresh reads. Closes #2924 Current CI has eight unrelated baseline failures: five source cases (JavaScript semantic observations and IDA admission), plus browser comparison SDK schema and two JavaScript configuration CLI/MCP cases. The identical failures reproduce on an independent captured-main fab33a66 checkout: source selection5fail/87pass onbothheadandmain; the three boundary cases fail identically. Every tracked blob except this PR's two added files matches that main revision. No unrelated repair is included. Current-head review passes; normal merge remains blocked by the required CI gates. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-31 01:07:46 +00:00
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#5585
No description provided.