Lately our Docker containers have been throwing JavaScript heap out of memory while Webpack is executing in the background, specifically fork-ts-checker-webpack-plugin. A quick web search revealed that this issue may be solved by increasing the memoryLimit value of this plugin though some users were reporting this did not fix the problem for them. We should look into this a bit further.
skin_laika_1 | ============= 95% emitting fork-ts-checker-webpack-pluginFATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory skin_laika_1 | skin_laika_1 | <--- Last few GCs ---> skin_laika_1 | skin_laika_1 | [24:0x3628e10] 157797 ms: Mark-sweep 1370.8 (1402.3) -> 1370.6 (1401.8) MB, 101.9 / 0.0 ms (average mu = 0.456, current mu = 0.000) last resort GC in old space requested skin_laika_1 | [24:0x3628e10] 157908 ms: Mark-sweep 1370.6 (1401.8) -> 1370.6 (1401.8) MB, 110.7 / 0.0 ms (average mu = 0.282, current mu = 0.000) last resort GC in old space requested skin_laika_1 | skin_laika_1 | skin_laika_1 | <--- JS stacktrace ---> skin_laika_1 | skin_laika_1 | ==== JS stack trace ========================================= skin_laika_1 | skin_laika_1 | 0: ExitFrame [pc: 0x1d3dac25be1d] skin_laika_1 | Security context: 0x132c5149e6e1 <JSObject> skin_laika_1 | 1: byteLength(aka byteLength) [0x1b16e0d05ef1] [buffer.js:532] [bytecode=0x7910b2f59c1 offset=204](this=0x39d4e99026f1 <undefined>,string=0x2a07beda9a79 <Very long string[4747695]>,encoding=0x132c514bc8b1 <String[4]: utf8>) skin_laika_1 | 2: arguments adaptor frame: 3->2 skin_laika_1 | 3: fromString(aka fromString) [0x1b16e0d1c2c1] [buffer.js:343] [bytecode=0x7910b2efdf1 offs... skin_laika_1 | skin_laika_1 | 1: 0x8dbaa0 node::Abort() [node] skin_laika_1 | 2: 0x8dbaec [node] skin_laika_1 | 3: 0xad83de v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node] skin_laika_1 | 4: 0xad8614 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node] skin_laika_1 | 5: 0xec5c42 [node] skin_laika_1 | 6: 0xed545f v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [node] skin_laika_1 | 7: 0xea500b v8::internal::Factory::NewRawTwoByteString(int, v8::internal::PretenureFlag) [node] skin_laika_1 | 8: 0xfee8c3 v8::internal::String::SlowFlatten(v8::internal::Handle<v8::internal::ConsString>, v8::internal::PretenureFlag) [node] skin_laika_1 | 9: 0xad5a04 v8::internal::String::Flatten(v8::internal::Handle<v8::internal::String>, v8::internal::PretenureFlag) [node] skin_laika_1 | 10: 0xae37b0 v8::String::Utf8Length() const [node] skin_laika_1 | 11: 0x8f4776 [node] skin_laika_1 | 12: 0xb60aff [node] skin_laika_1 | 13: 0xb61669 v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*) [node] skin_laika_1 | 14: 0x1d3dac25be1d skin_laika_1 | Aborted (core dumped) skin_laika_1 | npm ERR! code ELIFECYCLE skin_laika_1 | npm ERR! errno 134 skin_laika_1 | npm ERR! laika@0.1.0 serve: `vue-cli-service serve` skin_laika_1 | npm ERR! Exit status 134 skin_laika_1 | npm ERR! skin_laika_1 | npm ERR! Failed at the laika@0.1.0 serve script. skin_laika_1 | npm ERR! This is probably not a problem with npm. There is likely additional logging output above. skin_laika_1 | skin_laika_1 | npm ERR! A complete log of this run can be found in: skin_laika_1 | npm ERR! /root/.npm/_logs/2019-07-31T09_16_59_802Z-debug.log fundraisingfrontend_skin_laika_1 exited with code 134