digital-fuesim-manv icon indicating copy to clipboard operation
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)

Open anonym-HPI opened this issue 9 months ago • 0 comments

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.

anonym-HPI avatar Sep 15 '23 10:09 anonym-HPI