[GH-ISSUE #5631] [Bug] Fixed capture budgets recommend changing worker or host memory #3413

Closed
opened 2026-10-31 00:40:06 +00:00 by bsakaguchi · 2 comments
Owner

Originally created by @cursor[bot] on GitHub (Oct 20, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/5631

Before submitting

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

Area

Process capture or runtime observation

Observed behavior

Source-derived. Several fixed capture or decoder allowances throw AnalysisResourceConstraintError with resource: "memory" and no remediationAction. They therefore project the host-memory fallback: review worker memory limits and available host memory, then retry. The allowances do not grow when the host has more memory.

Sites read on current main:

  • src/apktool/ApktoolProvider.ts: apktool output above maxOutputBytes
  • src/adb/AdbCommand.ts: adb output above maxOutputBytes
  • src/adb/AdbConfiguration.ts: adb version output above VERSION_MAX_OUTPUT_BYTES
  • src/captures/TsharkCaptureProvider.ts: packet-field discovery above FIELD_RECORD_BUDGET
  • src/pcap/PcapCommand.ts: tool output above maxOutputBytes
  • src/pcap/PcapOutput.ts: tshark JSON byte, expansion, and retained-fact allowances
  • src/signals/SigrokRecordingProvider.ts: decoder discovery above the 65536-line budget
  • src/native/NativeMacOSProvider.ts: native command output above its capture budget

No CLI or tool replay of these refusals was run for this report. Genuine heap exhaustion and process memory-limit signals are a different case and are not included.

Reproduction

NOT_ENOUGH_INFO for runtime reproduction. Each site constructs the error without remediationAction. src/domain/analysisErrorPresentation.ts then uses the memory fallback.

Expected behavior

Keep the refusals and reported allowances. Say the capture allowance is fixed and that worker or host memory does not raise it. Repeating the unchanged request fails the same way.

Impact and scope

Recovery text only. The refusals stay intentional. Frequency on real captures is unknown.

REA version

Source on main during this audit (6.7.0 line).

Runtime and platform

NOT_ENOUGH_INFO. No runtime reproduction.

Target and artifact context

NOT_ENOUGH_INFO. No capture was executed for this report.

Interface

CLI and MCP error projection for the operations those providers serve.

Earliest failure stage

Provider or capture result projection

Relevant output or evidence

Source constructors listed above. The shared fallback sentence is in analysisErrorPresentation.ts.

Typed outcome or recovery expected

Keep resource_constraint and retryable: false. Recovery should name the fixed capture allowance.

Analysis or suspected cause

Fixed capture ceilings were classified as memory, which the shared presentation treats as a worker or host memory shortage.

Additional context

Same recovery class as #5556, which covers static inspection budgets rather than these capture producers.

Originally created by @cursor[bot] on GitHub (Oct 20, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/5631 ### 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 Process capture or runtime observation ### Observed behavior Source-derived. Several fixed capture or decoder allowances throw `AnalysisResourceConstraintError` with `resource: "memory"` and no `remediationAction`. They therefore project the host-memory fallback: review worker memory limits and available host memory, then retry. The allowances do not grow when the host has more memory. Sites read on current main: - `src/apktool/ApktoolProvider.ts`: apktool output above `maxOutputBytes` - `src/adb/AdbCommand.ts`: adb output above `maxOutputBytes` - `src/adb/AdbConfiguration.ts`: adb version output above `VERSION_MAX_OUTPUT_BYTES` - `src/captures/TsharkCaptureProvider.ts`: packet-field discovery above `FIELD_RECORD_BUDGET` - `src/pcap/PcapCommand.ts`: tool output above `maxOutputBytes` - `src/pcap/PcapOutput.ts`: tshark JSON byte, expansion, and retained-fact allowances - `src/signals/SigrokRecordingProvider.ts`: decoder discovery above the 65536-line budget - `src/native/NativeMacOSProvider.ts`: native command output above its capture budget No CLI or tool replay of these refusals was run for this report. Genuine heap exhaustion and process memory-limit signals are a different case and are not included. ### Reproduction NOT_ENOUGH_INFO for runtime reproduction. Each site constructs the error without `remediationAction`. `src/domain/analysisErrorPresentation.ts` then uses the memory fallback. ### Expected behavior Keep the refusals and reported allowances. Say the capture allowance is fixed and that worker or host memory does not raise it. Repeating the unchanged request fails the same way. ### Impact and scope Recovery text only. The refusals stay intentional. Frequency on real captures is unknown. ### REA version Source on `main` during this audit (6.7.0 line). ### Runtime and platform NOT_ENOUGH_INFO. No runtime reproduction. ### Target and artifact context NOT_ENOUGH_INFO. No capture was executed for this report. ### Interface CLI and MCP error projection for the operations those providers serve. ### Earliest failure stage Provider or capture result projection ### Relevant output or evidence Source constructors listed above. The shared fallback sentence is in `analysisErrorPresentation.ts`. ### Typed outcome or recovery expected Keep `resource_constraint` and `retryable: false`. Recovery should name the fixed capture allowance. ### Analysis or suspected cause Fixed capture ceilings were classified as memory, which the shared presentation treats as a worker or host memory shortage. ### Additional context Same recovery class as #5556, which covers static inspection budgets rather than these capture producers.
Author
Owner

@matbrgz commented on GitHub (Oct 20, 2026):

Cross-referencing with canonical issue #5504 and siblings #5628, #5630, #5632. Addressed by maintainer PR #5633 regarding fixed capture allowances and memory recovery guidance. Cataloged under Cluster AJ in consolidation tracker #4330.

<!-- gh-comment-id:6297497594 --> @matbrgz commented on GitHub (Oct 20, 2026): Cross-referencing with canonical issue #5504 and siblings #5628, #5630, #5632. Addressed by maintainer PR #5633 regarding fixed capture allowances and memory recovery guidance. Cataloged under Cluster AJ in consolidation tracker #4330.
Author
Owner

@morluto commented on GitHub (Oct 21, 2026):

Closing as fixed on main by github.com/morluto/rea@ef59174c1e, retained at 67a6477f01.

Fixed capture-budget errors now name the actual capture allowance and use non-retryable recovery rather than host/worker-memory advice. Volatile ADB observations deliberately remain retryable because their output can change; mutations and deterministic captures stay non-retryable. Shared and producer regressions pin those distinctions.

This audit inspected the current producer, regression source, issue discussion and main ancestry. Tests/runtime reproductions were not rerun, and no additional real-provider or platform coverage is implied.

<!-- gh-comment-id:6324340468 --> @morluto commented on GitHub (Oct 21, 2026): Closing as fixed on main by https://github.com/morluto/rea/commit/ef59174c1edd6ed9adb0722b86a5b9a57217e310, retained at 67a6477f011ae358fc333e5a6e26c86d932654ed. Fixed capture-budget errors now name the actual capture allowance and use non-retryable recovery rather than host/worker-memory advice. Volatile ADB observations deliberately remain retryable because their output can change; mutations and deterministic captures stay non-retryable. Shared and producer regressions pin those distinctions. This audit inspected the current producer, regression source, issue discussion and main ancestry. Tests/runtime reproductions were not rerun, and no additional real-provider or platform coverage is implied.
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#3413
No description provided.