console: guard AggregateError .errors recursion (cycle, depth, tampered property) - #35825
Closed
robobun wants to merge 11 commits into
Closed
console: guard AggregateError .errors recursion (cycle, depth, tampered property)#35825robobun wants to merge 11 commits into
robobun wants to merge 11 commits into
Claude / Claude Code Review
completed
Jul 26, 2026 in 36m 40s
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:4883 |
Sticky formatter.failed gate suppresses sibling AggregateError .errors on non-throwing sinks |
Annotations
Check warning on line 4883 in src/jsc/VirtualMachine.rs
claude / Claude Code Review
Sticky formatter.failed gate suppresses sibling AggregateError .errors on non-throwing sinks
On the `can_throw_stack_overflow=false` sinks (uncaught-throw / unhandled-reject — `Formatter::new()` at VirtualMachine.rs:4471 and jsc_hooks.rs:1196), `formatter.failed` is set at L5574 without an exception and never reset, so once one deep `.errors` branch trips the stack guard, this `!formatter.failed` gate silently skips the `.errors` iteration for every *following sibling* aggregate even though the stack has fully unwound. Since on the `can_throw=true` path the RangeError is already covered
Loading