-
-
Notifications
You must be signed in to change notification settings - Fork 32.6k
Description
- Version: v4.4.7 (nodesource)
- Platform: Linux 4.1.13-HomeyOS-0.8.0 deps: update openssl to 1.0.1j #1 SMP Sun Dec 20 00:02:18 UTC 2015 armv7l GNU/Linux
- OS: Debian Jessie based linux
- Subsystem: V8 Garbage Collection
node sometimes crashes with a V8 Fatal error after running for about 5 hours:
Fatal error in ../deps/v8/src/heap/mark-compact.cc, line 3088
Check failed: large_object->IsHeapObject().
Stack Trace:
#0 0x00a18460 in v8::base::OS::Abort ()
#1 0x00a15938 in V8_Fatal ()
#2 0x005e69b4 in v8::internal::MarkCompactCollector::IsSlotInBlackObject ()
#3 0x005e8324 in v8::internal::SlotsBuffer::RemoveInvalidSlots ()
#4 0x005e84b8 in v8::internal::MarkCompactCollector::ClearInvalidStoreAndSlotsBufferEntries ()
#5 0x005f4abc in v8::internal::MarkCompactCollector::CollectGarbage ()
#6 0x005b19a4 in v8::internal::Heap::MarkCompact ()
#7 0x005c89f0 in v8::internal::Heap::PerformGarbageCollection ()
Registers at #2:
r0 0x0 0
r1 0x0 0
r2 0xad071c 11339548
r3 0xafb7dc 11515868
r4 0x0 0
r5 0x22ff088 36696200
r6 0x2301e4c 36707916
r7 0x10 16
r8 0x3fd 1021
r9 0x7ed1843c 2127660092
r10 0x1fd56f8 33380088
r11 0x7ed18424 2127660068
r12 0xf81ab4 16259764
sp 0x7ed183f8 0x7ed183f8
lr 0x5e69b4 6187444
pc 0x5e69b4 0x5e69b4 <_ZN2v88internal20MarkCompactCollector19IsSlotInBlackObjectEPNS0_4PageEPhPPNS0_10HeapObjectE+604>
cpsr 0x200f0010 537853968
I've made an attempt to debug this myself, it looks like the isHeapObject() check at line 3088 fails due to the value of r4 (0b0), expected r4 = (0b01). r4 contains the AND of r0 and 0b11, and r0 contains the return value of v8::internal::LargeObjectSpace::FindObject(Address a). Since r0 is also 0x0, this method apparently did not find the specified object in the large object space. When i take a look at the callstack, i can see this function was invoked through the ClearInvalidStoreAndSlotsBufferEntries call, which makes me wonder if the object should exist at all in the LargeObjectSpace.
Any help debugging the cause of this issue is appreciated. A coredump and remote debugging tools are available if required.