ponder-sh / ponder

A backend framework for crypto apps
https://ponder.sh
MIT License
630 stars 98 forks source link

Out Of Memory after upgrading to `0.5.9` #1031

Closed robiiinos closed 2 months ago

robiiinos commented 2 months ago

Upgraded my Ponder instance from 0.5.7 to 0.5.9, and upon restart the indexing using cached data crashed with OOM error. App is hosted on Railway (with Pro settings set at 32Gb of RAM available), crashed at around ~4Gb used.

Using NodeJS 20.12.2

<--- Last few GCs --->

[15:0x3d6b150]   988584 ms: Scavenge 3381.8 (3540.3) -> 3369.0 (3533.5) MB, 23.43 / 0.02 ms  (average mu = 0.311, current mu = 0.300) external memory pressure; 
[15:0x3d6b150]   988720 ms: Scavenge 3380.6 (3539.7) -> 3373.6 (3537.4) MB, 34.54 / 0.00 ms  (average mu = 0.311, current mu = 0.300) external memory pressure; 
[15:0x3d6b150]   990452 ms: Scavenge 3392.6 (3545.8) -> 3381.9 (3542.5) MB, 19.39 / 0.03 ms  (average mu = 0.311, current mu = 0.300) external memory pressure; 

<--- JS stacktrace --->

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

----- Native stack trace -----

1: 0xab084b node::OOMErrorHandler(char const*, v8::OOMDetails const&) [/nix/store/6g9n96qf1yx139xklnmy3v4xhjvjgsji-nodejs-20.12.2/bin/node]
2: 0xe37f90 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [/nix/store/6g9n96qf1yx139xklnmy3v4xhjvjgsji-nodejs-20.12.2/bin/node]
3: 0xe38364 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [/nix/store/6g9n96qf1yx139xklnmy3v4xhjvjgsji-nodejs-20.12.2/bin/node]
4: 0x1057267  [/nix/store/6g9n96qf1yx139xklnmy3v4xhjvjgsji-nodejs-20.12.2/bin/node]
5: 0x10572eb  [/nix/store/6g9n96qf1yx139xklnmy3v4xhjvjgsji-nodejs-20.12.2/bin/node]
6: 0x106e3c0 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::internal::GarbageCollectionReason, char const*) [/nix/store/6g9n96qf1yx139xklnmy3v4xhjvjgsji-nodejs-20.12.2/bin/node]
7: 0x106eee7 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/nix/store/6g9n96qf1yx139xklnmy3v4xhjvjgsji-nodejs-20.12.2/bin/node]
8: 0x106f70c v8::internal::Heap::CollectAllGarbage(int, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/nix/store/6g9n96qf1yx139xklnmy3v4xhjvjgsji-nodejs-20.12.2/bin/node]
9: 0x106f7a8 v8::internal::Heap::ReportExternalMemoryPressure() [/nix/store/6g9n96qf1yx139xklnmy3v4xhjvjgsji-nodejs-20.12.2/bin/node]
10: 0xe56828 v8::Isolate::AdjustAmountOfExternalAllocatedMemory(long) [/nix/store/6g9n96qf1yx139xklnmy3v4xhjvjgsji-nodejs-20.12.2/bin/node]
11: 0xeac86d  [/nix/store/6g9n96qf1yx139xklnmy3v4xhjvjgsji-nodejs-20.12.2/bin/node]
12: 0xeacbd4 v8::internal::Builtin_ArrayBufferConstructor(int, unsigned long*, v8::internal::Isolate*) [/nix/store/6g9n96qf1yx139xklnmy3v4xhjvjgsji-nodejs-20.12.2/bin/node]
13: 0x18a4df6  [/nix/store/6g9n96qf1yx139xklnmy3v4xhjvjgsji-nodejs-20.12.2/bin/node]

Aborted
error Command failed with exit code 134.
robiiinos commented 2 months ago

Re-tried with 0.5.12, haven't been able to reproduce. Closing.