baler icon indicating copy to clipboard operation
baler copied to clipboard

error when running baler

Open Axos11 opened this issue 5 years ago • 4 comments

I assume, that the problem has to do with insufficient memory on my vserver but i just wanted to ask if there is something i can fix to get baler running.

Running on Magento 2.3.4 and getting the following ERROR when trying to run baler.

[risingbytes@np500 public_html]$ baler baler ✔ Collected theme/module data 91ms /home/risingbytes/.nvm/versions/node/v13.7.0/bin/node[17854]: ../src/node_platform.cc:63:std::unique_ptr<long unsigned int> node::WorkerThreadsTaskRunner::DelayedTaskScheduler::Start(): Assertion (0) == (uv_thread_create(t.get(), start_thread, this))' failed. node[17847]: pthread_create: Resource temporarily unavailable 1: 0xa9d570 node::Abort() [/home/risingbytes/.nvm/versions/node/v13.7.0/bin/node] 2: 0xa9d5f7 [/home/risingbytes/.nvm/versions/node/v13.7.0/bin/node] 3: 0xb082aa node::WorkerThreadsTaskRunner::WorkerThreadsTaskRunner(int) [/home/risingbytes/.nvm/versions/node/v13.7.0/bin/node] /home/risingbytes/.nvm/versions/node/v13.7.0/bin/node[17865]: ../src/node_platform.cc:63:std::unique_ptr node::WorkerThreadsTaskRunner::DelayedTaskScheduler::Start(): Assertion `(0) == (uv_thread_create(t.get(), start_thread, this))' failed. 4: 0xb0836b node::NodePlatform::NodePlatform(int, node::tracing::TracingController*) [/home/risingbytes/.nvm/versions/node/v13.7.0/bin/node] 5: 0xa6e1a1 node::InitializeOncePerProcess(int, char**) [/home/risingbytes/.nvm/versions/node/v13.7.0/bin/node] node[17853]: pthread_create: Resource temporarily unavailable 1: 0xa9d570 node::Abort() [/home/risingbytes/.nvm/versions/node/v13.7.0/bin/node] 6: 0xa6e6a3 node::Start(int, char**) [/home/risingbytes/.nvm/versions/node/v13.7.0/bin/node] 7: 0x7f3c7abe0545 __libc_start_main [/lib64/libc.so.6] 2: 0xa9d5f7 [/home/risingbytes/.nvm/versions/node/v13.7.0/bin/node] 8: 0xa0afc5 [/home/risingbytes/.nvm/versions/node/v13.7.0/bin/node] 3: 0xb082aa node::WorkerThreadsTaskRunner::WorkerThreadsTaskRunner(int) [/home/risingbytes/.nvm/versions/node/v13.7.0/bin/node] 4: 0xb0836b node::NodePlatform::NodePlatform(int, node::tracing::TracingController*) [/home/risingbytes/.nvm/versions/node/v13.7.0/bin/node] 5: 0xa6e1a1 node::InitializeOncePerProcess(int, char**) [/home/risingbytes/.nvm/versions/node/v13.7.0/bin/node] 6: 0xa6e6a3 node::Start(int, char**) [/home/risingbytes/.nvm/versions/node/v13.7.0/bin/node] 7: 0x7f5813e93545 __libc_start_main [/lib64/libc.so.6] 8: 0xa0afc5 [/home/risingbytes/.nvm/versions/node/v13.7.0/bin/node]

Error: spawn ENOMEM at ChildProcess.spawn (internal/child_process.js:405:11) at spawn (child_process.js:548:9) at Object.fork (child_process.js:116:10) at ChildProcessWorker.initialize (/home/risingbytes/baler/node_modules/jest-worker/build/workers/ChildProcessWorker.js:137:44) at new ChildProcessWorker (/home/risingbytes/baler/node_modules/jest-worker/build/workers/ChildProcessWorker.js:127:10) at WorkerPool.createWorker (/home/risingbytes/baler/node_modules/jest-worker/build/WorkerPool.js:44:12) at new BaseWorkerPool (/home/risingbytes/baler/node_modules/jest-worker/build/base/BaseWorkerPool.js:82:27) at new WorkerPool (/home/risingbytes/baler/node_modules/jest-worker/build/WorkerPool.js:30:1) at new JestWorker (/home/risingbytes/baler/node_modules/jest-worker/build/index.js:131:26) at Object.createMinifier (/home/risingbytes/baler/src/createMinifier.ts:9:21) `

Axos11 avatar Jan 29 '20 18:01 Axos11

hey @Axos11,

Can you try this with node 12.x? It looks like node is throwing an exception attempting to spawn worker threads. Odd-numbered node releases are typically not as stable, so want to rule out node itself as the issue.

Definitely looks like an OOM error, but it's always possible that a version of node could have a memory leak leading to that. Any idea how much memory is available when those errors happened?

DrewML avatar Jan 30 '20 15:01 DrewML

i tried 12.14.1 and 12.13.1, and 10.18.1

[risingbytes@np500 public_html]$ baler build --theme Magento/luma ✔ Collected theme/module data 128ms /home/risingbytes/.nvm/versions/node/v12.13.1/bin/node[22288]: ../src/node_platform.cc:63:std::unique_ptr node::WorkerThreadsTaskRunner::DelayedTaskScheduler::Start(): Assertion (0) == (uv_thread_create(t.get(), start_thread, this))' failed. 1: 0x9da7c0 node::Abort() [/home/risingbytes/.nvm/versions/node/v12.13.1/bin/node] node[22286]: pthread_create: Resource temporarily unavailable /home/risingbytes/.nvm/versions/node/v12.13.1/bin/node[22293]: ../src/node_platform.cc:63:std::unique_ptr<long unsigned int> node::WorkerThreadsTaskRunner::DelayedTaskScheduler::Start(): Assertion (0) == (uv_thread_create(t.get(), start_thread, this))' failed. 2: 0x9da847 [/home/risingbytes/.nvm/versions/node/v12.13.1/bin/node] 3: 0xa49c8a node::WorkerThreadsTaskRunner::WorkerThreadsTaskRunner(int) [/home/risingbytes/.nvm/versions/node/v12.13.1/bin/node] 1: 0x9da7c0 node::Abort() [/home/risingbytes/.nvm/versions/node/v12.13.1/bin/node] 4: 0xa49d4b node::NodePlatform::NodePlatform(int, node::tracing::TracingController*) [/home/risingbytes/.nvm/versions/node/v12.13.1/bin/node] 2: 0x9da847 [/home/risingbytes/.nvm/versions/node/v12.13.1/bin/node] 5: 0x94e3da node::InitializeV8Platform(int) [/home/risingbytes/.nvm/versions/node/v12.13.1/bin/node] 6: 0x9ac4c1 node::InitializeOncePerProcess(int, char**) [/home/risingbytes/.nvm/versions/node/v12.13.1/bin/node] 3: 0xa49c8a node::WorkerThreadsTaskRunner::WorkerThreadsTaskRunner(int) [/home/risingbytes/.nvm/versions/node/v12.13.1/bin/node] 7: 0x9ac6b3 node::Start(int, char**) [/home/risingbytes/.nvm/versions/node/v12.13.1/bin/node] 8: 0x7f7078b97545 __libc_start_main [/lib64/libc.so.6] 4: 0xa49d4b node::NodePlatform::NodePlatform(int, node::tracing::TracingController*) [/home/risingbytes/.nvm/versions/node/v12.13.1/bin/node] 9: 0x94a055 [/home/risingbytes/.nvm/versions/node/v12.13.1/bin/node] 5: 0x94e3da node::InitializeV8Platform(int) [/home/risingbytes/.nvm/versions/node/v12.13.1/bin/node] 6: 0x9ac4c1 node::InitializeOncePerProcess(int, char**) [/home/risingbytes/.nvm/versions/node/v12.13.1/bin/node] 7: 0x9ac6b3 node::Start(int, char**) [/home/risingbytes/.nvm/versions/node/v12.13.1/bin/node] 8: 0x7f66a328f545 __libc_start_main [/lib64/libc.so.6]

Error: spawn ENOMEM at ChildProcess.spawn (internal/child_process.js:394:11) at spawn (child_process.js:540:9) at Object.fork (child_process.js:108:10) at ChildProcessWorker.initialize (/home/risingbytes/baler/node_modules/jest-worker/build/workers/ChildProcessWorker.js:137:44) at new ChildProcessWorker (/home/risingbytes/baler/node_modules/jest-worker/build/workers/ChildProcessWorker.js:127:10) at WorkerPool.createWorker (/home/risingbytes/baler/node_modules/jest-worker/build/WorkerPool.js:44:12) at new BaseWorkerPool (/home/risingbytes/baler/node_modules/jest-worker/build/base/BaseWorkerPool.js:82:27) at new WorkerPool (/home/risingbytes/baler/node_modules/jest-worker/build/WorkerPool.js:30:1) at new JestWorker (/home/risingbytes/baler/node_modules/jest-worker/build/index.js:131:26) at Object.createMinifier (/home/risingbytes/baler/src/createMinifier.ts:9:21) 9: 0x94a055 [/home/risingbytes/.nvm/versions/node/v12.13.1/bin/node]

[risingbytes@np500 public_html]$ baler build --theme Magento/luma ✔ Collected theme/module data 604ms /home/risingbytes/.nvm/versions/node/v10.18.1/bin/node[29750]: ../src/node_platform.cc:58:std::unique_ptr node::BackgroundTaskRunner::DelayedTaskScheduler::Start(): Assertion `(0) == (uv_thread_create(t.get(), start_thread, this))' failed. 1: 0x8fa090 node::Abort() [/home/risingbytes/.nvm/versions/node/v10.18.1/bin/node] 2: 0x8fa165 [/home/risingbytes/.nvm/versions/node/v10.18.1/bin/node] 3: 0x98324a node::BackgroundTaskRunner::BackgroundTaskRunner(int) [/home/risingbytes/.nvm/versions/node/v10.18.1/bin/node] 4: 0x98330b node::NodePlatform::NodePlatform(int, node::tracing::TracingController*) [/home/risingbytes/.nvm/versions/node/v10.18.1/bin/node] 5: 0x9026a1 node::Start(int, char**) [/home/risingbytes/.nvm/versions/node/v10.18.1/bin/node] 6: 0x7ff234837545 __libc_start_main [/lib64/libc.so.6] 7: 0x8bbe95 [/home/risingbytes/.nvm/versions/node/v10.18.1/bin/node]

Error: spawn ENOMEM at ChildProcess.spawn (internal/child_process.js:366:11) at spawn (child_process.js:551:9) at Object.fork (child_process.js:113:10) at ChildProcessWorker.initialize (/home/risingbytes/baler/node_modules/jest-worker/build/workers/ChildProcessWorker.js:137:44) at new ChildProcessWorker (/home/risingbytes/baler/node_modules/jest-worker/build/workers/ChildProcessWorker.js:127:10) at WorkerPool.createWorker (/home/risingbytes/baler/node_modules/jest-worker/build/WorkerPool.js:44:12) at new BaseWorkerPool (/home/risingbytes/baler/node_modules/jest-worker/build/base/BaseWorkerPool.js:82:27) at new WorkerPool (/home/risingbytes/baler/node_modules/jest-worker/build/WorkerPool.js:30:1) at new JestWorker (/home/risingbytes/baler/node_modules/jest-worker/build/index.js:131:26) at Object.createMinifier (/home/risingbytes/baler/src/createMinifier.ts:9:21)

Is more Information required? Or can i try something else? Appreciate every help or information i can get :)

[risingbytes@np500 public_html]$ free -m total used free shared buff/cache available Mem: 64263 17290 7801 6820 39172 34757 Swap: 0 0 0

Just to say again I am on a shared host with the following restrictions 300.000 IOPS 2048 MB memory_limit 1800 Sek. max_execution_time

Which node version are you using?

Axos11 avatar Jan 30 '20 17:01 Axos11

Which node version are you using?

I've tested on 10.x pretty extensively, but I've used 12.x with success, too.

It looks like, for whatever reason, worker threads just aren't working out on your virtual server.

It's possible we need to add an option to to opt-out of spreading compute to workers, similar to what jest does with the --runInBand option

Or, we may just need to let folks override the # of workers being spawned. I wonder if we're creating # of workers based on the number of physical CPUs in your setup instead of virtual CPUs allocated.

Can you run this on the target machine:

# should return an integer
node -p "require('os').cpus().length"

DrewML avatar Feb 04 '20 15:02 DrewML

Sorry for my late reply. Thats the response:

[risingbytes@np500 ~]$ node -p "require('os').cpus().length" 16

Axos11 avatar Feb 07 '20 07:02 Axos11