node.js Ошибка при разборе pdf файла от 27 Mo с использованием модуля pdf2json - PullRequest
0 голосов
/ 09 июля 2020

Я новичок в node, и я пытаюсь проанализировать pdf-файл размером 27 Mo, который генерирует ошибку, которую я не понимаю, хотя я предполагаю, что это проблема ограничения памяти или времени выполнения. Я пробовал использовать оба метода (parseFileItems () и parseBuffer ()) класса PDFParser (module pdf2 json), и оба генерируют почти одинаковую ошибку, только <--- Последние несколько GC - -> немного отличается. Я вставляю ниже сообщения об ошибках, может кто-нибудь помочь мне расшифровать их, пожалуйста.

С использованием метода parseFileItems ():

<--- Last few GCs ---> (parseFileItems())

[6060:0x59b1100]   120866 ms: Mark-sweep 2046.5 (2050.5) -> 2045.4 (2050.7) MB, 2962.8 / 0.0     ms  (average mu = 0.118, current mu = 0.022) allocation failure scavenge might not succeed
[6060:0x59b1100]   123367 ms: Mark-sweep 2046.5 (2050.7) -> 2045.5 (2050.7) MB, 2482.6 / 0.0 ms  (average mu = 0.067, current mu = 0.007) allocation failure scavenge might not succeed

С использованием метода parseBuffer ():

<--- Last few GCs --->

[5216:0x5285100]   125152 ms: Mark-sweep 2046.4 (2051.0) -> 2045.1 (2050.7) MB, 2873.1 / 0.0 ms  (+ 0.1 ms in 45 steps since start of marking, biggest step 0.0 ms, walltime since start of marking 2897 ms) (average mu = 0.133, current mu = 0.092) allocatio[5216:0x5285100]   127698 ms:    Mark-sweep 2046.0 (2050.7) -> 2045.1 (2050.5) MB, 2512.4 / 0.0 ms  (average mu = 0.078, current mu = 0.013) allocation failure scavenge might not succeed

С обоими методами:

<--- JS stacktrace --->

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
 1: 0xa2afd0 node::Abort() [node]
 2: 0x97a467 node::FatalError(char const*, char const*) [node]
 3: 0xb9e04e v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node]
 4: 0xb9e3c7 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node]
 5: 0xd3e7d5  [node]
 6: 0xd3f17b v8::internal::Heap::RecomputeLimits(v8::internal::GarbageCollector) [node]
 7: 0xd4cf72 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector,   v8::GCCallbackFlags) [node]
 8: 0xd4ddc5 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]
 9: 0xd5078c v8::internal::Heap::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node]
 10: 0xd1fe2b v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationType, v8::internal::AllocationOrigin) [node]
 11: 0x105014f v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*,    v8::internal::Isolate*) [node]
12: 0x13a9e39  [node]
Aborted
...