Skip to content

Heap OOM running pnpm install react-native-ui-lib #8854

@bcye

Description

@bcye

Verify latest release

  • I verified that the issue exists in the latest pnpm release

pnpm version

No response

Which area(s) of pnpm are affected? (leave empty if unsure)

No response

Link to the code that reproduces this issue or a replay of the bug

https://github.com/bcye/mapvoyage/tree/34173072d7736623657c123906f691a625c8c939

Reproduction steps

  1. Clone repository at that commit
  2. cd app
  3. pnpm install react-native-ui-lib or pnpx expo install react-native-ui-lib

Describe the Bug

After resolving ca. 1000 dependencies, pnpm gets stuck for a few seconds and then prints a node heap OOM error. The command works in npm and in pnpm with other libraries.

Full log:

 WARN  10 deprecated subdependencies found: @babel/plugin-proposal-class-properties@7.18.6, @babel/plugin-proposal-nullish-coalescing-operator@7.18.6, @babel/plugin-proposal-optional-chaining@7.21.0, @xmldom/xmldom@0.7.13, abab@2.0.6, domexception@4.0.0, glob@7.2.3, inflight@1.0.6, rimraf@2.6.3, rimraf@3.0.2
 WARN  Issues with peer dependencies found
.
└─┬ jest-expo 52.0.2
  └─┬ react-server-dom-webpack 19.0.0-rc-6230622a1a-20240610
    ├── ✕ unmet peer react@19.0.0-rc-6230622a1a-20240610: found 18.3.1
    └── ✕ unmet peer react-dom@19.0.0-rc-6230622a1a-20240610: found 18.3.1

Progress: resolved 1091, reused 15, downloaded 0, added 0

<--- Last few GCs --->

[15239:0x3f5468e0]    17646 ms: Mark-Compact (reduce) 2047.0 (2083.3) -> 2046.5 (2083.8) MB, 407.65 / 0.00 ms  (average mu = 0.096, current mu = 0.004) allocation failure; scavenge might not succeed


<--- JS stacktrace --->

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

 1: 0xb8ced1 node::OOMErrorHandler(char const*, v8::OOMDetails const&) [node]
 2: 0xf06460 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [node]
 3: 0xf06747 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [node]
 4: 0x11182e5  [node]
 5: 0x1118874 v8::internal::Heap::RecomputeLimits(v8::internal::GarbageCollector) [node]
 6: 0x112f764 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::internal::GarbageCollectionReason, char const*) [node]
 7: 0x112ff7c v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]
 8: 0x1106281 v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node]
 9: 0x1107415 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node]
10: 0x10e4a66 v8::internal::Factory::NewFillerObject(int, v8::internal::AllocationAlignment, v8::internal::AllocationType, v8::internal::AllocationOrigin) [node]
11: 0x1540896 v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [node]
12: 0x7f7f73ed9ef6 
Aborted (core dumped)

Expected Behavior

pnpm successfully installs the dependency.

Which Node.js version are you using?

20.18.0

Which operating systems have you used?

  • macOS
  • Windows
  • Linux

If your OS is a Linux based, which one it is? (Include the version if relevant)

Fedora Workstation 41

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    Priority

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions