2017-03-01 193 views
0
  • 节点版本:4.8.0
  • 平台:Linux的3.16.0-4-AMD64#1 SMP Debian的3.16.36-1 + deb8u2(2016年10月19日)x86_64 GNU/Linux

节点在Garbace集合期间崩溃但没有任何其他高级模式(可能与https://github.com/nodejs/node/issues/3715有关)。崩溃的NodeJS:GC段错误

不幸的是,我没有任何代码来重现,因为我无法隔离问题。

这是段错误处理程序模块捕获的崩溃堆栈跟踪:

PID 24495 received SIGSEGV for address: 0x3809f3d021f8 
<path_node_modules>/segfault-handler/build/Release/segfault-handler.node(+0x1a5b)[0x7f7dd565ca5b] 
/lib/x86_64-linux-gnu/libpthread.so.0(+0xf890)[0x7f7dd9c20890] 
/usr/bin/nodejs(_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+0xfd)[0xaec4dd] 
/usr/bin/nodejs(_ZN2v88internal20MarkCompactCollector15MarkLiveObjectsEv+0x214)[0xaf3a14] 
/usr/bin/nodejs(_ZN2v88internal20MarkCompactCollector14CollectGarbageEv+0x11)[0xaf47e1] 
/usr/bin/nodejs(_ZN2v88internal4Heap11MarkCompactEv+0x60)[0xaaafe0] 
/usr/bin/nodejs(_ZN2v88internal4Heap24PerformGarbageCollectionENS0_16GarbageCollectorENS_15GCCallbackFlagsE+0x4c0)[0xac2be0] 
/usr/bin/nodejs(_ZN2v88internal4Heap14CollectGarbageENS0_16GarbageCollectorEPKcS4_NS_15GCCallbackFlagsE+0x238)[0xac30f8] 
/usr/bin/nodejs(_ZN2v88internal4Heap15HandleGCRequestEv+0x8f)[0xac3aef] 
/usr/bin/nodejs(_ZN2v88internal10StackGuard16HandleInterruptsEv+0x31c)[0xa6041c] 
/usr/bin/nodejs(_ZN2v88internal18Runtime_StackGuardEiPPNS0_6ObjectEPNS0_7IsolateE+0x2b)[0xca51ab] 
[0x2f2137d0963b] 

而且有时也这样其他堆栈:

PID 7545 received SIGSEGV for address: 0x68233500009 
/home/documentapp/node_modules/segfault-handler/build/Release/segfault-handler.node(+0x1a5b)[0x7f89249bfa5b] 
/lib/x86_64-linux-gnu/libpthread.so.0(+0xf890)[0x7f8928f83890] 
/usr/bin/nodejs(_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+0x3fe)[0xad51ee] 
/usr/bin/nodejs(_ZN2v88internal18IncrementalMarking4StepElNS1_16CompletionActionENS1_18ForceMarkingActionENS1_21ForceCompletionActionE+0x30c)[0xad2a7c] 
/usr/bin/nodejs(_ZN2v88internal8NewSpace15SlowAllocateRawEiNS0_19AllocationAlignmentE+0x78)[0xb00f18] 
/usr/bin/nodejs(_ZN2v88internal4Heap11AllocateRawEiNS0_15AllocationSpaceES2_NS0_19AllocationAlignmentE+0x109)[0xa64719] 
/usr/bin/nodejs(_ZN2v88internal4Heap20AllocateFillerObjectEibNS0_15AllocationSpaceE+0x19)[0xaabd19] 
/usr/bin/nodejs(_ZN2v88internal7Factory15NewFillerObjectEibNS0_15AllocationSpaceE+0x2d)[0xa64c5d] 
/usr/bin/nodejs(_ZN2v88internal29Runtime_AllocateInTargetSpaceEiPPNS0_6ObjectEPNS0_7IsolateE+0x5e)[0xca52ee] 
[0x1e31ede06355] 

能有人给我我如何能找到一些线索prblem?由于

如果你愿意,你也可以回答,我已经创建的节点问题: https://github.com/nodejs/node/issues/11606

其他信息: 节点架构:快递,Sails.js成立与

我的本机模块find node_modules -name '*.node'是:

node_modules/bcrypt/build/Release/bcrypt_lib.node 
node_modules/bcrypt/build/Release/obj.target/bcrypt_lib.node 
node_modules/segfault-handler/build/Release/segfault-handler.node 
node_modules/segfault-handler/build/Release/obj.target/segfault-handler.node 
+0

这被标记为'C++',但我在该问题中没有看到C++代码。 – PaulMcKenzie

+0

本机模块实际上是用C++编写的。在很多情况下,segfault错误是由它们造成的。 – Simoyw

+0

@PaulMcKenzie我删除了标签,因为实际上可能会引起误解 – Simoyw

回答

0

这些问题似乎是由于mongodb日志填满t他的磁盘空间有一点。实际上很难看到,因为我们定期清理它,所以在我检查的时候并不重要。