在 libpthread.so 中运行节点时出现分段错误

Posted

技术标签:

【中文标题】在 libpthread.so 中运行节点时出现分段错误【英文标题】:Segmentation fault while running node in libpthread.so 【发布时间】:2014-11-11 21:55:18 【问题描述】:

我一直在节点(由forever 托管)中编写一个守护进程,并注意到工作进程有时会随机死亡。我添加了一个segault handler 以查看发生了什么,但典型的堆栈跟踪...没有帮助?

PID 9949 received SIGSEGV for address: 0x0
/home/wesley/app/node_modules/segfault-handler/build/Release/segfault-handler.node(+0xf60)[0x7f11dd3d8f60]
/lib64/libpthread.so.0[0x354760f710]
[0x3d3c10b0d799]

曾经我在失败时收到此跟踪信息,而不是:

PID 5820 received SIGSEGV for address: 0x18
/home/wesley/app/node_modules/segfault-handler/build/Release/segfault-handler.node(+0xf60)[0x7fdfab749f60]
/lib64/libpthread.so.0[0x354760f710]
/usr/bin/node(_ZN4node6Buffer14MakeFastBufferERKN2v89ArgumentsE+0x168)[0x426778]
[0x1d06e36ccdfb]

仍然显示libpthread.so 中的顶部调用(尽管之前在节点中正确调用。)

我很难相信段错误起源于libpthread.so(或者......无处?),但这就是它的样子?过去有没有人有过这样的经历?有没有人有任何进一步调试的提示?

我在 CentOS 6.5 上运行节点 v0.10.29(来自 epel 存储库),供参考。

【问题讨论】:

【参考方案1】:

两个跟踪都显示空指针引用。很可能是 Node 中的一个错误,因此请尽可能使用更新的 v0.10 版本。

如果没有适当的 gdb 回溯,就无法判断谁是错误的。

【讨论】:

以上是关于在 libpthread.so 中运行节点时出现分段错误的主要内容,如果未能解决你的问题,请参考以下文章

centos 系统下sh脚本无法执行的问题处理

java 罕见的依赖报错 jstat: error while loading shared libraries: libjli.so: cannot open shared object file

在节点 Docker 容器中运行项目时出现 Tailwind CSS EACCESS 错误(Docker Compose)

在(链接?)步骤中包含 pthread 库

使用 laravel 微风运行 npm 时出现节点错误

如何在 SQL for MS Access 中实现分页?