Неустранимая ошибка nodejs v10.15.1 при загрузке большого файла и его разборе - PullRequest
0 голосов
/ 23 сентября 2019

<--- Last few GCs --->

[3516:0x102644000]   530256 ms: Scavenge 1395.5 (1420.7) -> 1395.2 (1421.2) MB, 5.2 / 0.0 ms  (average mu = 0.139, current mu = 0.032) allocation failure
[3516:0x102644000]   531373 ms: Mark-sweep 1395.9 (1421.2) -> 1395.7 (1421.2) MB, 1113.7 / 0.0 ms  (average mu = 0.081, current mu = 0.012) allocation failure scavenge might not succeed


<--- JS stacktrace --->

==== JS stack trace =========================================

    0: ExitFrame [pc: 0x1bbcae05be3d]
    1: StubFrame [pc: 0x1bbcae0582b0]
Security context: 0x019c3301e6e1 <JSObject>
    2: __onField [0x19c81ab4581] [/private/var/www/backend/node_modules/csv-parse/lib/index.js:~681] [pc=0x1bbcae8cc139](this=0x019ca2e78389 <Transform map = 0x19cf8024d29>)
    3: __parse [0x19c81ab4469] [/private/var/www/backend/node_modules/csv-parse/lib/index.js:~355] [pc=0x1bbcae8c9b5e](this=0x019ca2e78389 <...

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
 1: 0x10003b1db node::Abort() [/usr/local/bin/node]
 2: 0x10003b3e5 node::OnFatalError(char const*, char const*) [/usr/local/bin/node]
 3: 0x1001a86b5 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/usr/local/bin/node]
 4: 0x100573ad2 v8::internal::Heap::FatalProcessOutOfMemory(char const*) [/usr/local/bin/node]
 5: 0x1005765a5 v8::internal::Heap::CheckIneffectiveMarkCompact(unsigned long, double) [/usr/local/bin/node]
 6: 0x10057244f v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [/usr/local/bin/node]
 7: 0x100570624 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/usr/local/bin/node]
 8: 0x10057cebc v8::internal::Heap::AllocateRawWithLigthRetry(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [/usr/local/bin/node]
 9: 0x10057cf3f v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [/usr/local/bin/node]
10: 0x10054c884 v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationSpace) [/usr/local/bin/node]
11: 0x1007d4894 v8::internal::Runtime_AllocateInNewSpace(int, v8::internal::Object**, v8::internal::Isolate*) [/usr/local/bin/node]
12: 0x1bbcae05be3d
13: 0x1bbcae0582b0
14: 0x1bbcae8cc139
sh: line 1:  3516 Abort trap: 6           node --inspect=9411 build/index.js
[nodemon] app crashed - waiting for file changes before starting...


1 Ответ

0 голосов
/ 23 сентября 2019
  • Ошибка показывает, что кучи JS не хватает памяти.
  • Поэтому нам нужно найти способ увеличить максимальный размер пространства.
  • Для запуска этого процесса нам необходимо передать некоторые дополнительные параметры

Iбудет использовать --max-old-space-size=<however much space you want>.

...