Skip to content

crash when trying to create large arrays (32 GB+) due to V8's check for kMaxReasonableBytes #65534

Description

@p-

Version

v26.7.0 (default build)

Platform

Linux codespaces-f57093 6.8.0-1052-azure #58~22.04.1-Ubuntu SMP Thu Mar 26 05:02:21 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux

Subsystem

No response

What steps will reproduce the bug?

  1. use a system with more than 32 GB of available RAM (e.g. a system with 64 GB should work)
  2. execute following code new Float64Array(4_294_967_297)

How often does it reproduce? Is there a required condition?

Always, given the system has enough RAM and the node.js/V8 version is more recent.

What is the expected behavior? Why is that the expected behavior?

Allow the creation of such an array OR throw a RangeError:RangeError: Array buffer allocation failed instead of crashing.

What do you see instead?

Node process crashes with:

#
# Fatal error in , line 0
# Check failed: change_in_bytes < kMaxReasonableBytes.
#
#
#
#FailureMessage Object: 0x7ffc724c2690
----- Native stack trace -----

 1: 0xa59d91  [node]
 2: 0x27e0a91 V8_Fatal(char const*, ...) [node]
 3: 0xca377d  [node]
 4: 0x119eebb  [node]
 5: 0x119ecef  [node]
 6: 0xcd18e2  [node]
 7: 0xcd0d9a  [node]
 8: 0x7b579be7e9b6 
Trace/breakpoint trap (core dumped)

Additional information

It's not clear to me whether this bug should be resolved in node or V8.
It looks like this 32 GB limit could have been introduced into V8 at the end of last year (commit).

External size check can be switched off with --external-memory-max-reasonable-size=0.

Metadata

Metadata

Assignees

No one assigned

    Labels

    cliIssues and PRs related to the Node.js command line interface.v8 engineIssues and PRs related to the V8 dependency.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions