Skip to content

console: guard AggregateError .errors recursion (cycle, depth, tampered property) - #35825

Closed
robobun wants to merge 11 commits into
mainfrom
farm/6e616f86/aggregate-error-cycle-guard
Closed

console: guard AggregateError .errors recursion (cycle, depth, tampered property)#35825
robobun wants to merge 11 commits into
mainfrom
farm/6e616f86/aggregate-error-cycle-guard

gate: retrigger (release build infra timeout)

c4ec505
Select commit
Loading
Failed to load commit list.
Claude / Claude Code Review completed Jul 26, 2026 in 44m 19s

Code review found 1 potential issue

Found 1 candidates, confirmed 1. See review comments for details.

Details

Severity Count
🔴 Important 0
🟡 Nit 1
🟣 Pre-existing 0
Severity File:Line Issue
🟡 Nit src/jsc/VirtualMachine.rs:4893-4898 clear_exception() swallows pending stack-overflow RangeError from header print

Annotations

Check warning on line 4898 in src/jsc/VirtualMachine.rs

See this annotation in the file changed.

@claude claude / Claude Code Review

clear_exception() swallows pending stack-overflow RangeError from header print

On the `Bun.inspect`/`console.log` path (`can_throw_stack_overflow=true`), `print_error_from_maybe_private_data` (L4826) can hit `print_error_instance_js`'s stack guard at L5569 — which sets `formatter.failed`, calls `throw_stack_overflow()`, and returns `Ok(())` — leaving a `RangeError` pending; `for_each` then trips on it and this `clear_exception()` swallows it. On Windows the L5569 threshold (~544KB) is strictly higher than L4792's 256KB, so the `[AggregateError: nesting too deep]` marker is