Skip to content

perf(evm): avoid repeated cleanup diagnostics - #1622

Merged
N0zoM1z0 merged 2 commits into
mainfrom
perf/evm-cleanup-diagnostics-1065
Oct 10, 2026
Merged

N0zoM1z0 merged 2 commits into
mainfrom
perf/evm-cleanup-diagnostics-1065

Conversation

@N0zoM1z0

Copy link
Copy Markdown
Collaborator

An EVM command output overflow combined with incomplete cleanup currently wraps the same cleanup failure twice and repeats the full captured stdout in previous-error metadata. Return the original mapped failure while retaining its cleanup owner and resources, and keep stdout/stderr once in canonical captured_output. The original output-limit cause, exit/signal facts, truncation and retry behavior remain available. No new output caps or tool/schema changes.

The regression uses actual owned subprocess output and retryable cleanup, with a bounded assertion projection so a failure cannot print megabytes of diagnostics. It also verifies that an uncertain owner blocks another launch until cleanup recovers. Browser socket-release and external-target controls proposed in closed #1617 are retained alongside the detach regression from merged #1618. This is the remaining follow-up after those existing PRs were handled.

Refs #1065. Follow-up to #1618 and #1617.

Validation on main 16d9c5ad plus this change (0ab1e7f7):

  • 167 runnable tests across 13 affected process/filesystem/browser/firmware files; two platform skips. The duplicate-diagnostic regression fails before the fix and passes after it.
  • Fresh runtime/metadata build and all eight type/lint/format/unused-code/duplication/documentation/architecture/discovery checks pass.
  • Actual owned subprocess overflow with injected cleanup-reporting failure: projected error 2,098,769 -> 1,049,484 bytes, retaining all 1,048,576 captured stdout bytes and the original failure. Serialized bytes are not billed-token measurements.
  • Real 66-byte Chrome-page and five-byte EVM-bytecode CLI/pinned-SDK MCP controls pass. EVM normalized results and Evidence IDs match; text/structured parity, unchanged bytecode source, subsequent ping, browser cancellation, external-target preservation and owned browser cleanup pass. A hung domain-disable reply is covered by the deterministic HTTP/WebSocket peer, separately from real Chrome.

Linux x64, Node 24.18.0. No chain/bytecode execution, real firmware extraction or Hopper/Ghidra claim. Existing large-folder JavaScript OOM #1563 remains open.

Incorporate the connection-release controls from #1617 while retaining the independent detach regression.
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Repo admins can enable using credits for code reviews in their settings.

@N0zoM1z0
N0zoM1z0 merged commit c12a532 into main Oct 10, 2026
20 checks passed
@N0zoM1z0
N0zoM1z0 deleted the perf/evm-cleanup-diagnostics-1065 branch October 10, 2026 19:28
@morluto morluto added performance Performance regressions, scaling limits, and bounded-resource work area: native Native analysis and decompilation, including Ghidra, IDA, and Hopper analysis behavior labels Oct 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: native Native analysis and decompilation, including Ghidra, IDA, and Hopper analysis behavior performance Performance regressions, scaling limits, and bounded-resource work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants