问题背景
在部署Node.js应用程序到Docker容器时,遇到了一个奇怪的问题。Node.js进程崩溃并且抛出了一个原生堆栈跟踪(native stack trace),显示了一个断言失败,这表明在创建worker线程时遇到了问题。具体的错误信息如下:
Native stack trace
1:0xcbc9a7 node::Assert(node::AssertionInfo const&)[node]
T
0xd3c44e node :: WorkerThreadsTaskRunner ::WorkerThreadsTaskRunner( int) 「node?
3
0xd3c52c node .: NodePlatform :: NodePlatform( int, v8 :.Tracingcontroller*, v8 :: PageAllocator*) [node]
4·
0xc707d7 [node
5.
0xc71d34 node::Start(int, char**)[node]
6:0x7f0c7244c24a
[/lib/x86_64-linux-gnu/libc.so.6]
7:0x7f0c7244c305
libc start main [/lib/x86 64-linux-gnu/libc.so.6]
8:0xbc6b6e start [node]
../src/node platform.cc:68
#node[1]: std:: unigue ptr<long unsigned int> node :: workerThreadsTaskRunner :: DelayedTaskscheduler : start() at
Assertion failed:(0)=(uv_thread_create(t.get(), start_thread, this))
大约 3 分钟