
windows 10 (1709)
node 10.19.0
Jest 26.0.1
机器有 32g 内存。编译和运行都没有问题,就是 jest 无法正常跑完。
这个是咋回事儿,没有头绪呢。
在 macos 下跑 jest 就没有问题
<--- Last few GCs ---> [39960:0000015619EDC4D0] 127030 ms: Scavenge 25.7 (30.5) -> 24.9 (30.5) MB, 0.8 / 0.0 ms (average mu = 0.998, current mu = 0.999) allocation failure [39960:0000015619EDC4D0] 129628 ms: Scavenge 25.8 (30.5) -> 24.9 (30.5) MB, 1.2 / 0.0 ms (average mu = 0.998, current mu = 0.999) allocation failure [39960:0000015619EDC4D0] 131365 ms: Scavenge 25.8 (30.5) -> 24.9 (30.5) MB, 0.8 / 0.0 ms (average mu = 0.998, current mu = 0.999) allocation failure <--- JS stacktrace ---> ==== JS stack trace ========================================= 0: ExitFrame [pc: 00000230F2BDC87C] 1: StubFrame [pc: 00000230F2C0FAB5] Security context: 0x00c35e29e6e9 <JSObject> 2: initialize [0000011BDB729891] [C:\src\web-2nd\node_modules\jest-worker\build\workers\ChildProcessWorker.js:145] [bytecode=000001792A6C2509 offset=111](this=0x034bdb811831 <ChildProcessWorker map = 0000005E90AC1AD1>) 3: _onExit [0000011BDB729901] [C:\src\web-2nd\node_modules\jest-worker\build\workers\ChildP... FATAL ERROR: Committing semi space failed. Allocation failed - Javascript heap out of memory 1: 00007FF7C169832A v8::internal::GCIdleTimeHandler::GCIdleTimeHandler+4506 2: 00007FF7C1672DB6 node::MakeCallback+4534 3: 00007FF7C1673730 node_module_register+2032 4: 00007FF7C198C14E v8::internal::FatalProcessOutOfMemory+846 5: 00007FF7C198C07F v8::internal::FatalProcessOutOfMemory+639 6: 00007FF7C1B72874 v8::internal::Heap::MaxHeapGrowingFactor+9620 7: 00007FF7C1B6986C v8::internal::ScavengeJob::operator=+24572 8: 00007FF7C1B67EAC v8::internal::ScavengeJob::operator=+17980 9: 00007FF7C1B70BF7 v8::internal::Heap::MaxHeapGrowingFactor+2327 10: 00007FF7C1B70C76 v8::internal::Heap::MaxHeapGrowingFactor+2454 11: 00007FF7C1C9AB9B v8::internal::Factory::AllocateRawWithImmortalMap+59 12: 00007FF7C1C9D50D v8::internal::Factory::NewRawOneByteString+77 13: 00007FF7C1C9CC5A v8::internal::Factory::NewStringFromTwoByte+154 14: 00007FF7C19A7ED1 v8::String::NewFromTwoByte+385 15: 00007FF7C15F3453 v8::internal::StackGuard::ArchiveSpacePerThread+24899 16: 00007FF7C1D7FF98 v8::internal::InterpreterDispatchDescriptor::InitializePlatformIndependent+584 17: 00007FF7C1D81953 v8::internal::InterpreterDispatchDescriptor::InitializePlatformIndependent+7171 18: 00007FF7C1D821DA v8::internal::InterpreterDispatchDescriptor::InitializePlatformIndependent+9354 19: 00007FF7C1D82471 v8::internal::InterpreterDispatchDescriptor::InitializePlatformIndependent+10017 20: 00007FF7C1D806B0 v8::internal::InterpreterDispatchDescriptor::InitializePlatformIndependent+2400 21: 00007FF7C1D81135 v8::internal::InterpreterDispatchDescriptor::InitializePlatformIndependent+5093 22: 00007FF7C19E74E3 v8::internal::Object::ToInt32+12803 23: 00007FF7C1C94CE3 v8::internal::wasm::WasmCodeManager::LookupCode+51395 24: 00000230F2BDC87C error Command failed with exit code 134. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. 或者
throw er; // Unhandled 'error' event ^ Error: write EPIPE at ChildProcess.target._send (internal/child_process.js:762:20) at ChildProcess.target.send (internal/child_process.js:634:19) at ChildProcessWorker.send (C:\src\web-2nd\node_modules\jest-worker\build\workers\ChildProcessWorker.js:291:17) at WorkerPool.send (C:\src\web-2nd\node_modules\jest-worker\build\WorkerPool.js:32:34) at Farm._process (C:\src\web-2nd\node_modules\jest-worker\build\Farm.js:129:10) at Farm._enqueue (C:\src\web-2nd\node_modules\jest-worker\build\Farm.js:152:10) at Farm._push (C:\src\web-2nd\node_modules\jest-worker\build\Farm.js:159:12) at Promise (C:\src\web-2nd\node_modules\jest-worker\build\Farm.js:90:14) at new Promise (<anonymous>) at Farm.doWork (C:\src\web-2nd\node_modules\jest-worker\build\Farm.js:56:12) Emitted 'error' event at: at process.nextTick (internal/child_process.js:766:39) at process._tickCallback (internal/process/next_tick.js:61:11) error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. 1 WittBulter 2020-07-18 02:38:20 +08:00 via iPhone 试一下 jest -w 1 |
2 msg7086 2020-07-18 03:19:35 +08:00 |
3 seki 2020-07-18 04:54:08 +08:00 换个 node 大版本 看看 Jest 周边的一些库是不是没有升到新版本 改变一下测试的数量,从 1 个开始 改变一下并行 worker 的数量 在 wsl 底下跑 都试试看 |
4 jiangzhuo 2020-07-18 09:39:22 +08:00 都 32G 了就给进程多分点内存呗。 |
6 yazoox OP |