FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
1: 0x8fa090 node::Abort() [/usr/local/bin/node]
2: 0x8fa0dc [/usr/local/bin/node]
3: 0xb0052e v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/usr/local/bin/node]
4: 0xb00764 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/usr/local/bin/node]
5: 0xef4c72 [/usr/local/bin/node]
6: 0xef4d78 v8::internal::Heap::CheckIneffectiveMarkCompact(unsigned long, double) [/usr/local/bin/node]
7: 0xf00e52 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [/usr/local/bin/node]
8: 0xf01784 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/usr/local/bin/node]
9: 0xf043f1 v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [/usr/local/bin/node]
10: 0xecc6d5 [/usr/local/bin/node]
11: 0xed3f4a v8::internal::Factory::NewRawOneByteString(int, v8::internal::PretenureFlag) [/usr/local/bin/node]
12: 0xed425b v8::internal::Factory::NewStringFromOneByte(v8::internal::Vector<unsigned char const>, v8::internal::PretenureFlag) [/usr/local/bin/node]
13: 0xed4cad v8::internal::Factory::NewStringFromUtf8(v8::internal::Vector<char const>, v8::internal::PretenureFlag) [/usr/local/bin/node]
14: 0xb0e489 v8::String::NewFromUtf8(v8::Isolate*, char const*, v8::NewStringType, int) [/usr/local/bin/node]
15: 0x9c2708 node::StringBytes::Encode(v8::Isolate*, char const*, unsigned long, node::encoding, v8::Local<v8::Value>*) [/usr/local/bin/node]
16: 0x916680 [/usr/local/bin/node]
17: 0x2a73a409f721
Service error Error [ERR_IPC_CHANNEL_CLOSED]: Channel closed
at ChildProcess.target.send (internal/child_process.js:636:16)
at listenToMessage (/rsk-explorer-api/dist/services/blocks/index.js:47:19)
at ChildProcess.service.on.msg (/rsk-explorer-api/dist/services/blocks/index.js:63:32)
at ChildProcess.emit (events.js:198:13)
at emit (internal/child_process.js:832:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
...
events.js:174
throw er; // Unhandled 'error' event
^
Error: read ECONNRESET
at TCP.onStreamRead (internal/stream_base_commons.js:111:27)
Emitted 'error' event at:
at Socket.socketErrorListener (_http_client.js:401:9)
at Socket.emit (events.js:198:13)
at emitErrorNT (internal/streams/destroy.js:91:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
at process._tickCallback (internal/process/next_tick.js:63:19)
events.js:174
throw er; // Unhandled 'error' event
^
Error: read ECONNRESET
at TCP.onStreamRead (internal/stream_base_commons.js:111:27)
Emitted 'error' event at:
at Socket.socketErrorListener (_http_client.js:401:9)
at Socket.emit (events.js:198:13)
at emitErrorNT (internal/streams/destroy.js:91:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
at process._tickCallback (internal/process/next_tick.js:63:19)
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":46,"level":30,"msg":"Checking db / LastBlock: 421707","time":"2020-03-14T05:16:58.263Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":46,"level":30,"msg":"Checking db / LastBlock: 421720","time":"2020-03-14T05:17:00.427Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":46,"level":30,"msg":"Checking db / LastBlock: 421735","time":"2020-03-14T05:17:02.492Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":46,"level":30,"msg":"Checking db / LastBlock: 421748","time":"2020-03-14T05:17:04.254Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":46,"level":30,"msg":"Checking db / LastBlock: 421762","time":"2020-03-14T05:17:06.761Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":46,"level":30,"msg":"Checking db / LastBlock: 421774","time":"2020-03-14T05:17:08.091Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":52,"level":50,"msg":"Error saving block summary","time":"2020-03-14T05:17:09.775Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":46,"level":30,"msg":"Checking db / LastBlock: 421786","time":"2020-03-14T05:17:10.602Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":46,"level":30,"msg":"Checking db / LastBlock: 421798","time":"2020-03-14T05:17:13.622Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":46,"level":30,"msg":"Checking db / LastBlock: 421810","time":"2020-03-14T05:17:15.763Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":46,"level":30,"msg":"Checking db / LastBlock: 421825","time":"2020-03-14T05:17:17.070Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":46,"level":30,"msg":"Checking db / LastBlock: 421839","time":"2020-03-14T05:17:19.532Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":46,"level":30,"msg":"Checking db / LastBlock: 421851","time":"2020-03-14T05:17:20.325Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":46,"level":30,"msg":"Checking db / LastBlock: 421863","time":"2020-03-14T05:17:23.679Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":46,"level":30,"msg":"Checking db / LastBlock: 421877","time":"2020-03-14T05:17:24.490Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":52,"level":50,"msg":"Error saving block summary","time":"2020-03-14T05:17:29.466Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":46,"level":30,"msg":"Checking db / LastBlock: 421891","time":"2020-03-14T05:17:30.035Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":46,"level":30,"msg":"Checking db / LastBlock: 421906","time":"2020-03-14T05:17:32.501Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":46,"level":30,"msg":"Checking db / LastBlock: 421920","time":"2020-03-14T05:17:34.235Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":46,"level":30,"msg":"Checking db / LastBlock: 421933","time":"2020-03-14T05:17:34.928Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":46,"level":30,"msg":"Checking db / LastBlock: 421945","time":"2020-03-14T05:17:38.590Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":46,"level":30,"msg":"Checking db / LastBlock: 421957","time":"2020-03-14T05:17:38.591Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":46,"level":30,"msg":"Checking db / LastBlock: 421969","time":"2020-03-14T05:17:42.523Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":46,"level":30,"msg":"Checking db / LastBlock: 421982","time":"2020-03-14T05:17:42.524Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":46,"level":30,"msg":"Checking db / LastBlock: 421994","time":"2020-03-14T05:17:42.580Z","v":0}
{"name":"Blocks","hostname":"explorer-api-testnet-7c4ff5b959-8jmzm","pid":46,"level":30,"msg":"Checking db / LastBlock: 422008","time":"2020-03-14T05:17:42.582Z","v":0}
<--- Last few GCs --->
[46:0x3f715c0] 617133 ms: Mark-sweep 1397.7 (1424.1) -> 1397.4 (1424.1) MB, 1082.4 / 0.0 ms (average mu = 0.147, current mu = 0.046) allocation failure scavenge might not succeed
[46:0x3f715c0] 618159 ms: Mark-sweep 1398.1 (1424.1) -> 1397.7 (1424.6) MB, 1011.4 / 0.0 ms (average mu = 0.085, current mu = 0.015) allocation failure scavenge might not succeed
<--- JS stacktrace --->
==== JS stack trace =========================================
0: ExitFrame [pc: 0x2a73a409f721]
Security context: 0x0410042858a1 <JSObject>
1: stringSlice(aka stringSlice) [0x975e3193351] [buffer.js:~589] [pc=0x2a73a40b2def](this=0x3f69fd0026f1 <undefined>,buf=0x3a81f99c1239 <Uint8Array map = 0x1f0ab5cfdb1>,encoding=0x041004
299e79 <String[4]: utf8>,start=85924,end=85934)
2: deserializeObject(aka deserializeObject) [0x162e7b70cf01] [/rsk-explorer-api/node_modules/bson/lib/bson/parser/dese...
Determined from the code, the issue was caused by the 2 child processes.
It seems that the memory leak of the child process leads to a crash. In the current project architecture, the child process will not restart after the crash.