2017-03-01 118 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他的磁盤空間有一點。實際上很難看到,因爲我們定期清理它,所以在我檢查的時候並不重要。