Skip to content

Multiple independent reports of out-of-memory crash after updating 24.18.1->24.19.0 #65110

Description

@RobinsonWM

Version

v24.19.0

Platform

Linux 6.1.176-223.369.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jul 24 13:34:27 UTC 2026 x86_64 GNU/Linux
Running in a Docker container from the image node:24-trixie-slim

Another report on Heroku with the default Node buildpack

Another report in a Docker container from the image node:24-alpine

Subsystem

No response

What steps will reproduce the bug?

There are three independent reports of Node.js crashing for out-of-memory after updating from v24.18.1 to v24.19.0: nodejs/help#5165. Unfortunately all three reports are non-specific: complicated applications that ran fine on v24.18.1, now crash with out-of-memory on 24.19.0. Rolling back to 24.18.1 resolved the problem in all three cases, suggesting that there wasn't a coincidental update of the application code or a dependency at the same time as the Node.js update. Metrics don't provide evidence of an actual memory leak.

Example console output before crash:

<--- Last few GCs --->

[5919:0x24572000] 15150338 ms: Scavenge 2034.3 (2049.2) -> 2033.6 (2049.4) MB, pooled: 2 MB, 0.63 / 0.00 ms  (average mu = 0.140, current mu = 0.000) allocation failure;
[5919:0x24572000] 15151703 ms: Mark-Compact 2034.5 (2049.4) -> 2033.8 (2049.9) MB, pooled: 2 MB, 1364.68 / 0.00 ms  (average mu = 0.083, current mu = 0.005) allocation failure; scavenge might not succeed

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
----- Native stack trace -----

 1: 0x75356c node::OOMErrorHandler(char const*, v8::OOMDetails const&) [node]
 2: 0xc52cd0  [node]
 3: 0xc52dbf  [node]
 4: 0xef6695  [node]
 5: 0xef66c2  [node]
 6: 0xef69ba  [node]
 7: 0xf076ba  [node]
 8: 0xf0ba60  [node]
 9: 0x199e0d1  [node]

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

This issue occurs inconsistently (after hours or minutes) and has been seen in one load testing environment and two production environments.

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

Node.js should only crash with out-of-memory if the application is leaking memory; otherwise it should not crash.

What do you see instead?

The application crashes after some time in production environment with out-of-memory under normal workload.

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions