digital-fuesim-manv
digital-fuesim-manv copied to clipboard
Importing "exercise-state-2022-05-31-workshop-babz-großes-szenario.json" results in JS Heap going out of memory (no user feedback given)
The error accours (on dev branch) only in the logs, on the website the upload loading circle just stops spinning, no error message shown:
digital-fuesim-manv-dev | 2023-09-15T10:43:09.834289581Z
digital-fuesim-manv-dev | 2023-09-15T10:43:09.834346279Z <--- Last few GCs --->
digital-fuesim-manv-dev | 2023-09-15T10:43:09.834352622Z
digital-fuesim-manv-dev | 2023-09-15T10:43:09.834357822Z [27:0x5e060a0] 334473 ms: Mark-sweep (reduce) 2035.2 (2087.2) -> 2034.3 (2086.8) MB, 152.0 / 0.0 ms (average mu = 0.151, current mu = 0.049) allocation failure; scavenge might not succeed
digital-fuesim-manv-dev | 2023-09-15T10:43:09.834364905Z [27:0x5e060a0] 334642 ms: Mark-sweep (reduce) 2035.6 (2087.7) -> 2035.0 (2087.2) MB, 146.8 / 0.0 ms (average mu = 0.142, current mu = 0.133) allocation failure; scavenge might not succeed
digital-fuesim-manv-dev | 2023-09-15T10:43:09.834369926Z
digital-fuesim-manv-dev | 2023-09-15T10:43:09.834373593Z
digital-fuesim-manv-dev | 2023-09-15T10:43:09.834376969Z <--- JS stacktrace --->
digital-fuesim-manv-dev | 2023-09-15T10:43:09.834380656Z
digital-fuesim-manv-dev | 2023-09-15T10:43:09.834384483Z FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
digital-fuesim-manv-dev | 2023-09-15T10:43:09.834861752Z 1: 0xb7a940 node::Abort() [node]
digital-fuesim-manv-dev | 2023-09-15T10:43:09.835358938Z 2: 0xa8e823 [node]
digital-fuesim-manv-dev | 2023-09-15T10:43:09.835962190Z 3: 0xd5c990 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node]
digital-fuesim-manv-dev | 2023-09-15T10:43:09.836547677Z 4: 0xd5cd37 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node]
digital-fuesim-manv-dev | 2023-09-15T10:43:09.837184322Z 5: 0xf3a435 [node]
digital-fuesim-manv-dev | 2023-09-15T10:43:09.837828903Z 6: 0xf3b338 v8::internal::Heap::RecomputeLimits(v8::internal::GarbageCollector) [node]
digital-fuesim-manv-dev | 2023-09-15T10:43:09.838511396Z 7: 0xf4b843 [node]
digital-fuesim-manv-dev | 2023-09-15T10:43:09.839161698Z 8: 0xf4c6b8 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]
digital-fuesim-manv-dev | 2023-09-15T10:43:09.839811669Z 9: 0xf2701e v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node]
digital-fuesim-manv-dev | 2023-09-15T10:43:09.840504573Z 10: 0xf283e7 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node]
digital-fuesim-manv-dev | 2023-09-15T10:43:09.841115849Z 11: 0xf08930 v8::internal::Factory::AllocateRaw(int, v8::internal::AllocationType, v8::internal::AllocationAlignment) [node]
digital-fuesim-manv-dev | 2023-09-15T10:43:09.841721475Z 12: 0xf003a4 v8::internal::FactoryBase<v8::internal::Factory>::AllocateRawWithImmortalMap(int, v8::internal::AllocationType, v8::internal::Map, v8::internal::AllocationAlignment) [node]
digital-fuesim-manv-dev | 2023-09-15T10:43:09.842325607Z 13: 0xf02658 v8::internal::FactoryBase<v8::internal::Factory>::NewRawOneByteString(int, v8::internal::AllocationType) [node]
digital-fuesim-manv-dev | 2023-09-15T10:43:09.842964838Z 14: 0x103ffcd v8::internal::JsonParser<unsigned char>::MakeString(v8::internal::JsonString const&, v8::internal::Handle<v8::internal::String>) [node]
digital-fuesim-manv-dev | 2023-09-15T10:43:09.843603877Z 15: 0x1041cb6 v8::internal::JsonParser<unsigned char>::ParseJsonValue() [node]
digital-fuesim-manv-dev | 2023-09-15T10:43:09.844234561Z 16: 0x104272f v8::internal::JsonParser<unsigned char>::ParseJson() [node]
digital-fuesim-manv-dev | 2023-09-15T10:43:09.844797314Z 17: 0xde2686 v8::internal::Builtin_JsonParse(int, unsigned long*, v8::internal::Isolate*) [node]
digital-fuesim-manv-dev | 2023-09-15T10:43:09.845570993Z 18: 0x16fb7f9 [node]
digital-fuesim-manv-dev | 2023-09-15T10:43:12.837713944Z /docker-entrypoint.sh: line 50: 27 Aborted (core dumped) NODE_ENV=production node --experimental-specifier-resolution=node dist/src/index.js
digital-fuesim-manv-dev exited with code 0
The server doesn't crash, new exercises can be created.