Repository navigation
SEGFAULT in node 4.8.4 on linux #14228
Description
Activity
I'm also trying to get a core dump to dig a bit deeper.
Can you try this?
$ gdb /path/to/node > info symbol 0xaed6c1(gdb) info symbol 0xaed6c1 v8::internal::MarkCompactCollector::ProcessWeakCollections() + 241 in section .text of /path/to/nodeI've also got a couple of core dumps now that we collected over night:
(gdb) bt #0 0x0000000000c09780 in v8::internal::HashTable<v8::internal::ObjectHashTable, v8::internal::ObjectHashTableShape, v8::internal::Handle<v8::internal::Object> >::FindInsertionEntry(unsigned int) () #1 0x0000000000c0a1a4 in v8::internal::ObjectHashTable::Put(v8::internal::Handle<v8::internal::ObjectHashTable>, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int) () #2 0x0000000000c7b349 in v8::internal::Runtime::WeakCollectionSet(v8::internal::Handle<v8::internal::JSWeakCollection>, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int) () #3 0x0000000000c7b5ad in v8::internal::Runtime_WeakCollectionSet(int, v8::internal::Object**, v8::internal::Isolate*) () #4 0x000037cb089060bb in ?? () #5 ... (gdb) bt #0 0x0000000000ad6ee6 in v8::internal::IncrementalMarkingMarkingVisitor::VisitFixedArrayIncremental(v8::internal::Map*, v8::internal::HeapObject*) () #1 0x0000000000ad465d in v8::internal::IncrementalMarking::Step(long, v8::internal::IncrementalMarking::CompletionAction, v8::internal::IncrementalMarking::ForceMarkingAction, v8::internal::IncrementalMarking::ForceCompletionAction) () #2 0x0000000000b0532d in v8::internal::FreeList::Allocate(int) () #3 0x0000000000a659d7 in v8::internal::PagedSpace::AllocateRawUnaligned(int) () #4 0x0000000000a65de0 in v8::internal::Heap::AllocateRaw(int, v8::internal::AllocationSpace, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) () #5 0x0000000000ab3e4c in v8::internal::Heap::AllocateRawTwoByteString(int, v8::internal::PretenureFlag) () #6 0x0000000000a6c462 in v8::internal::Factory::NewRawTwoByteString(int, v8::internal::PretenureFlag) () #7 0x00000000008f70a4 in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqTwoByteString, unsigned short>(v8::internal::Handle<v8::internal::String>, int, int) () #8 0x00000000008f725f in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqTwoByteString, unsigned short>(v8::internal::Handle<v8::internal::String>, int, int) () #9 0x00000000008f725f in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqTwoByteString, unsigned short>(v8::internal::Handle<v8::internal::String>, int, int) () #10 0x00000000008f725f in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqTwoByteString, unsigned short>(v8::internal::Handle<v8::internal::String>, int, int) () #11 0x00000000008f725f in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqTwoByteString, unsigned short>(v8::internal::Handle<v8::internal::String>, int, int) () #12 0x00000000008f725f in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqTwoByteString, unsigned short>(v8::internal::Handle<v8::internal::String>, int, int) () #13 0x00000000008f725f in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqTwoByteString, unsigned short>(v8::internal::Handle<v8::internal::String>, int, int) () #14 0x00000000008f725f in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqTwoByteString, unsigned short>(v8::internal::Handle<v8::internal::String>, int, int) () #15 0x00000000008f725f in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqTwoByteString, unsigned short>(v8::internal::Handle<v8::internal::String>, int, int) () #16 0x00000000008f725f in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqTwoByteString, unsigned short>(v8::internal::Handle<v8::internal::String>, int, int) () #17 0x00000000008f725f in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqTwoByteString, unsigned short>(v8::internal::Handle<v8::internal::String>, int, int) () #18 0x00000000008f74bf in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqOneByteString, unsigned char>(v8::internal::Handle<v8::internal::String>, int, int) () #19 0x00000000008f743f in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqOneByteString, unsigned char>(v8::internal::Handle<v8::internal::String>, int, int) () #20 0x00000000008f743f in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqOneByteString, unsigned char>(v8::internal::Handle<v8::internal::String>, int, int) () #21 0x00000000008f7571 in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::ScanJsonString<false>() () #22 0x00000000008f8670 in v8::internal::JsonParser<false>::ParseJsonValue() () #23 0x00000000008f7a35 in v8::internal::JsonParser<false>::ParseJsonObject() () #24 0x00000000008f8700 in v8::internal::JsonParser<false>::ParseJsonValue() () #25 0x00000000008f89cd in v8::internal::JsonParser<false>::ParseJson() () #26 0x0000000000c9db60 in v8::internal::Runtime_ParseJson(int, v8::internal::Object**, v8::internal::Isolate*) () #27 0x000034f9c84060bb in ?? () #28 ... (gdb) bt #0 0x0000000000ad6ee6 in v8::internal::IncrementalMarkingMarkingVisitor::VisitFixedArrayIncremental(v8::internal::Map*, v8::internal::HeapObject*) () #1 0x0000000000ad465d in v8::internal::IncrementalMarking::Step(long, v8::internal::IncrementalMarking::CompletionAction, v8::internal::IncrementalMarking::ForceMarkingAction, v8::internal::IncrementalMarking::ForceCompletionAction) () #2 0x0000000000b03634 in v8::internal::NewSpace::SlowAllocateRaw(int, v8::internal::AllocationAlignment) () #3 0x0000000000a65d09 in v8::internal::Heap::AllocateRaw(int, v8::internal::AllocationSpace, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) () #4 0x0000000000ab3ddb in v8::internal::Heap::AllocateRawOneByteString(int, v8::internal::PretenureFlag) () #5 0x0000000000a6c2a2 in v8::internal::Factory::NewRawOneByteString(int, v8::internal::PretenureFlag) () #6 0x0000000000cf8c30 in v8::internal::IncrementalStringBuilder::IncrementalStringBuilder(v8::internal::Isolate*) () #7 0x0000000000c9d8a3 in v8::internal::Runtime_BasicJSONStringify(int, v8::internal::Object**, v8::internal::Isolate*) () #8 0x00001cc8e86060bb in ?? () #9 ... (gdb) bt #0 0x0000000000aed6c1 in v8::internal::MarkCompactCollector::ProcessWeakCollections() () #1 0x0000000000af5a24 in v8::internal::MarkCompactCollector::MarkLiveObjects() () #2 0x0000000000af64c1 in v8::internal::MarkCompactCollector::CollectGarbage() () #3 0x0000000000aad640 in v8::internal::Heap::MarkCompact() () #4 0x0000000000ac5068 in v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) () #5 0x0000000000ac5609 in v8::internal::Heap::CollectGarbage(v8::internal::GarbageCollector, char const*, char const*, v8::GCCallbackFlags) () #6 0x0000000000ac6011 in v8::internal::Heap::HandleGCRequest() () #7 0x0000000000a61c6c in v8::internal::StackGuard::HandleInterrupts() () #8 0x0000000000c978db in v8::internal::Runtime_StackGuard(int, v8::internal::Object**, v8::internal::Isolate*) () #9 0x000018faaad060bb in ?? () #10 ...- addedv8 engineIssues and PRs related to the V8 dependency.Issues and PRs related to the V8 dependency.
on Jul 14, 2017 What does
info sharedlibraryprint?info registersanddisassemble?For the first dump:
(gdb) info sharedlibrary From To Syms Read Shared Object Library 0x00007f0aa7a19de0 0x00007f0aa7a1a998 Yes (*) /lib64/libdl.so.2 0x00007f0aa7813140 0x00007f0aa78164e8 Yes (*) /lib64/librt.so.1 0x00007f0aa75613f0 0x00007f0aa75ce396 Yes (*) /usr/lib64/libstdc++.so.6 0x00007f0aa728ae70 0x00007f0aa72cafb8 Yes (*) /lib64/libm.so.6 0x00007f0aa7073910 0x00007f0aa7083f78 Yes (*) /lib64/libgcc_s.so.1 0x00007f0aa6e59760 0x00007f0aa6e650c8 Yes (*) /lib64/libpthread.so.0 0x00007f0aa6adeaa0 0x00007f0aa6c000cc Yes (*) /lib64/libc.so.6 0x00007f0aa7c1db00 0x00007f0aa7c369cb Yes (*) /lib64/ld-linux-x86-64.so.2 0x00007f0aa40b01f0 0x00007f0aa40b8648 Yes (*) /lib64/libnss_files.so.2 0x00007f0a955f7000 0x00007f0a955fa328 Yes (*) /lib64/libnss_dns.so.2 0x00007f0a953df930 0x00007f0a953ee998 Yes (*) /lib64/libresolv.so.2 (*): Shared library is missing debugging information.(gdb) info registers rax 0x22cc054b3591 38259657487761 rbx 0x1d4b840 30718016 rcx 0x2 2 rdx 0x1 1 rsi 0x1c 28 rdi 0x30d5f6ded19 3355970497817 rbp 0x7fffc5e41940 0x7fffc5e41940 rsp 0x7fffc5e41940 0x7fffc5e41940 r8 0x3f 63 r9 0x0 0 r10 0xfea95804131 17500204974385 r11 0x300000000 12884901888 r12 0x7fffc5e41aa0 140736513448608 r13 0x1e 30 r14 0x1b688d066be9 30135856557033 r15 0x1b688d066af9 30135856556793 rip 0xc09780 0xc09780 <v8::internal::HashTable<v8::internal::ObjectHashTable, v8::internal::ObjectHashTableShape, v8::internal::Handle<v8::internal::Object> >::FindInsertionEntry(unsigned int)+64> eflags 0x10246 [ PF ZF IF RF ] cs 0x33 51 ss 0x2b 43 ds 0x0 0 es 0x0 0 fs 0x0 0 gs 0x0 0(gdb) disassemble Dump of assembler code for function _ZN2v88internal9HashTableINS0_15ObjectHashTableENS0_20ObjectHashTableShapeENS0_6HandleINS0_6ObjectEEEE18FindInsertionEntryEj: 0x0000000000c09740 <+0>: movslq 0x23(%rdi),%r8 0x0000000000c09744 <+4>: push %rbp 0x0000000000c09745 <+5>: mov $0x1,%ecx 0x0000000000c0974a <+10>: mov %rsp,%rbp 0x0000000000c0974d <+13>: sub $0x1,%r8d 0x0000000000c09751 <+17>: and %r8d,%esi 0x0000000000c09754 <+20>: nopl 0x0(%rax) 0x0000000000c09758 <+24>: lea 0x3(%rsi,%rsi,1),%eax 0x0000000000c0975c <+28>: shl $0x3,%eax 0x0000000000c0975f <+31>: cltq 0x0000000000c09761 <+33>: mov 0xf(%rdi,%rax,1),%rax 0x0000000000c09766 <+38>: mov %rax,%rdx 0x0000000000c09769 <+41>: and $0x3,%edx 0x0000000000c0976c <+44>: cmp $0x1,%rdx 0x0000000000c09770 <+48>: je 0xc09780 <_ZN2v88internal9HashTableINS0_15ObjectHashTableENS0_20ObjectHashTableShapeENS0_6HandleINS0_6ObjectEEEE18FindInsertionEntryEj+64> 0x0000000000c09772 <+50>: add %ecx,%esi 0x0000000000c09774 <+52>: add $0x1,%ecx 0x0000000000c09777 <+55>: and %r8d,%esi 0x0000000000c0977a <+58>: jmp 0xc09758 <_ZN2v88internal9HashTableINS0_15ObjectHashTableENS0_20ObjectHashTableShapeENS0_6HandleINS0_6ObjectEEEE18FindInsertionEntryEj+24> 0x0000000000c0977c <+60>: nopl 0x0(%rax) => 0x0000000000c09780 <+64>: mov -0x1(%rax),%rdx 0x0000000000c09784 <+68>: cmpb $0x83,0xb(%rdx) 0x0000000000c09788 <+72>: je 0xc097a0 <_ZN2v88internal9HashTableINS0_15ObjectHashTableENS0_20ObjectHashTableShapeENS0_6HandleINS0_6ObjectEEEE18FindInsertionEntryEj+96> 0x0000000000c0978a <+74>: mov -0x1(%rax),%rdx 0x0000000000c0978e <+78>: cmpb $0x83,0xb(%rdx) 0x0000000000c09792 <+82>: jne 0xc09772 <_ZN2v88internal9HashTableINS0_15ObjectHashTableENS0_20ObjectHashTableShapeENS0_6HandleINS0_6ObjectEEEE18FindInsertionEntryEj+50> 0x0000000000c09794 <+84>: cmpb $0x2,0x1b(%rax) 0x0000000000c09798 <+88>: jne 0xc09772 <_ZN2v88internal9HashTableINS0_15ObjectHashTableENS0_20ObjectHashTableShapeENS0_6HandleINS0_6ObjectEEEE18FindInsertionEntryEj+50> 0x0000000000c0979a <+90>: mov %esi,%eax 0x0000000000c0979c <+92>: pop %rbp 0x0000000000c0979d <+93>: retq 0x0000000000c0979e <+94>: xchg %ax,%ax 0x0000000000c097a0 <+96>: cmpb $0x5,0x1b(%rax) 0x0000000000c097a4 <+100>: jne 0xc0978a <_ZN2v88internal9HashTableINS0_15ObjectHashTableENS0_20ObjectHashTableShapeENS0_6HandleINS0_6ObjectEEEE18FindInsertionEntryEj+74> 0x0000000000c097a6 <+102>: mov %esi,%eax 0x0000000000c097a8 <+104>: pop %rbp 0x0000000000c097a9 <+105>: retq ---Type <return> to continue, or q <return> to quit--- End of assembler dump.Thanks. It's failing on the IsUndefined() or IsTheHole() check on this line in objects.cc (warning: big file), presumably
elementis not a valid pointer (although it looks like one, its LSB is tagged.)Just to be sure, what does
p/x *(long*)0x22cc054b3590print?Yep, that address isn't a thing:
(gdb) p/x *(long*)0x22cc054b3590 Cannot access memory at address 0x22cc054b3590P.S.: Thanks a lot for the help in looking into this! :) We've seen this issue in multiple applications now and - afaik - they don't share any native modules. But I still don't have any way of reproducing it reliably (other than running a bunch of instances and waiting 1-2 hours).
No problem, happy to help. Can you post the output of
info registersanddisassemblefor the other core dumps? Hopefully that provides some more insight.core.21565
(gdb) bt #0 0x0000000000c09780 in v8::internal::HashTable<v8::internal::ObjectHashTable, v8::internal::ObjectHashTableShape, v8::internal::Handle<v8::internal::Object> >::FindInsertionEntry(unsigned int) () #1 0x0000000000c0a1a4 in v8::internal::ObjectHashTable::Put(v8::internal::Handle<v8::internal::ObjectHashTable>, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int) () #2 0x0000000000c7b349 in v8::internal::Runtime::WeakCollectionSet(v8::internal::Handle<v8::internal::JSWeakCollection>, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int) () #3 0x0000000000c7b5ad in v8::internal::Runtime_WeakCollectionSet(int, v8::internal::Object**, v8::internal::Isolate*) () #4 0x0000037af4e060bb in ?? () #5 ...(gdb) info registers rax 0xf4106547621 16771953489441 rbx 0x1f69758 32937816 rcx 0x1 1 rdx 0x1 1 rsi 0x2c 44 rdi 0xb7474a04101 12594800771329 rbp 0x7ffffa70f560 0x7ffffa70f560 rsp 0x7ffffa70f560 0x7ffffa70f560 r8 0x3f 63 r9 0x7ffffa70f668 140737395095144 r10 0xa1c5f004131 11116969214257 r11 0x0 0 r12 0x7ffffa70f6c8 140737395095240 r13 0x2d 45 r14 0xbdaf20d2879 13034991724665 r15 0xbdaf20d2789 13034991724425 rip 0xc09780 0xc09780 <v8::internal::HashTable<v8::internal::ObjectHashTable, v8::internal::ObjectHashTableShape, v8::internal::Handle<v8::internal::Object> >::FindInsertionEntry(unsigned int)+64> eflags 0x10246 [ PF ZF IF RF ] cs 0x33 51 ss 0x2b 43 ds 0x0 0 es 0x0 0 fs 0x0 0 gs 0x0 0(gdb) disassemble Dump of assembler code for function _ZN2v88internal9HashTableINS0_15ObjectHashTableENS0_20ObjectHashTableShapeENS0_6HandleINS0_6ObjectEEEE18FindInsertionEntryEj: 0x0000000000c09740 <+0>: movslq 0x23(%rdi),%r8 0x0000000000c09744 <+4>: push %rbp 0x0000000000c09745 <+5>: mov $0x1,%ecx 0x0000000000c0974a <+10>: mov %rsp,%rbp 0x0000000000c0974d <+13>: sub $0x1,%r8d 0x0000000000c09751 <+17>: and %r8d,%esi 0x0000000000c09754 <+20>: nopl 0x0(%rax) 0x0000000000c09758 <+24>: lea 0x3(%rsi,%rsi,1),%eax 0x0000000000c0975c <+28>: shl $0x3,%eax 0x0000000000c0975f <+31>: cltq 0x0000000000c09761 <+33>: mov 0xf(%rdi,%rax,1),%rax 0x0000000000c09766 <+38>: mov %rax,%rdx 0x0000000000c09769 <+41>: and $0x3,%edx 0x0000000000c0976c <+44>: cmp $0x1,%rdx 0x0000000000c09770 <+48>: je 0xc09780 <_ZN2v88internal9HashTableINS0_15ObjectHashTableENS0_20ObjectHashTableShapeENS0_6HandleINS0_6ObjectEEEE18FindInsertionEntryEj+64> 0x0000000000c09772 <+50>: add %ecx,%esi 0x0000000000c09774 <+52>: add $0x1,%ecx 0x0000000000c09777 <+55>: and %r8d,%esi 0x0000000000c0977a <+58>: jmp 0xc09758 <_ZN2v88internal9HashTableINS0_15ObjectHashTableENS0_20ObjectHashTableShapeENS0_6HandleINS0_6ObjectEEEE18FindInsertionEntryEj+24> 0x0000000000c0977c <+60>: nopl 0x0(%rax) => 0x0000000000c09780 <+64>: mov -0x1(%rax),%rdx 0x0000000000c09784 <+68>: cmpb $0x83,0xb(%rdx) 0x0000000000c09788 <+72>: je 0xc097a0 <_ZN2v88internal9HashTableINS0_15ObjectHashTableENS0_20ObjectHashTableShapeENS0_6HandleINS0_6ObjectEEEE18FindInsertionEntryEj+96> 0x0000000000c0978a <+74>: mov -0x1(%rax),%rdx 0x0000000000c0978e <+78>: cmpb $0x83,0xb(%rdx) 0x0000000000c09792 <+82>: jne 0xc09772 <_ZN2v88internal9HashTableINS0_15ObjectHashTableENS0_20ObjectHashTableShapeENS0_6HandleINS0_6ObjectEEEE18FindInsertionEntryEj+50> 0x0000000000c09794 <+84>: cmpb $0x2,0x1b(%rax) 0x0000000000c09798 <+88>: jne 0xc09772 <_ZN2v88internal9HashTableINS0_15ObjectHashTableENS0_20ObjectHashTableShapeENS0_6HandleINS0_6ObjectEEEE18FindInsertionEntryEj+50> 0x0000000000c0979a <+90>: mov %esi,%eax 0x0000000000c0979c <+92>: pop %rbp 0x0000000000c0979d <+93>: retq 0x0000000000c0979e <+94>: xchg %ax,%ax 0x0000000000c097a0 <+96>: cmpb $0x5,0x1b(%rax) 0x0000000000c097a4 <+100>: jne 0xc0978a <_ZN2v88internal9HashTableINS0_15ObjectHashTableENS0_20ObjectHashTableShapeENS0_6HandleINS0_6ObjectEEEE18FindInsertionEntryEj+74> 0x0000000000c097a6 <+102>: mov %esi,%eax 0x0000000000c097a8 <+104>: pop %rbp 0x0000000000c097a9 <+105>: retq End of assembler dump.core.26514
(gdb) bt #0 0x0000000000ad6ee6 in v8::internal::IncrementalMarkingMarkingVisitor::VisitFixedArrayIncremental(v8::internal::Map*, v8::internal::HeapObject*) () #1 0x0000000000ad465d in v8::internal::IncrementalMarking::Step(long, v8::internal::IncrementalMarking::CompletionAction, v8::internal::IncrementalMarking::ForceMarkingAction, v8::internal::IncrementalMarking::ForceCompletionAction) () #2 0x0000000000b0532d in v8::internal::FreeList::Allocate(int) () #3 0x0000000000a659d7 in v8::internal::PagedSpace::AllocateRawUnaligned(int) () #4 0x0000000000a65de0 in v8::internal::Heap::AllocateRaw(int, v8::internal::AllocationSpace, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) () #5 0x0000000000ab3e4c in v8::internal::Heap::AllocateRawTwoByteString(int, v8::internal::PretenureFlag) () #6 0x0000000000a6c462 in v8::internal::Factory::NewRawTwoByteString(int, v8::internal::PretenureFlag) () #7 0x00000000008f70a4 in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqTwoByteString, unsigned short>(v8::internal::Handle<v8::internal::String>, int, int) () #8 0x00000000008f725f in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqTwoByteString, unsigned short>(v8::internal::Handle<v8::internal::String>, int, int) () #9 0x00000000008f725f in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqTwoByteString, unsigned short>(v8::internal::Handle<v8::internal::String>, int, int) () #10 0x00000000008f725f in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqTwoByteString, unsigned short>(v8::internal::Handle<v8::internal::String>, int, int) () #11 0x00000000008f725f in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqTwoByteString, unsigned short>(v8::internal::Handle<v8::internal::String>, int, int) () #12 0x00000000008f725f in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqTwoByteString, unsigned short>(v8::internal::Handle<v8::internal::String>, int, int) () #13 0x00000000008f725f in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqTwoByteString, unsigned short>(v8::internal::Handle<v8::internal::String>, int, int) () #14 0x00000000008f725f in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqTwoByteString, unsigned short>(v8::internal::Handle<v8::internal::String>, int, int) () #15 0x00000000008f725f in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqTwoByteString, unsigned short>(v8::internal::Handle<v8::internal::String>, int, int) () #16 0x00000000008f725f in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqTwoByteString, unsigned short>(v8::internal::Handle<v8::internal::String>, int, int) () #17 0x00000000008f725f in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqTwoByteString, unsigned short>(v8::internal::Handle<v8::internal::String>, int, int) () #18 0x00000000008f74bf in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqOneByteString, unsigned char>(v8::internal::Handle<v8::internal::String>, int, int) () #19 0x00000000008f743f in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqOneByteString, unsigned char>(v8::internal::Handle<v8::internal::String>, int, int) () #20 0x00000000008f743f in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::SlowScanJsonString<v8::internal::SeqOneByteString, unsigned char>(v8::internal::Handle<v8::internal::String>, int, int) () #21 0x00000000008f7571 in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<false>::ScanJsonString<false>() () #22 0x00000000008f8670 in v8::internal::JsonParser<false>::ParseJsonValue() () #23 0x00000000008f7a35 in v8::internal::JsonParser<false>::ParseJsonObject() () #24 0x00000000008f8700 in v8::internal::JsonParser<false>::ParseJsonValue() () #25 0x00000000008f89cd in v8::internal::JsonParser<false>::ParseJson() () #26 0x0000000000c9db60 in v8::internal::Runtime_ParseJson(int, v8::internal::Object**, v8::internal::Isolate*) () #27 0x000034f9c84060bb in ?? () #28 ...(gdb) info registers rax 0x1 1 rbx 0x1ae9378360a8 29588961058984 rcx 0x826 2086 rdx 0x368a046001ac 59966406787500 rsi 0x7ff63 524131 rdi 0x1a44648 27543112 rbp 0x7fff0d9a3d80 0x7fff0d9a3d80 rsp 0x7fff0d9a3d10 0x7fff0d9a3d10 r8 0x374678402d50 60775804710224 r9 0x1ae937835d71 29588961058161 r10 0x1ae937835d71 29588961058161 r11 0x1ae937800000 29588960837632 r12 0x1a44561 27542881 r13 0x17bccd73e3e1 26099668214753 r14 0x1ae937836198 29588961059224 r15 0x17bccd700000 26099667959808 rip 0xad6ee6 0xad6ee6 <v8::internal::IncrementalMarkingMarkingVisitor::VisitFixedArrayIncremental(v8::internal::Map*, v8::internal::HeapObject*)+886> eflags 0x10206 [ PF IF RF ] cs 0x33 51 ss 0x2b 43 ds 0x0 0 es 0x0 0 fs 0x0 0 gs 0x0 0(gdb) disassemble Dump of assembler code for function _ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE: 0x0000000000ad6b70 <+0>: push %rbp 0x0000000000ad6b71 <+1>: lea -0x1(%rsi),%r11 0x0000000000ad6b75 <+5>: mov %rsi,%r10 0x0000000000ad6b78 <+8>: mov %rsp,%rbp 0x0000000000ad6b7b <+11>: push %r15 0x0000000000ad6b7d <+13>: and $0xfffffffffff00000,%r11 0x0000000000ad6b84 <+20>: push %r14 0x0000000000ad6b86 <+22>: push %r13 0x0000000000ad6b88 <+24>: push %r12 0x0000000000ad6b8a <+26>: push %rbx 0x0000000000ad6b8b <+27>: sub $0x48,%rsp 0x0000000000ad6b8f <+31>: cmpb $0x0,0xe22e8b(%rip) # 0x18f9a21 <_ZN2v88internal29FLAG_use_marking_progress_barE> 0x0000000000ad6b96 <+38>: jne 0xad6e1d <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+685> 0x0000000000ad6b9c <+44>: mov 0x8(%r11),%rax 0x0000000000ad6ba0 <+48>: test $0x20,%ah 0x0000000000ad6ba3 <+51>: je 0xad6e53 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+739> 0x0000000000ad6ba9 <+57>: and $0xfffffffffff00000,%rdi 0x0000000000ad6bb0 <+64>: mov 0x7(%r10),%rax 0x0000000000ad6bb4 <+68>: mov 0x38(%rdi),%r8 0x0000000000ad6bb8 <+72>: sar $0x20,%rax 0x0000000000ad6bbc <+76>: cmpl $0x10,0x60(%r11) 0x0000000000ad6bc1 <+81>: lea 0x6220(%r8),%rdi 0x0000000000ad6bc8 <+88>: lea 0x10(,%rax,8),%r9d 0x0000000000ad6bd0 <+96>: mov $0x10,%eax 0x0000000000ad6bd5 <+101>: cmovge 0x60(%r11),%eax 0x0000000000ad6bda <+106>: mov %rdi,-0x68(%rbp) 0x0000000000ad6bde <+110>: lea 0x6251(%r8),%rdi 0x0000000000ad6be5 <+117>: mov $0x1,%edx 0x0000000000ad6bea <+122>: mov %r11,-0x38(%rbp) 0x0000000000ad6bee <+126>: mov %rdi,-0x40(%rbp) 0x0000000000ad6bf2 <+130>: lea 0x8000(%rax),%r15d 0x0000000000ad6bf9 <+137>: mov %eax,-0x58(%rbp) 0x0000000000ad6bfc <+140>: cmp %r15d,%r9d 0x0000000000ad6bff <+143>: cmovle %r9d,%r15d 0x0000000000ad6c03 <+147>: nopl 0x0(%rax,%rax,1) 0x0000000000ad6c08 <+152>: movslq %r15d,%rcx 0x0000000000ad6c0b <+155>: cltq 0x0000000000ad6c0d <+157>: lea -0x1(%r10,%rcx,1),%r13 0x0000000000ad6c12 <+162>: lea -0x1(%r10,%rax,1),%rbx 0x0000000000ad6c17 <+167>: cmp %rbx,%r13 0x0000000000ad6c1a <+170>: ja 0xad6c35 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+197> 0x0000000000ad6c1c <+172>: jmpq 0xad6ce0 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+368> 0x0000000000ad6c21 <+177>: nopl 0x0(%rax) 0x0000000000ad6c28 <+184>: add $0x8,%rbx 0x0000000000ad6c2c <+188>: cmp %rbx,%r13 0x0000000000ad6c2f <+191>: jbe 0xad6ce0 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+368> 0x0000000000ad6c35 <+197>: mov (%rbx),%r12 0x0000000000ad6c38 <+200>: mov %r12,%rax 0x0000000000ad6c3b <+203>: and $0x3,%eax 0x0000000000ad6c3e <+206>: cmp $0x1,%rax 0x0000000000ad6c42 <+210>: jne 0xad6c28 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+184> 0x0000000000ad6c44 <+212>: mov %r12,%r14 0x0000000000ad6c47 <+215>: and $0xfffffffffff00000,%r14 0x0000000000ad6c4e <+222>: testb $0x1,0x9(%r14) 0x0000000000ad6c53 <+227>: jne 0xad6d28 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+440> 0x0000000000ad6c59 <+233>: mov %r12,%rax 0x0000000000ad6c5c <+236>: mov %edx,%edi 0x0000000000ad6c5e <+238>: sub %r14,%rax 0x0000000000ad6c61 <+241>: mov %eax,%ecx 0x0000000000ad6c63 <+243>: shr $0x8,%eax 0x0000000000ad6c66 <+246>: lea 0xa8(%r14,%rax,4),%rax 0x0000000000ad6c6e <+254>: shr $0x3,%ecx 0x0000000000ad6c71 <+257>: shl %cl,%edi 0x0000000000ad6c73 <+259>: mov (%rax),%esi 0x0000000000ad6c75 <+261>: mov %edi,%ecx 0x0000000000ad6c77 <+263>: test %edi,%esi 0x0000000000ad6c79 <+265>: jne 0xad6c28 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+184> 0x0000000000ad6c7b <+267>: or %edi,%esi 0x0000000000ad6c7d <+269>: add %ecx,%ecx 0x0000000000ad6c7f <+271>: mov %esi,(%rax) 0x0000000000ad6c81 <+273>: je 0xad6e00 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+656> 0x0000000000ad6c87 <+279>: mov %rax,%rdi 0x0000000000ad6c8a <+282>: or %ecx,%esi 0x0000000000ad6c8c <+284>: mov %esi,(%rdi) 0x0000000000ad6c8e <+286>: mov 0x6338(%r8),%rax 0x0000000000ad6c95 <+293>: movslq 0x6280(%rax),%rsi 0x0000000000ad6c9c <+300>: lea 0x1(%rsi),%ecx 0x0000000000ad6c9f <+303>: and 0x6288(%rax),%ecx 0x0000000000ad6ca5 <+309>: cmp %ecx,0x6284(%rax) 0x0000000000ad6cab <+315>: je 0xad6e11 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+673> 0x0000000000ad6cb1 <+321>: mov 0x6278(%rax),%rcx 0x0000000000ad6cb8 <+328>: add $0x8,%rbx 0x0000000000ad6cbc <+332>: mov %r12,(%rcx,%rsi,8) 0x0000000000ad6cc0 <+336>: mov 0x6280(%rax),%edi 0x0000000000ad6cc6 <+342>: lea 0x1(%rdi),%ecx 0x0000000000ad6cc9 <+345>: and 0x6288(%rax),%ecx 0x0000000000ad6ccf <+351>: cmp %rbx,%r13 0x0000000000ad6cd2 <+354>: mov %ecx,0x6280(%rax) 0x0000000000ad6cd8 <+360>: ja 0xad6c35 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+197> 0x0000000000ad6cde <+366>: xchg %ax,%ax 0x0000000000ad6ce0 <+368>: lea 0x8000(%r15),%eax 0x0000000000ad6ce7 <+375>: cmp %r9d,%eax 0x0000000000ad6cea <+378>: cmovg %r9d,%eax 0x0000000000ad6cee <+382>: cmp %r9d,%r15d 0x0000000000ad6cf1 <+385>: mov %eax,%ecx 0x0000000000ad6cf3 <+387>: jge 0xad6da0 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+560> 0x0000000000ad6cf9 <+393>: mov 0x6280(%r8),%eax 0x0000000000ad6d00 <+400>: add $0x1,%eax 0x0000000000ad6d03 <+403>: and 0x6288(%r8),%eax 0x0000000000ad6d0a <+410>: cmp %eax,0x6284(%r8) 0x0000000000ad6d11 <+417>: jne 0xad6da0 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+560> 0x0000000000ad6d17 <+423>: mov %r15d,%eax 0x0000000000ad6d1a <+426>: mov %ecx,%r15d 0x0000000000ad6d1d <+429>: jmpq 0xad6c08 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+152> 0x0000000000ad6d22 <+434>: nopw 0x0(%rax,%rax,1) 0x0000000000ad6d28 <+440>: mov -0x38(%rbp),%rax 0x0000000000ad6d2c <+444>: testq $0x360,0x8(%rax) 0x0000000000ad6d34 <+452>: jne 0xad6c59 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+233> 0x0000000000ad6d3a <+458>: mov 0x48(%r14),%rax 0x0000000000ad6d3e <+462>: lea 0x48(%r14),%rsi 0x0000000000ad6d42 <+466>: test %rax,%rax 0x0000000000ad6d45 <+469>: je 0xad6d5a <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+490> 0x0000000000ad6d47 <+471>: mov (%rax),%rcx 0x0000000000ad6d4a <+474>: cmp $0x3fd,%rcx 0x0000000000ad6d51 <+481>: jne 0xad6d8b <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+539> 0x0000000000ad6d53 <+483>: cmpq $0xe,0x8(%rax) 0x0000000000ad6d58 <+488>: jg 0xad6dc0 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+592> 0x0000000000ad6d5a <+490>: mov -0x40(%rbp),%rdi 0x0000000000ad6d5e <+494>: mov %rax,%rsi 0x0000000000ad6d61 <+497>: mov %r10,-0x60(%rbp) 0x0000000000ad6d65 <+501>: mov %r9d,-0x54(%rbp) 0x0000000000ad6d69 <+505>: mov %r8,-0x50(%rbp) 0x0000000000ad6d6d <+509>: mov %edx,-0x48(%rbp) 0x0000000000ad6d70 <+512>: callq 0xae7ce0 <_ZN2v88internal20SlotsBufferAllocator14AllocateBufferEPNS0_11SlotsBufferE> 0x0000000000ad6d75 <+517>: mov -0x48(%rbp),%edx 0x0000000000ad6d78 <+520>: mov %rax,0x48(%r14) 0x0000000000ad6d7c <+524>: mov -0x50(%rbp),%r8 0x0000000000ad6d80 <+528>: mov (%rax),%rcx 0x0000000000ad6d83 <+531>: mov -0x54(%rbp),%r9d 0x0000000000ad6d87 <+535>: mov -0x60(%rbp),%r10 0x0000000000ad6d8b <+539>: lea 0x1(%rcx),%rsi 0x0000000000ad6d8f <+543>: mov %rsi,(%rax) 0x0000000000ad6d92 <+546>: mov %rbx,0x18(%rax,%rcx,8) 0x0000000000ad6d97 <+551>: jmpq 0xad6c59 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+233> 0x0000000000ad6d9c <+556>: nopl 0x0(%rax) 0x0000000000ad6da0 <+560>: mov -0x38(%rbp),%r11 0x0000000000ad6da4 <+564>: cmp %r15d,%r9d 0x0000000000ad6da7 <+567>: mov %r15d,0x60(%r11) 0x0000000000ad6dab <+571>: jg 0xad6f22 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+946> 0x0000000000ad6db1 <+577>: add $0x48,%rsp 0x0000000000ad6db5 <+581>: pop %rbx 0x0000000000ad6db6 <+582>: pop %r12 0x0000000000ad6db8 <+584>: pop %r13 0x0000000000ad6dba <+586>: pop %r14 0x0000000000ad6dbc <+588>: pop %r15 0x0000000000ad6dbe <+590>: pop %rbp 0x0000000000ad6dbf <+591>: retq 0x0000000000ad6dc0 <+592>: mov -0x40(%rbp),%rdi 0x0000000000ad6dc4 <+596>: mov %r10,-0x60(%rbp) 0x0000000000ad6dc8 <+600>: mov %r9d,-0x54(%rbp) 0x0000000000ad6dcc <+604>: mov %r8,-0x50(%rbp) 0x0000000000ad6dd0 <+608>: mov %edx,-0x48(%rbp) 0x0000000000ad6dd3 <+611>: callq 0xaec580 <_ZN2v88internal20SlotsBufferAllocator15DeallocateChainEPPNS0_11SlotsBufferE> 0x0000000000ad6dd8 <+616>: mov -0x68(%rbp),%rdi 0x0000000000ad6ddc <+620>: mov %r14,%rsi 0x0000000000ad6ddf <+623>: callq 0xae7830 <_ZN2v88internal20MarkCompactCollector31EvictPopularEvacuationCandidateEPNS0_4PageE> 0x0000000000ad6de4 <+628>: mov -0x48(%rbp),%edx 0x0000000000ad6de7 <+631>: mov -0x50(%rbp),%r8 0x0000000000ad6deb <+635>: mov -0x54(%rbp),%r9d 0x0000000000ad6def <+639>: mov -0x60(%rbp),%r10 0x0000000000ad6df3 <+643>: jmpq 0xad6c59 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+233> 0x0000000000ad6df8 <+648>: nopl 0x0(%rax,%rax,1) 0x0000000000ad6e00 <+656>: lea 0x4(%rax),%rdi 0x0000000000ad6e04 <+660>: mov 0x4(%rax),%esi 0x0000000000ad6e07 <+663>: mov $0x1,%ecx 0x0000000000ad6e0c <+668>: jmpq 0xad6c8a <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+282> 0x0000000000ad6e11 <+673>: movb $0x1,0x628c(%rax) 0x0000000000ad6e18 <+680>: jmpq 0xad6c28 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+184> 0x0000000000ad6e1d <+685>: mov 0x30(%r11),%rax 0x0000000000ad6e21 <+689>: mov %rax,%rcx 0x0000000000ad6e24 <+692>: lea -0x3(%rax),%rdx 0x0000000000ad6e28 <+696>: xor %eax,%eax 0x0000000000ad6e2a <+698>: and $0x3,%ecx 0x0000000000ad6e2d <+701>: cmp $0x3,%rcx 0x0000000000ad6e31 <+705>: cmove %rdx,%rax 0x0000000000ad6e35 <+709>: cmpl $0x4,0x10(%rax) 0x0000000000ad6e39 <+713>: mov 0x8(%r11),%rax 0x0000000000ad6e3d <+717>: jne 0xad6ba0 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+48> 0x0000000000ad6e43 <+723>: or $0x20,%ah 0x0000000000ad6e46 <+726>: test $0x20,%ah 0x0000000000ad6e49 <+729>: mov %rax,0x8(%r11) 0x0000000000ad6e4d <+733>: jne 0xad6ba9 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+57> 0x0000000000ad6e53 <+739>: mov 0x7(%r10),%rax 0x0000000000ad6e57 <+743>: sar $0x20,%rax 0x0000000000ad6e5b <+747>: and $0xfffffffffff00000,%rdi 0x0000000000ad6e62 <+754>: lea 0x10(,%rax,8),%ecx 0x0000000000ad6e69 <+761>: mov -0x1(%r10),%rax 0x0000000000ad6e6d <+765>: mov 0x38(%rdi),%rdi 0x0000000000ad6e71 <+769>: cmpq $0x0,0x37(%rax) 0x0000000000ad6e76 <+774>: jne 0xad6fe9 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+1145> 0x0000000000ad6e7c <+780>: movslq %ecx,%rcx 0x0000000000ad6e7f <+783>: lea 0xf(%r10),%rbx 0x0000000000ad6e83 <+787>: lea -0x1(%r10,%rcx,1),%r14 0x0000000000ad6e88 <+792>: cmp %r14,%rbx 0x0000000000ad6e8b <+795>: jae 0xad6db1 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+577> 0x0000000000ad6e91 <+801>: lea 0x6338(%rdi),%rax 0x0000000000ad6e98 <+808>: lea 0x6251(%rdi),%r12 0x0000000000ad6e9f <+815>: mov %rax,-0x38(%rbp) 0x0000000000ad6ea3 <+819>: mov %rbx,%rax 0x0000000000ad6ea6 <+822>: and $0xfffffffffff00000,%rax 0x0000000000ad6eac <+828>: mov %rax,-0x40(%rbp) 0x0000000000ad6eb0 <+832>: lea 0x6220(%rdi),%rax 0x0000000000ad6eb7 <+839>: mov %rax,-0x48(%rbp) 0x0000000000ad6ebb <+843>: jmp 0xad6ecd <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+861> 0x0000000000ad6ebd <+845>: nopl (%rax) 0x0000000000ad6ec0 <+848>: add $0x8,%rbx 0x0000000000ad6ec4 <+852>: cmp %r14,%rbx 0x0000000000ad6ec7 <+855>: jae 0xad6db1 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+577> 0x0000000000ad6ecd <+861>: mov (%rbx),%r13 0x0000000000ad6ed0 <+864>: mov %r13,%rax 0x0000000000ad6ed3 <+867>: and $0x3,%eax 0x0000000000ad6ed6 <+870>: cmp $0x1,%rax 0x0000000000ad6eda <+874>: jne 0xad6ec0 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+848> 0x0000000000ad6edc <+876>: mov %r13,%r15 0x0000000000ad6edf <+879>: and $0xfffffffffff00000,%r15 => 0x0000000000ad6ee6 <+886>: testb $0x1,0x9(%r15) 0x0000000000ad6eeb <+891>: jne 0xad7056 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+1254> 0x0000000000ad6ef1 <+897>: mov %r13,%rdx 0x0000000000ad6ef4 <+900>: mov $0x1,%eax 0x0000000000ad6ef9 <+905>: sub %r15,%rdx 0x0000000000ad6efc <+908>: mov %edx,%ecx 0x0000000000ad6efe <+910>: shr $0x8,%edx 0x0000000000ad6f01 <+913>: lea 0xa8(%r15,%rdx,4),%rdx 0x0000000000ad6f09 <+921>: shr $0x3,%ecx 0x0000000000ad6f0c <+924>: shl %cl,%eax 0x0000000000ad6f0e <+926>: test %eax,(%rdx) 0x0000000000ad6f10 <+928>: jne 0xad6ec0 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+848> 0x0000000000ad6f12 <+930>: mov -0x38(%rbp),%rdi 0x0000000000ad6f16 <+934>: mov %eax,%ecx 0x0000000000ad6f18 <+936>: mov %r13,%rsi 0x0000000000ad6f1b <+939>: callq 0xacf980 <_ZN2v88internal18IncrementalMarking18WhiteToGreyAndPushEPNS0_10HeapObjectENS0_7MarkBitE.isra.121> 0x0000000000ad6f20 <+944>: jmp 0xad6ec0 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+848> 0x0000000000ad6f22 <+946>: mov %r10,%rax 0x0000000000ad6f25 <+949>: mov %r10,%rdx 0x0000000000ad6f28 <+952>: mov $0x1,%esi 0x0000000000ad6f2d <+957>: and $0xfffffffffff00000,%rax 0x0000000000ad6f33 <+963>: sub %rax,%rdx 0x0000000000ad6f36 <+966>: mov %edx,%ecx 0x0000000000ad6f38 <+968>: shr $0x8,%edx 0x0000000000ad6f3b <+971>: lea 0xa8(%rax,%rdx,4),%rdi 0x0000000000ad6f43 <+979>: shr $0x3,%ecx 0x0000000000ad6f46 <+982>: shl %cl,%esi 0x0000000000ad6f48 <+984>: mov (%rdi),%eax 0x0000000000ad6f4a <+986>: test %esi,%eax 0x0000000000ad6f4c <+988>: jne 0xad7004 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+1172> 0x0000000000ad6f52 <+994>: mov 0x6280(%r8),%eax 0x0000000000ad6f59 <+1001>: mov 0x6288(%r8),%edx 0x0000000000ad6f60 <+1008>: mov 0x6284(%r8),%ecx 0x0000000000ad6f67 <+1015>: add $0x1,%eax 0x0000000000ad6f6a <+1018>: and %edx,%eax 0x0000000000ad6f6c <+1020>: cmp %eax,%ecx 0x0000000000ad6f6e <+1022>: je 0xad6fa8 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+1080> 0x0000000000ad6f70 <+1024>: lea -0x1(%rcx),%eax 0x0000000000ad6f73 <+1027>: and %edx,%eax 0x0000000000ad6f75 <+1029>: mov 0x6278(%r8),%rdx 0x0000000000ad6f7c <+1036>: mov %eax,0x6284(%r8) 0x0000000000ad6f83 <+1043>: cltq 0x0000000000ad6f85 <+1045>: mov %r10,(%rdx,%rax,8) 0x0000000000ad6f89 <+1049>: mov -0x58(%rbp),%eax 0x0000000000ad6f8c <+1052>: sub %r15d,%eax 0x0000000000ad6f8f <+1055>: add %r9d,%eax 0x0000000000ad6f92 <+1058>: mov %eax,0x6394(%r8) 0x0000000000ad6f99 <+1065>: add $0x48,%rsp 0x0000000000ad6f9d <+1069>: pop %rbx 0x0000000000ad6f9e <+1070>: pop %r12 0x0000000000ad6fa0 <+1072>: pop %r13 0x0000000000ad6fa2 <+1074>: pop %r14 0x0000000000ad6fa4 <+1076>: pop %r15 0x0000000000ad6fa6 <+1078>: pop %rbp 0x0000000000ad6fa7 <+1079>: retq 0x0000000000ad6fa8 <+1080>: mov %r9d,-0x48(%rbp) 0x0000000000ad6fac <+1084>: mov %r8,-0x40(%rbp) 0x0000000000ad6fb0 <+1088>: mov %r11,-0x38(%rbp) 0x0000000000ad6fb4 <+1092>: mov %r10,-0x50(%rbp) 0x0000000000ad6fb8 <+1096>: callq 0xacf740 <_ZN2v88internal7MarkBit4NextEv.isra.5> 0x0000000000ad6fbd <+1101>: mov -0x50(%rbp),%r10 0x0000000000ad6fc1 <+1105>: or %edx,(%rax) 0x0000000000ad6fc3 <+1107>: mov -0x1(%r10),%rsi 0x0000000000ad6fc7 <+1111>: mov %r10,%rdi 0x0000000000ad6fca <+1114>: callq 0xa54a50 <_ZN2v88internal10HeapObject11SizeFromMapEPNS0_3MapE> 0x0000000000ad6fcf <+1119>: mov -0x38(%rbp),%r11 0x0000000000ad6fd3 <+1123>: mov -0x40(%rbp),%r8 0x0000000000ad6fd7 <+1127>: mov -0x48(%rbp),%r9d 0x0000000000ad6fdb <+1131>: sub %eax,0x44(%r11) 0x0000000000ad6fdf <+1135>: movb $0x1,0x628c(%r8) 0x0000000000ad6fe7 <+1143>: jmp 0xad6f89 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+1049> 0x0000000000ad6fe9 <+1145>: add $0x48,%rsp 0x0000000000ad6fed <+1149>: mov $0x10,%edx 0x0000000000ad6ff2 <+1154>: mov %r10,%rsi 0x0000000000ad6ff5 <+1157>: pop %rbx 0x0000000000ad6ff6 <+1158>: pop %r12 0x0000000000ad6ff8 <+1160>: pop %r13 0x0000000000ad6ffa <+1162>: pop %r14 0x0000000000ad6ffc <+1164>: pop %r15 0x0000000000ad6ffe <+1166>: pop %rbp 0x0000000000ad6fff <+1167>: jmpq 0xad6430 <_ZN2v88internal15BodyVisitorBaseINS0_32IncrementalMarkingMarkingVisitorEE32IterateBodyUsingLayoutDescriptorEPNS0_4HeapEPNS0_10HeapObjectEii> 0x0000000000ad7004 <+1172>: mov %esi,%edx 0x0000000000ad7006 <+1174>: add %edx,%edx 0x0000000000ad7008 <+1176>: jne 0xad7012 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+1186> 0x0000000000ad700a <+1178>: mov 0x4(%rdi),%eax 0x0000000000ad700d <+1181>: mov $0x1,%edx 0x0000000000ad7012 <+1186>: test %edx,%eax 0x0000000000ad7014 <+1188>: je 0xad6f52 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+994> 0x0000000000ad701a <+1194>: mov 0x6280(%r8),%edx 0x0000000000ad7021 <+1201>: mov 0x6288(%r8),%ecx 0x0000000000ad7028 <+1208>: mov 0x6284(%r8),%eax 0x0000000000ad702f <+1215>: add $0x1,%edx 0x0000000000ad7032 <+1218>: and %ecx,%edx 0x0000000000ad7034 <+1220>: cmp %edx,%eax 0x0000000000ad7036 <+1222>: je 0xad70ab <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+1339> 0x0000000000ad7038 <+1224>: sub $0x1,%eax 0x0000000000ad703b <+1227>: mov 0x6278(%r8),%rdx 0x0000000000ad7042 <+1234>: and %ecx,%eax 0x0000000000ad7044 <+1236>: mov %eax,0x6284(%r8) 0x0000000000ad704b <+1243>: cltq 0x0000000000ad704d <+1245>: mov %r10,(%rdx,%rax,8) 0x0000000000ad7051 <+1249>: jmpq 0xad6f89 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+1049> 0x0000000000ad7056 <+1254>: mov -0x40(%rbp),%rax 0x0000000000ad705a <+1258>: testq $0x360,0x8(%rax) 0x0000000000ad7062 <+1266>: jne 0xad6ef1 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+897> 0x0000000000ad7068 <+1272>: mov 0x48(%r15),%rax 0x0000000000ad706c <+1276>: lea 0x48(%r15),%rsi 0x0000000000ad7070 <+1280>: test %rax,%rax 0x0000000000ad7073 <+1283>: je 0xad7088 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+1304> 0x0000000000ad7075 <+1285>: mov (%rax),%rdx 0x0000000000ad7078 <+1288>: cmp $0x3fd,%rdx 0x0000000000ad707f <+1295>: jne 0xad709a <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+1322> 0x0000000000ad7081 <+1297>: cmpq $0xe,0x8(%rax) 0x0000000000ad7086 <+1302>: jg 0xad70b8 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+1352> 0x0000000000ad7088 <+1304>: mov %rax,%rsi 0x0000000000ad708b <+1307>: mov %r12,%rdi 0x0000000000ad708e <+1310>: callq 0xae7ce0 <_ZN2v88internal20SlotsBufferAllocator14AllocateBufferEPNS0_11SlotsBufferE> 0x0000000000ad7093 <+1315>: mov %rax,0x48(%r15) 0x0000000000ad7097 <+1319>: mov (%rax),%rdx 0x0000000000ad709a <+1322>: lea 0x1(%rdx),%rcx 0x0000000000ad709e <+1326>: mov %rcx,(%rax) 0x0000000000ad70a1 <+1329>: mov %rbx,0x18(%rax,%rdx,8) 0x0000000000ad70a6 <+1334>: jmpq 0xad6ef1 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+897> 0x0000000000ad70ab <+1339>: movb $0x1,0x628c(%r8) 0x0000000000ad70b3 <+1347>: jmpq 0xad6f89 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+1049> 0x0000000000ad70b8 <+1352>: mov %r12,%rdi 0x0000000000ad70bb <+1355>: callq 0xaec580 <_ZN2v88internal20SlotsBufferAllocator15DeallocateChainEPPNS0_11SlotsBufferE> 0x0000000000ad70c0 <+1360>: mov -0x48(%rbp),%rdi 0x0000000000ad70c4 <+1364>: mov %r15,%rsi 0x0000000000ad70c7 <+1367>: callq 0xae7830 <_ZN2v88internal20MarkCompactCollector31EvictPopularEvacuationCandidateEPNS0_4PageE> 0x0000000000ad70cc <+1372>: jmpq 0xad6ef1 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+897> End of assembler dump.core.26538
(gdb) bt #0 0x0000000000ad6ee6 in v8::internal::IncrementalMarkingMarkingVisitor::VisitFixedArrayIncremental(v8::internal::Map*, v8::internal::HeapObject*) () #1 0x0000000000ad465d in v8::internal::IncrementalMarking::Step(long, v8::internal::IncrementalMarking::CompletionAction, v8::internal::IncrementalMarking::ForceMarkingAction, v8::internal::IncrementalMarking::ForceCompletionAction) () #2 0x0000000000b03634 in v8::internal::NewSpace::SlowAllocateRaw(int, v8::internal::AllocationAlignment) () #3 0x0000000000a65d09 in v8::internal::Heap::AllocateRaw(int, v8::internal::AllocationSpace, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) () #4 0x0000000000ab3ddb in v8::internal::Heap::AllocateRawOneByteString(int, v8::internal::PretenureFlag) () #5 0x0000000000a6c2a2 in v8::internal::Factory::NewRawOneByteString(int, v8::internal::PretenureFlag) () #6 0x0000000000cf8c30 in v8::internal::IncrementalStringBuilder::IncrementalStringBuilder(v8::internal::Isolate*) () #7 0x0000000000c9d8a3 in v8::internal::Runtime_BasicJSONStringify(int, v8::internal::Object**, v8::internal::Isolate*) () #8 0x00001cc8e86060bb in ?? () #9 ...(gdb) info registers rax 0x1 1 rbx 0x2cf4cbda5918 49429903726872 rcx 0x88e 2190 rdx 0x178bcc6001b8 25889196736952 rsi 0x7ffb6 524214 rdi 0x1ec7648 32273992 rbp 0x7fff6ce47b60 0x7fff6ce47b60 rsp 0x7fff6ce47af0 0x7fff6ce47af0 r8 0x33f493003dec 57125531303404 r9 0x2cf4cbda5781 49429903726465 r10 0x2cf4cbda5781 49429903726465 r11 0x2cf4cbd00000 49429903048704 r12 0x1ec7561 32273761 r13 0x18ba8ba4bdb9 27189485813177 r14 0x2cf4cbda5ba8 49429903727528 r15 0x18ba8ba00000 27189485502464 rip 0xad6ee6 0xad6ee6 <v8::internal::IncrementalMarkingMarkingVisitor::VisitFixedArrayIncremental(v8::internal::Map*, v8::internal::HeapObject*)+886> eflags 0x10206 [ PF IF RF ] cs 0x33 51 ss 0x2b 43 ds 0x0 0 es 0x0 0 fs 0x0 0 gs 0x0 0(gdb) disassemble Dump of assembler code for function _ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE: 0x0000000000ad6b70 <+0>: push %rbp 0x0000000000ad6b71 <+1>: lea -0x1(%rsi),%r11 0x0000000000ad6b75 <+5>: mov %rsi,%r10 0x0000000000ad6b78 <+8>: mov %rsp,%rbp 0x0000000000ad6b7b <+11>: push %r15 0x0000000000ad6b7d <+13>: and $0xfffffffffff00000,%r11 0x0000000000ad6b84 <+20>: push %r14 0x0000000000ad6b86 <+22>: push %r13 0x0000000000ad6b88 <+24>: push %r12 0x0000000000ad6b8a <+26>: push %rbx 0x0000000000ad6b8b <+27>: sub $0x48,%rsp 0x0000000000ad6b8f <+31>: cmpb $0x0,0xe22e8b(%rip) # 0x18f9a21 <_ZN2v88internal29FLAG_use_marking_progress_barE> 0x0000000000ad6b96 <+38>: jne 0xad6e1d <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+685> 0x0000000000ad6b9c <+44>: mov 0x8(%r11),%rax 0x0000000000ad6ba0 <+48>: test $0x20,%ah 0x0000000000ad6ba3 <+51>: je 0xad6e53 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+739> 0x0000000000ad6ba9 <+57>: and $0xfffffffffff00000,%rdi 0x0000000000ad6bb0 <+64>: mov 0x7(%r10),%rax 0x0000000000ad6bb4 <+68>: mov 0x38(%rdi),%r8 0x0000000000ad6bb8 <+72>: sar $0x20,%rax 0x0000000000ad6bbc <+76>: cmpl $0x10,0x60(%r11) 0x0000000000ad6bc1 <+81>: lea 0x6220(%r8),%rdi 0x0000000000ad6bc8 <+88>: lea 0x10(,%rax,8),%r9d 0x0000000000ad6bd0 <+96>: mov $0x10,%eax 0x0000000000ad6bd5 <+101>: cmovge 0x60(%r11),%eax 0x0000000000ad6bda <+106>: mov %rdi,-0x68(%rbp) 0x0000000000ad6bde <+110>: lea 0x6251(%r8),%rdi 0x0000000000ad6be5 <+117>: mov $0x1,%edx 0x0000000000ad6bea <+122>: mov %r11,-0x38(%rbp) 0x0000000000ad6bee <+126>: mov %rdi,-0x40(%rbp) 0x0000000000ad6bf2 <+130>: lea 0x8000(%rax),%r15d 0x0000000000ad6bf9 <+137>: mov %eax,-0x58(%rbp) 0x0000000000ad6bfc <+140>: cmp %r15d,%r9d 0x0000000000ad6bff <+143>: cmovle %r9d,%r15d 0x0000000000ad6c03 <+147>: nopl 0x0(%rax,%rax,1) 0x0000000000ad6c08 <+152>: movslq %r15d,%rcx 0x0000000000ad6c0b <+155>: cltq 0x0000000000ad6c0d <+157>: lea -0x1(%r10,%rcx,1),%r13 0x0000000000ad6c12 <+162>: lea -0x1(%r10,%rax,1),%rbx 0x0000000000ad6c17 <+167>: cmp %rbx,%r13 0x0000000000ad6c1a <+170>: ja 0xad6c35 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+197> 0x0000000000ad6c1c <+172>: jmpq 0xad6ce0 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+368> 0x0000000000ad6c21 <+177>: nopl 0x0(%rax) 0x0000000000ad6c28 <+184>: add $0x8,%rbx 0x0000000000ad6c2c <+188>: cmp %rbx,%r13 0x0000000000ad6c2f <+191>: jbe 0xad6ce0 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+368> 0x0000000000ad6c35 <+197>: mov (%rbx),%r12 0x0000000000ad6c38 <+200>: mov %r12,%rax 0x0000000000ad6c3b <+203>: and $0x3,%eax 0x0000000000ad6c3e <+206>: cmp $0x1,%rax 0x0000000000ad6c42 <+210>: jne 0xad6c28 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+184> 0x0000000000ad6c44 <+212>: mov %r12,%r14 0x0000000000ad6c47 <+215>: and $0xfffffffffff00000,%r14 0x0000000000ad6c4e <+222>: testb $0x1,0x9(%r14) 0x0000000000ad6c53 <+227>: jne 0xad6d28 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+440> 0x0000000000ad6c59 <+233>: mov %r12,%rax 0x0000000000ad6c5c <+236>: mov %edx,%edi 0x0000000000ad6c5e <+238>: sub %r14,%rax 0x0000000000ad6c61 <+241>: mov %eax,%ecx 0x0000000000ad6c63 <+243>: shr $0x8,%eax 0x0000000000ad6c66 <+246>: lea 0xa8(%r14,%rax,4),%rax 0x0000000000ad6c6e <+254>: shr $0x3,%ecx 0x0000000000ad6c71 <+257>: shl %cl,%edi 0x0000000000ad6c73 <+259>: mov (%rax),%esi 0x0000000000ad6c75 <+261>: mov %edi,%ecx 0x0000000000ad6c77 <+263>: test %edi,%esi 0x0000000000ad6c79 <+265>: jne 0xad6c28 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+184> 0x0000000000ad6c7b <+267>: or %edi,%esi 0x0000000000ad6c7d <+269>: add %ecx,%ecx 0x0000000000ad6c7f <+271>: mov %esi,(%rax) 0x0000000000ad6c81 <+273>: je 0xad6e00 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+656> 0x0000000000ad6c87 <+279>: mov %rax,%rdi 0x0000000000ad6c8a <+282>: or %ecx,%esi 0x0000000000ad6c8c <+284>: mov %esi,(%rdi) 0x0000000000ad6c8e <+286>: mov 0x6338(%r8),%rax 0x0000000000ad6c95 <+293>: movslq 0x6280(%rax),%rsi 0x0000000000ad6c9c <+300>: lea 0x1(%rsi),%ecx 0x0000000000ad6c9f <+303>: and 0x6288(%rax),%ecx 0x0000000000ad6ca5 <+309>: cmp %ecx,0x6284(%rax) 0x0000000000ad6cab <+315>: je 0xad6e11 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+673> 0x0000000000ad6cb1 <+321>: mov 0x6278(%rax),%rcx 0x0000000000ad6cb8 <+328>: add $0x8,%rbx 0x0000000000ad6cbc <+332>: mov %r12,(%rcx,%rsi,8) 0x0000000000ad6cc0 <+336>: mov 0x6280(%rax),%edi 0x0000000000ad6cc6 <+342>: lea 0x1(%rdi),%ecx 0x0000000000ad6cc9 <+345>: and 0x6288(%rax),%ecx 0x0000000000ad6ccf <+351>: cmp %rbx,%r13 0x0000000000ad6cd2 <+354>: mov %ecx,0x6280(%rax) 0x0000000000ad6cd8 <+360>: ja 0xad6c35 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+197> 0x0000000000ad6cde <+366>: xchg %ax,%ax 0x0000000000ad6ce0 <+368>: lea 0x8000(%r15),%eax 0x0000000000ad6ce7 <+375>: cmp %r9d,%eax 0x0000000000ad6cea <+378>: cmovg %r9d,%eax 0x0000000000ad6cee <+382>: cmp %r9d,%r15d 0x0000000000ad6cf1 <+385>: mov %eax,%ecx 0x0000000000ad6cf3 <+387>: jge 0xad6da0 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+560> 0x0000000000ad6cf9 <+393>: mov 0x6280(%r8),%eax 0x0000000000ad6d00 <+400>: add $0x1,%eax 0x0000000000ad6d03 <+403>: and 0x6288(%r8),%eax 0x0000000000ad6d0a <+410>: cmp %eax,0x6284(%r8) 0x0000000000ad6d11 <+417>: jne 0xad6da0 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+560> 0x0000000000ad6d17 <+423>: mov %r15d,%eax 0x0000000000ad6d1a <+426>: mov %ecx,%r15d 0x0000000000ad6d1d <+429>: jmpq 0xad6c08 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+152> 0x0000000000ad6d22 <+434>: nopw 0x0(%rax,%rax,1) 0x0000000000ad6d28 <+440>: mov -0x38(%rbp),%rax 0x0000000000ad6d2c <+444>: testq $0x360,0x8(%rax) 0x0000000000ad6d34 <+452>: jne 0xad6c59 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+233> 0x0000000000ad6d3a <+458>: mov 0x48(%r14),%rax 0x0000000000ad6d3e <+462>: lea 0x48(%r14),%rsi 0x0000000000ad6d42 <+466>: test %rax,%rax 0x0000000000ad6d45 <+469>: je 0xad6d5a <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+490> 0x0000000000ad6d47 <+471>: mov (%rax),%rcx 0x0000000000ad6d4a <+474>: cmp $0x3fd,%rcx 0x0000000000ad6d51 <+481>: jne 0xad6d8b <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+539> 0x0000000000ad6d53 <+483>: cmpq $0xe,0x8(%rax) 0x0000000000ad6d58 <+488>: jg 0xad6dc0 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+592> 0x0000000000ad6d5a <+490>: mov -0x40(%rbp),%rdi 0x0000000000ad6d5e <+494>: mov %rax,%rsi 0x0000000000ad6d61 <+497>: mov %r10,-0x60(%rbp) 0x0000000000ad6d65 <+501>: mov %r9d,-0x54(%rbp) 0x0000000000ad6d69 <+505>: mov %r8,-0x50(%rbp) 0x0000000000ad6d6d <+509>: mov %edx,-0x48(%rbp) 0x0000000000ad6d70 <+512>: callq 0xae7ce0 <_ZN2v88internal20SlotsBufferAllocator14AllocateBufferEPNS0_11SlotsBufferE> 0x0000000000ad6d75 <+517>: mov -0x48(%rbp),%edx 0x0000000000ad6d78 <+520>: mov %rax,0x48(%r14) 0x0000000000ad6d7c <+524>: mov -0x50(%rbp),%r8 0x0000000000ad6d80 <+528>: mov (%rax),%rcx 0x0000000000ad6d83 <+531>: mov -0x54(%rbp),%r9d 0x0000000000ad6d87 <+535>: mov -0x60(%rbp),%r10 0x0000000000ad6d8b <+539>: lea 0x1(%rcx),%rsi 0x0000000000ad6d8f <+543>: mov %rsi,(%rax) 0x0000000000ad6d92 <+546>: mov %rbx,0x18(%rax,%rcx,8) 0x0000000000ad6d97 <+551>: jmpq 0xad6c59 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+233> 0x0000000000ad6d9c <+556>: nopl 0x0(%rax) 0x0000000000ad6da0 <+560>: mov -0x38(%rbp),%r11 0x0000000000ad6da4 <+564>: cmp %r15d,%r9d 0x0000000000ad6da7 <+567>: mov %r15d,0x60(%r11) 0x0000000000ad6dab <+571>: jg 0xad6f22 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+946> 0x0000000000ad6db1 <+577>: add $0x48,%rsp 0x0000000000ad6db5 <+581>: pop %rbx 0x0000000000ad6db6 <+582>: pop %r12 0x0000000000ad6db8 <+584>: pop %r13 0x0000000000ad6dba <+586>: pop %r14 0x0000000000ad6dbc <+588>: pop %r15 0x0000000000ad6dbe <+590>: pop %rbp 0x0000000000ad6dbf <+591>: retq 0x0000000000ad6dc0 <+592>: mov -0x40(%rbp),%rdi 0x0000000000ad6dc4 <+596>: mov %r10,-0x60(%rbp) 0x0000000000ad6dc8 <+600>: mov %r9d,-0x54(%rbp) 0x0000000000ad6dcc <+604>: mov %r8,-0x50(%rbp) 0x0000000000ad6dd0 <+608>: mov %edx,-0x48(%rbp) 0x0000000000ad6dd3 <+611>: callq 0xaec580 <_ZN2v88internal20SlotsBufferAllocator15DeallocateChainEPPNS0_11SlotsBufferE> 0x0000000000ad6dd8 <+616>: mov -0x68(%rbp),%rdi 0x0000000000ad6ddc <+620>: mov %r14,%rsi 0x0000000000ad6ddf <+623>: callq 0xae7830 <_ZN2v88internal20MarkCompactCollector31EvictPopularEvacuationCandidateEPNS0_4PageE> 0x0000000000ad6de4 <+628>: mov -0x48(%rbp),%edx 0x0000000000ad6de7 <+631>: mov -0x50(%rbp),%r8 0x0000000000ad6deb <+635>: mov -0x54(%rbp),%r9d 0x0000000000ad6def <+639>: mov -0x60(%rbp),%r10 0x0000000000ad6df3 <+643>: jmpq 0xad6c59 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+233> 0x0000000000ad6df8 <+648>: nopl 0x0(%rax,%rax,1) 0x0000000000ad6e00 <+656>: lea 0x4(%rax),%rdi 0x0000000000ad6e04 <+660>: mov 0x4(%rax),%esi 0x0000000000ad6e07 <+663>: mov $0x1,%ecx 0x0000000000ad6e0c <+668>: jmpq 0xad6c8a <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+282> 0x0000000000ad6e11 <+673>: movb $0x1,0x628c(%rax) 0x0000000000ad6e18 <+680>: jmpq 0xad6c28 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+184> 0x0000000000ad6e1d <+685>: mov 0x30(%r11),%rax 0x0000000000ad6e21 <+689>: mov %rax,%rcx 0x0000000000ad6e24 <+692>: lea -0x3(%rax),%rdx 0x0000000000ad6e28 <+696>: xor %eax,%eax 0x0000000000ad6e2a <+698>: and $0x3,%ecx 0x0000000000ad6e2d <+701>: cmp $0x3,%rcx 0x0000000000ad6e31 <+705>: cmove %rdx,%rax 0x0000000000ad6e35 <+709>: cmpl $0x4,0x10(%rax) 0x0000000000ad6e39 <+713>: mov 0x8(%r11),%rax 0x0000000000ad6e3d <+717>: jne 0xad6ba0 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+48> 0x0000000000ad6e43 <+723>: or $0x20,%ah 0x0000000000ad6e46 <+726>: test $0x20,%ah 0x0000000000ad6e49 <+729>: mov %rax,0x8(%r11) 0x0000000000ad6e4d <+733>: jne 0xad6ba9 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+57> 0x0000000000ad6e53 <+739>: mov 0x7(%r10),%rax 0x0000000000ad6e57 <+743>: sar $0x20,%rax 0x0000000000ad6e5b <+747>: and $0xfffffffffff00000,%rdi 0x0000000000ad6e62 <+754>: lea 0x10(,%rax,8),%ecx 0x0000000000ad6e69 <+761>: mov -0x1(%r10),%rax 0x0000000000ad6e6d <+765>: mov 0x38(%rdi),%rdi 0x0000000000ad6e71 <+769>: cmpq $0x0,0x37(%rax) 0x0000000000ad6e76 <+774>: jne 0xad6fe9 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+1145> 0x0000000000ad6e7c <+780>: movslq %ecx,%rcx 0x0000000000ad6e7f <+783>: lea 0xf(%r10),%rbx 0x0000000000ad6e83 <+787>: lea -0x1(%r10,%rcx,1),%r14 0x0000000000ad6e88 <+792>: cmp %r14,%rbx 0x0000000000ad6e8b <+795>: jae 0xad6db1 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+577> 0x0000000000ad6e91 <+801>: lea 0x6338(%rdi),%rax 0x0000000000ad6e98 <+808>: lea 0x6251(%rdi),%r12 0x0000000000ad6e9f <+815>: mov %rax,-0x38(%rbp) 0x0000000000ad6ea3 <+819>: mov %rbx,%rax 0x0000000000ad6ea6 <+822>: and $0xfffffffffff00000,%rax 0x0000000000ad6eac <+828>: mov %rax,-0x40(%rbp) 0x0000000000ad6eb0 <+832>: lea 0x6220(%rdi),%rax 0x0000000000ad6eb7 <+839>: mov %rax,-0x48(%rbp) 0x0000000000ad6ebb <+843>: jmp 0xad6ecd <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+861> 0x0000000000ad6ebd <+845>: nopl (%rax) 0x0000000000ad6ec0 <+848>: add $0x8,%rbx 0x0000000000ad6ec4 <+852>: cmp %r14,%rbx 0x0000000000ad6ec7 <+855>: jae 0xad6db1 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+577> 0x0000000000ad6ecd <+861>: mov (%rbx),%r13 0x0000000000ad6ed0 <+864>: mov %r13,%rax 0x0000000000ad6ed3 <+867>: and $0x3,%eax 0x0000000000ad6ed6 <+870>: cmp $0x1,%rax 0x0000000000ad6eda <+874>: jne 0xad6ec0 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+848> 0x0000000000ad6edc <+876>: mov %r13,%r15 0x0000000000ad6edf <+879>: and $0xfffffffffff00000,%r15 => 0x0000000000ad6ee6 <+886>: testb $0x1,0x9(%r15) 0x0000000000ad6eeb <+891>: jne 0xad7056 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+1254> 0x0000000000ad6ef1 <+897>: mov %r13,%rdx 0x0000000000ad6ef4 <+900>: mov $0x1,%eax 0x0000000000ad6ef9 <+905>: sub %r15,%rdx 0x0000000000ad6efc <+908>: mov %edx,%ecx 0x0000000000ad6efe <+910>: shr $0x8,%edx 0x0000000000ad6f01 <+913>: lea 0xa8(%r15,%rdx,4),%rdx 0x0000000000ad6f09 <+921>: shr $0x3,%ecx 0x0000000000ad6f0c <+924>: shl %cl,%eax 0x0000000000ad6f0e <+926>: test %eax,(%rdx) 0x0000000000ad6f10 <+928>: jne 0xad6ec0 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+848> 0x0000000000ad6f12 <+930>: mov -0x38(%rbp),%rdi 0x0000000000ad6f16 <+934>: mov %eax,%ecx 0x0000000000ad6f18 <+936>: mov %r13,%rsi 0x0000000000ad6f1b <+939>: callq 0xacf980 <_ZN2v88internal18IncrementalMarking18WhiteToGreyAndPushEPNS0_10HeapObjectENS0_7MarkBitE.isra.121> 0x0000000000ad6f20 <+944>: jmp 0xad6ec0 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+848> 0x0000000000ad6f22 <+946>: mov %r10,%rax 0x0000000000ad6f25 <+949>: mov %r10,%rdx 0x0000000000ad6f28 <+952>: mov $0x1,%esi 0x0000000000ad6f2d <+957>: and $0xfffffffffff00000,%rax 0x0000000000ad6f33 <+963>: sub %rax,%rdx 0x0000000000ad6f36 <+966>: mov %edx,%ecx 0x0000000000ad6f38 <+968>: shr $0x8,%edx 0x0000000000ad6f3b <+971>: lea 0xa8(%rax,%rdx,4),%rdi 0x0000000000ad6f43 <+979>: shr $0x3,%ecx 0x0000000000ad6f46 <+982>: shl %cl,%esi 0x0000000000ad6f48 <+984>: mov (%rdi),%eax 0x0000000000ad6f4a <+986>: test %esi,%eax 0x0000000000ad6f4c <+988>: jne 0xad7004 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+1172> 0x0000000000ad6f52 <+994>: mov 0x6280(%r8),%eax 0x0000000000ad6f59 <+1001>: mov 0x6288(%r8),%edx 0x0000000000ad6f60 <+1008>: mov 0x6284(%r8),%ecx 0x0000000000ad6f67 <+1015>: add $0x1,%eax 0x0000000000ad6f6a <+1018>: and %edx,%eax 0x0000000000ad6f6c <+1020>: cmp %eax,%ecx 0x0000000000ad6f6e <+1022>: je 0xad6fa8 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+1080> 0x0000000000ad6f70 <+1024>: lea -0x1(%rcx),%eax 0x0000000000ad6f73 <+1027>: and %edx,%eax 0x0000000000ad6f75 <+1029>: mov 0x6278(%r8),%rdx 0x0000000000ad6f7c <+1036>: mov %eax,0x6284(%r8) 0x0000000000ad6f83 <+1043>: cltq 0x0000000000ad6f85 <+1045>: mov %r10,(%rdx,%rax,8) 0x0000000000ad6f89 <+1049>: mov -0x58(%rbp),%eax 0x0000000000ad6f8c <+1052>: sub %r15d,%eax 0x0000000000ad6f8f <+1055>: add %r9d,%eax 0x0000000000ad6f92 <+1058>: mov %eax,0x6394(%r8) 0x0000000000ad6f99 <+1065>: add $0x48,%rsp 0x0000000000ad6f9d <+1069>: pop %rbx 0x0000000000ad6f9e <+1070>: pop %r12 0x0000000000ad6fa0 <+1072>: pop %r13 0x0000000000ad6fa2 <+1074>: pop %r14 0x0000000000ad6fa4 <+1076>: pop %r15 0x0000000000ad6fa6 <+1078>: pop %rbp 0x0000000000ad6fa7 <+1079>: retq 0x0000000000ad6fa8 <+1080>: mov %r9d,-0x48(%rbp) 0x0000000000ad6fac <+1084>: mov %r8,-0x40(%rbp) 0x0000000000ad6fb0 <+1088>: mov %r11,-0x38(%rbp) 0x0000000000ad6fb4 <+1092>: mov %r10,-0x50(%rbp) 0x0000000000ad6fb8 <+1096>: callq 0xacf740 <_ZN2v88internal7MarkBit4NextEv.isra.5> 0x0000000000ad6fbd <+1101>: mov -0x50(%rbp),%r10 0x0000000000ad6fc1 <+1105>: or %edx,(%rax) 0x0000000000ad6fc3 <+1107>: mov -0x1(%r10),%rsi 0x0000000000ad6fc7 <+1111>: mov %r10,%rdi 0x0000000000ad6fca <+1114>: callq 0xa54a50 <_ZN2v88internal10HeapObject11SizeFromMapEPNS0_3MapE> 0x0000000000ad6fcf <+1119>: mov -0x38(%rbp),%r11 0x0000000000ad6fd3 <+1123>: mov -0x40(%rbp),%r8 0x0000000000ad6fd7 <+1127>: mov -0x48(%rbp),%r9d 0x0000000000ad6fdb <+1131>: sub %eax,0x44(%r11) 0x0000000000ad6fdf <+1135>: movb $0x1,0x628c(%r8) 0x0000000000ad6fe7 <+1143>: jmp 0xad6f89 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+1049> 0x0000000000ad6fe9 <+1145>: add $0x48,%rsp 0x0000000000ad6fed <+1149>: mov $0x10,%edx 0x0000000000ad6ff2 <+1154>: mov %r10,%rsi 0x0000000000ad6ff5 <+1157>: pop %rbx 0x0000000000ad6ff6 <+1158>: pop %r12 0x0000000000ad6ff8 <+1160>: pop %r13 0x0000000000ad6ffa <+1162>: pop %r14 0x0000000000ad6ffc <+1164>: pop %r15 0x0000000000ad6ffe <+1166>: pop %rbp 0x0000000000ad6fff <+1167>: jmpq 0xad6430 <_ZN2v88internal15BodyVisitorBaseINS0_32IncrementalMarkingMarkingVisitorEE32IterateBodyUsingLayoutDescriptorEPNS0_4HeapEPNS0_10HeapObjectEii> 0x0000000000ad7004 <+1172>: mov %esi,%edx 0x0000000000ad7006 <+1174>: add %edx,%edx 0x0000000000ad7008 <+1176>: jne 0xad7012 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+1186> 0x0000000000ad700a <+1178>: mov 0x4(%rdi),%eax 0x0000000000ad700d <+1181>: mov $0x1,%edx 0x0000000000ad7012 <+1186>: test %edx,%eax 0x0000000000ad7014 <+1188>: je 0xad6f52 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+994> 0x0000000000ad701a <+1194>: mov 0x6280(%r8),%edx 0x0000000000ad7021 <+1201>: mov 0x6288(%r8),%ecx 0x0000000000ad7028 <+1208>: mov 0x6284(%r8),%eax 0x0000000000ad702f <+1215>: add $0x1,%edx 0x0000000000ad7032 <+1218>: and %ecx,%edx 0x0000000000ad7034 <+1220>: cmp %edx,%eax 0x0000000000ad7036 <+1222>: je 0xad70ab <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+1339> 0x0000000000ad7038 <+1224>: sub $0x1,%eax 0x0000000000ad703b <+1227>: mov 0x6278(%r8),%rdx 0x0000000000ad7042 <+1234>: and %ecx,%eax 0x0000000000ad7044 <+1236>: mov %eax,0x6284(%r8) 0x0000000000ad704b <+1243>: cltq 0x0000000000ad704d <+1245>: mov %r10,(%rdx,%rax,8) 0x0000000000ad7051 <+1249>: jmpq 0xad6f89 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+1049> 0x0000000000ad7056 <+1254>: mov -0x40(%rbp),%rax 0x0000000000ad705a <+1258>: testq $0x360,0x8(%rax) 0x0000000000ad7062 <+1266>: jne 0xad6ef1 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+897> 0x0000000000ad7068 <+1272>: mov 0x48(%r15),%rax 0x0000000000ad706c <+1276>: lea 0x48(%r15),%rsi 0x0000000000ad7070 <+1280>: test %rax,%rax 0x0000000000ad7073 <+1283>: je 0xad7088 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+1304> 0x0000000000ad7075 <+1285>: mov (%rax),%rdx 0x0000000000ad7078 <+1288>: cmp $0x3fd,%rdx 0x0000000000ad707f <+1295>: jne 0xad709a <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+1322> 0x0000000000ad7081 <+1297>: cmpq $0xe,0x8(%rax) 0x0000000000ad7086 <+1302>: jg 0xad70b8 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+1352> 0x0000000000ad7088 <+1304>: mov %rax,%rsi 0x0000000000ad708b <+1307>: mov %r12,%rdi 0x0000000000ad708e <+1310>: callq 0xae7ce0 <_ZN2v88internal20SlotsBufferAllocator14AllocateBufferEPNS0_11SlotsBufferE> 0x0000000000ad7093 <+1315>: mov %rax,0x48(%r15) 0x0000000000ad7097 <+1319>: mov (%rax),%rdx 0x0000000000ad709a <+1322>: lea 0x1(%rdx),%rcx 0x0000000000ad709e <+1326>: mov %rcx,(%rax) 0x0000000000ad70a1 <+1329>: mov %rbx,0x18(%rax,%rdx,8) 0x0000000000ad70a6 <+1334>: jmpq 0xad6ef1 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+897> 0x0000000000ad70ab <+1339>: movb $0x1,0x628c(%r8) 0x0000000000ad70b3 <+1347>: jmpq 0xad6f89 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+1049> 0x0000000000ad70b8 <+1352>: mov %r12,%rdi 0x0000000000ad70bb <+1355>: callq 0xaec580 <_ZN2v88internal20SlotsBufferAllocator15DeallocateChainEPPNS0_11SlotsBufferE> 0x0000000000ad70c0 <+1360>: mov -0x48(%rbp),%rdi 0x0000000000ad70c4 <+1364>: mov %r15,%rsi 0x0000000000ad70c7 <+1367>: callq 0xae7830 <_ZN2v88internal20MarkCompactCollector31EvictPopularEvacuationCandidateEPNS0_4PageE> 0x0000000000ad70cc <+1372>: jmpq 0xad6ef1 <_ZN2v88internal32IncrementalMarkingMarkingVisitor26VisitFixedArrayIncrementalEPNS0_3MapEPNS0_10HeapObjectE+897> End of assembler dump.core.26551
(gdb) bt #0 0x0000000000aed6c1 in v8::internal::MarkCompactCollector::ProcessWeakCollections() () #1 0x0000000000af5a24 in v8::internal::MarkCompactCollector::MarkLiveObjects() () #2 0x0000000000af64c1 in v8::internal::MarkCompactCollector::CollectGarbage() () #3 0x0000000000aad640 in v8::internal::Heap::MarkCompact() () #4 0x0000000000ac5068 in v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) () #5 0x0000000000ac5609 in v8::internal::Heap::CollectGarbage(v8::internal::GarbageCollector, char const*, char const*, v8::GCCallbackFlags) () #6 0x0000000000ac6011 in v8::internal::Heap::HandleGCRequest() () #7 0x0000000000a61c6c in v8::internal::StackGuard::HandleInterrupts() () #8 0x0000000000c978db in v8::internal::Runtime_StackGuard(int, v8::internal::Object**, v8::internal::Isolate*) () #9 0x000018faaad060bb in ?? () #10 0x000018faaad06001 in ?? () #11 0x00007ffff45c5980 in ?? () #12 0x00007ffff45c59b8 in ?? () #13 0x000018faad3c80c3 in ?? () #14 0x00002e1e9be158d1 in ?? () #15 0x0000308f95cb41f9 in ?? () #16 0x00002e1e9be158d1 in ?? () #17 0x00007ffff45c5a10 in ?? () #18 0x000018faad3f6fce in ?? () #19 0x000026cc827a42f9 in ?? () #20 0x00002e1e9be15559 in ?? () #21 0x0000308f95cb41f9 in ?? () #22 0x0000278974904131 in ?? () #23 0x0000278974904131 in ?? () #24 0x0000278974904131 in ?? () #25 0x000026cc827a32c1 in ?? () #26 0x00002e1e9be15769 in ?? () #27 0x0000308f95cb3f51 in ?? () #28 0x00007ffff45c5a48 in ?? () #29 0x000018faaad19f7d in ?? () #30 0x00002789749b8011 in ?? () #31 0x00002e1e9be15769 in ?? () #32 0x000018faaad19e81 in ?? () #33 0x0000000800000000 in ?? () #34 0x0000000000000000 in ?? ()(gdb) info registers rax 0xced 3309 rbx 0x209bcc974fa8 35853524488104 rcx 0x19dab 105899 rdx 0x1e59438e84d9 33368734336217 rsi 0x4000000000 274877906944 rdi 0x800 2048 rbp 0x7ffff45c5430 0x7ffff45c5430 rsp 0x7ffff45c53b0 0x7ffff45c53b0 r8 0x239aaa0 37333664 r9 0x1e5943800000 33368733384704 r10 0x209bcc974f71 35853524488049 r11 0x246 582 r12 0x1 1 r13 0x1 1 r14 0x35c1a700000 3694115422208 r15 0x209bcc974f71 35853524488049 rip 0xaed6c1 0xaed6c1 <v8::internal::MarkCompactCollector::ProcessWeakCollections()+241> eflags 0x10206 [ PF IF RF ] cs 0x33 51 ss 0x2b 43 ds 0x0 0 es 0x0 0 fs 0x0 0 gs 0x0 0(gdb) disassemble Dump of assembler code for function _ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv: 0x0000000000aed5d0 <+0>: push %rbp 0x0000000000aed5d1 <+1>: mov %rsp,%rbp 0x0000000000aed5d4 <+4>: push %r15 0x0000000000aed5d6 <+6>: push %r14 0x0000000000aed5d8 <+8>: push %r13 0x0000000000aed5da <+10>: push %r12 0x0000000000aed5dc <+12>: push %rbx 0x0000000000aed5dd <+13>: mov %rdi,%rbx 0x0000000000aed5e0 <+16>: sub $0x58,%rsp 0x0000000000aed5e4 <+20>: mov 0x40(%rdi),%rax 0x0000000000aed5e8 <+24>: mov %rdi,-0x50(%rbp) 0x0000000000aed5ec <+28>: mov %rax,-0x58(%rbp) 0x0000000000aed5f0 <+32>: callq 0xfc06a0 <_ZN2v84base2OS17TimeCurrentMillisEv> 0x0000000000aed5f5 <+37>: mov 0x40(%rbx),%rax 0x0000000000aed5f9 <+41>: movsd %xmm0,-0x60(%rbp) 0x0000000000aed5fe <+46>: mov 0x1078(%rax),%r14 0x0000000000aed605 <+53>: mov %rbx,%rax 0x0000000000aed608 <+56>: add $0x31,%rax 0x0000000000aed60c <+60>: mov %rax,-0x38(%rbp) 0x0000000000aed610 <+64>: test %r14,%r14 0x0000000000aed613 <+67>: jne 0xaed62d <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+93> 0x0000000000aed615 <+69>: jmpq 0xaed6f0 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+288> 0x0000000000aed61a <+74>: nopw 0x0(%rax,%rax,1) 0x0000000000aed620 <+80>: mov 0x1f(%r14),%r14 0x0000000000aed624 <+84>: test %r14,%r14 0x0000000000aed627 <+87>: je 0xaed6f0 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+288> 0x0000000000aed62d <+93>: mov 0x17(%r14),%r10 0x0000000000aed631 <+97>: mov %r10,%rax 0x0000000000aed634 <+100>: and $0x3,%eax 0x0000000000aed637 <+103>: cmp $0x1,%rax 0x0000000000aed63b <+107>: jne 0xaed620 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+80> 0x0000000000aed63d <+109>: mov %r10,%rdx 0x0000000000aed640 <+112>: mov -0x1(%r10),%rax 0x0000000000aed644 <+116>: and $0xfffffffffff00000,%rdx 0x0000000000aed64b <+123>: mov 0x38(%rdx),%rdx 0x0000000000aed64f <+127>: cmp %rax,0x178(%rdx) 0x0000000000aed656 <+134>: jne 0xaed620 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+80> 0x0000000000aed658 <+136>: mov 0x1f(%r10),%rsi 0x0000000000aed65c <+140>: lea -0x1(%r10),%rdx 0x0000000000aed660 <+144>: mov %rsi,%rax 0x0000000000aed663 <+147>: sar $0x20,%rax 0x0000000000aed667 <+151>: test %eax,%eax 0x0000000000aed669 <+153>: jle 0xaed620 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+80> 0x0000000000aed66b <+155>: xor %r15d,%r15d 0x0000000000aed66e <+158>: and $0xfffffffffff00000,%rdx 0x0000000000aed675 <+165>: lea 0x27(%r10),%rbx 0x0000000000aed679 <+169>: mov %r15d,%r12d 0x0000000000aed67c <+172>: mov $0x1,%r13d 0x0000000000aed682 <+178>: mov %rdx,-0x40(%rbp) 0x0000000000aed686 <+182>: mov %r10,%r15 0x0000000000aed689 <+185>: mov %r14,-0x48(%rbp) 0x0000000000aed68d <+189>: jmp 0xaed6a4 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+212> 0x0000000000aed68f <+191>: nop 0x0000000000aed690 <+192>: mov %rsi,%rax 0x0000000000aed693 <+195>: add $0x1,%r12d 0x0000000000aed697 <+199>: add $0x10,%rbx 0x0000000000aed69b <+203>: sar $0x20,%rax 0x0000000000aed69f <+207>: cmp %eax,%r12d 0x0000000000aed6a2 <+210>: jge 0xaed720 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+336> 0x0000000000aed6a4 <+212>: mov (%rbx),%rax 0x0000000000aed6a7 <+215>: mov %r13d,%edi 0x0000000000aed6aa <+218>: mov %rax,%r14 0x0000000000aed6ad <+221>: and $0xfffffffffff00000,%r14 0x0000000000aed6b4 <+228>: sub %r14,%rax 0x0000000000aed6b7 <+231>: mov %eax,%ecx 0x0000000000aed6b9 <+233>: shr $0x8,%eax 0x0000000000aed6bc <+236>: shr $0x3,%ecx 0x0000000000aed6bf <+239>: shl %cl,%edi => 0x0000000000aed6c1 <+241>: test %edi,0xa8(%r14,%rax,4) 0x0000000000aed6c9 <+249>: je 0xaed690 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+192> 0x0000000000aed6cb <+251>: testb $0x1,0x9(%r14) 0x0000000000aed6d0 <+256>: jne 0xaed730 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+352> 0x0000000000aed6d2 <+258>: mov 0x8(%rbx),%rax 0x0000000000aed6d6 <+262>: lea 0x8(%rbx),%rcx 0x0000000000aed6da <+266>: mov %rax,%rdx 0x0000000000aed6dd <+269>: and $0x3,%edx 0x0000000000aed6e0 <+272>: cmp $0x1,%rdx 0x0000000000aed6e4 <+276>: je 0xaed790 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+448> 0x0000000000aed6ea <+282>: mov 0x1f(%r15),%rsi 0x0000000000aed6ee <+286>: jmp 0xaed690 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+192> 0x0000000000aed6f0 <+288>: callq 0xfc06a0 <_ZN2v84base2OS17TimeCurrentMillisEv> 0x0000000000aed6f5 <+293>: subsd -0x60(%rbp),%xmm0 0x0000000000aed6fa <+298>: mov -0x58(%rbp),%rax 0x0000000000aed6fe <+302>: addsd 0x1230(%rax),%xmm0 0x0000000000aed706 <+310>: movsd %xmm0,0x1230(%rax) 0x0000000000aed70e <+318>: add $0x58,%rsp 0x0000000000aed712 <+322>: pop %rbx 0x0000000000aed713 <+323>: pop %r12 0x0000000000aed715 <+325>: pop %r13 0x0000000000aed717 <+327>: pop %r14 0x0000000000aed719 <+329>: pop %r15 0x0000000000aed71b <+331>: pop %rbp 0x0000000000aed71c <+332>: retq 0x0000000000aed71d <+333>: nopl (%rax) 0x0000000000aed720 <+336>: mov -0x48(%rbp),%r14 0x0000000000aed724 <+340>: jmpq 0xaed620 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+80> 0x0000000000aed729 <+345>: nopl 0x0(%rax) 0x0000000000aed730 <+352>: mov -0x40(%rbp),%rax 0x0000000000aed734 <+356>: testq $0x360,0x8(%rax) 0x0000000000aed73c <+364>: jne 0xaed6d2 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+258> 0x0000000000aed73e <+366>: mov 0x48(%r14),%rax 0x0000000000aed742 <+370>: lea 0x48(%r14),%rsi 0x0000000000aed746 <+374>: test %rax,%rax 0x0000000000aed749 <+377>: je 0xaed762 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+402> 0x0000000000aed74b <+379>: mov (%rax),%rcx 0x0000000000aed74e <+382>: cmp $0x3fd,%rcx 0x0000000000aed755 <+389>: jne 0xaed775 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+421> 0x0000000000aed757 <+391>: cmpq $0xe,0x8(%rax) 0x0000000000aed75c <+396>: jg 0xaed850 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+640> 0x0000000000aed762 <+402>: mov -0x38(%rbp),%rdi 0x0000000000aed766 <+406>: mov %rax,%rsi 0x0000000000aed769 <+409>: callq 0xae7ce0 <_ZN2v88internal20SlotsBufferAllocator14AllocateBufferEPNS0_11SlotsBufferE> 0x0000000000aed76e <+414>: mov %rax,0x48(%r14) 0x0000000000aed772 <+418>: mov (%rax),%rcx 0x0000000000aed775 <+421>: lea 0x1(%rcx),%rdx 0x0000000000aed779 <+425>: mov %rdx,(%rax) 0x0000000000aed77c <+428>: mov %rbx,0x18(%rax,%rcx,8) 0x0000000000aed781 <+433>: jmpq 0xaed6d2 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+258> 0x0000000000aed786 <+438>: nopw %cs:0x0(%rax,%rax,1) 0x0000000000aed790 <+448>: mov -0x1(%rax),%rdi 0x0000000000aed794 <+452>: mov %rax,%r9 0x0000000000aed797 <+455>: mov %rax,%rdx 0x0000000000aed79a <+458>: movzbl 0xb(%rdi),%esi 0x0000000000aed79e <+462>: and $0xffffffc3,%esi 0x0000000000aed7a1 <+465>: cmp $0x41,%sil 0x0000000000aed7a5 <+469>: je 0xaed870 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+672> 0x0000000000aed7ab <+475>: and $0xfffffffffff00000,%r9 0x0000000000aed7b2 <+482>: testb $0x1,0x9(%r9) 0x0000000000aed7b7 <+487>: jne 0xaed8d0 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+768> 0x0000000000aed7bd <+493>: mov %rdx,%rax 0x0000000000aed7c0 <+496>: mov %r13d,%esi 0x0000000000aed7c3 <+499>: sub %r9,%rax 0x0000000000aed7c6 <+502>: mov %eax,%ecx 0x0000000000aed7c8 <+504>: shr $0x8,%eax 0x0000000000aed7cb <+507>: shr $0x3,%ecx 0x0000000000aed7ce <+510>: shl %cl,%esi 0x0000000000aed7d0 <+512>: mov %esi,%ecx 0x0000000000aed7d2 <+514>: lea 0xa8(%r9,%rax,4),%rsi 0x0000000000aed7da <+522>: mov (%rsi),%eax 0x0000000000aed7dc <+524>: test %ecx,%eax 0x0000000000aed7de <+526>: jne 0xaed6ea <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+282> 0x0000000000aed7e4 <+532>: or %ecx,%eax 0x0000000000aed7e6 <+534>: mov %rdx,%rdi 0x0000000000aed7e9 <+537>: mov %ecx,-0x78(%rbp) 0x0000000000aed7ec <+540>: mov %eax,(%rsi) 0x0000000000aed7ee <+542>: mov %rsi,-0x70(%rbp) 0x0000000000aed7f2 <+546>: mov %rdx,-0x68(%rbp) 0x0000000000aed7f6 <+550>: callq 0xadeb10 <_ZN2v88internal10HeapObject4SizeEv> 0x0000000000aed7fb <+555>: mov -0x68(%rbp),%rdx 0x0000000000aed7ff <+559>: mov -0x50(%rbp),%rsi 0x0000000000aed803 <+563>: mov -0x78(%rbp),%ecx 0x0000000000aed806 <+566>: lea -0x1(%rdx),%r14 0x0000000000aed80a <+570>: and $0xfffffffffff00000,%r14 0x0000000000aed811 <+577>: add %eax,0x44(%r14) 0x0000000000aed815 <+581>: movslq 0x60(%rsi),%rdi 0x0000000000aed819 <+585>: lea 0x1(%rdi),%eax 0x0000000000aed81c <+588>: and 0x68(%rsi),%eax 0x0000000000aed81f <+591>: cmp %eax,0x64(%rsi) 0x0000000000aed822 <+594>: mov -0x70(%rbp),%rsi 0x0000000000aed826 <+598>: je 0xaed96c <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+924> 0x0000000000aed82c <+604>: mov -0x50(%rbp),%rsi 0x0000000000aed830 <+608>: mov 0x58(%rsi),%rax 0x0000000000aed834 <+612>: mov %rdx,(%rax,%rdi,8) 0x0000000000aed838 <+616>: mov 0x60(%rsi),%eax 0x0000000000aed83b <+619>: mov %eax,-0x68(%rbp) 0x0000000000aed83e <+622>: add $0x1,%eax 0x0000000000aed841 <+625>: and 0x68(%rsi),%eax 0x0000000000aed844 <+628>: mov %eax,0x60(%rsi) 0x0000000000aed847 <+631>: jmpq 0xaed6ea <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+282> 0x0000000000aed84c <+636>: nopl 0x0(%rax) 0x0000000000aed850 <+640>: mov -0x38(%rbp),%rdi 0x0000000000aed854 <+644>: callq 0xaec580 <_ZN2v88internal20SlotsBufferAllocator15DeallocateChainEPPNS0_11SlotsBufferE> 0x0000000000aed859 <+649>: mov -0x50(%rbp),%rdi 0x0000000000aed85d <+653>: mov %r14,%rsi 0x0000000000aed860 <+656>: callq 0xae7830 <_ZN2v88internal20MarkCompactCollector31EvictPopularEvacuationCandidateEPNS0_4PageE> 0x0000000000aed865 <+661>: jmpq 0xaed6d2 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+258> 0x0000000000aed86a <+666>: nopw 0x0(%rax,%rax,1) 0x0000000000aed870 <+672>: and $0xfffffffffff00000,%rdi 0x0000000000aed877 <+679>: mov 0x38(%rdi),%rsi 0x0000000000aed87b <+683>: mov 0x68(%rsi),%rdi 0x0000000000aed87f <+687>: cmp %rdi,0x1f(%rax) 0x0000000000aed883 <+691>: jne 0xaed7ab <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+475> 0x0000000000aed889 <+697>: mov 0xbc8(%rsi),%rdi 0x0000000000aed890 <+704>: mov 0xbd0(%rsi),%rdx 0x0000000000aed897 <+711>: mov %r9,%rsi 0x0000000000aed89a <+714>: mov 0x17(%rax),%rax 0x0000000000aed89e <+718>: and %rdi,%rsi 0x0000000000aed8a1 <+721>: cmp %rsi,%rdx 0x0000000000aed8a4 <+724>: je 0xaed8b2 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+738> 0x0000000000aed8a6 <+726>: and %rax,%rdi 0x0000000000aed8a9 <+729>: cmp %rdi,%rdx 0x0000000000aed8ac <+732>: je 0xaed998 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+968> 0x0000000000aed8b2 <+738>: mov %rax,%r9 0x0000000000aed8b5 <+741>: mov %rax,0x8(%rbx) 0x0000000000aed8b9 <+745>: mov %rax,%rdx 0x0000000000aed8bc <+748>: and $0xfffffffffff00000,%r9 0x0000000000aed8c3 <+755>: testb $0x1,0x9(%r9) 0x0000000000aed8c8 <+760>: je 0xaed7bd <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+493> 0x0000000000aed8ce <+766>: xchg %ax,%ax 0x0000000000aed8d0 <+768>: mov -0x40(%rbp),%rax 0x0000000000aed8d4 <+772>: testq $0x360,0x8(%rax) 0x0000000000aed8dc <+780>: jne 0xaed7bd <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+493> 0x0000000000aed8e2 <+786>: mov 0x48(%r9),%rax 0x0000000000aed8e6 <+790>: lea 0x48(%r9),%rsi 0x0000000000aed8ea <+794>: test %rax,%rax 0x0000000000aed8ed <+797>: je 0xaed902 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+818> 0x0000000000aed8ef <+799>: mov (%rax),%rdi 0x0000000000aed8f2 <+802>: cmp $0x3fd,%rdi 0x0000000000aed8f9 <+809>: jne 0xaed92d <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+861> 0x0000000000aed8fb <+811>: cmpq $0xe,0x8(%rax) 0x0000000000aed900 <+816>: jg 0xaed93e <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+878> 0x0000000000aed902 <+818>: mov -0x38(%rbp),%rdi 0x0000000000aed906 <+822>: mov %rax,%rsi 0x0000000000aed909 <+825>: mov %rdx,-0x78(%rbp) 0x0000000000aed90d <+829>: mov %r9,-0x70(%rbp) 0x0000000000aed911 <+833>: mov %rcx,-0x68(%rbp) 0x0000000000aed915 <+837>: callq 0xae7ce0 <_ZN2v88internal20SlotsBufferAllocator14AllocateBufferEPNS0_11SlotsBufferE> 0x0000000000aed91a <+842>: mov -0x70(%rbp),%r9 0x0000000000aed91e <+846>: mov -0x68(%rbp),%rcx 0x0000000000aed922 <+850>: mov -0x78(%rbp),%rdx 0x0000000000aed926 <+854>: mov %rax,0x48(%r9) 0x0000000000aed92a <+858>: mov (%rax),%rdi 0x0000000000aed92d <+861>: lea 0x1(%rdi),%rsi 0x0000000000aed931 <+865>: mov %rsi,(%rax) 0x0000000000aed934 <+868>: mov %rcx,0x18(%rax,%rdi,8) 0x0000000000aed939 <+873>: jmpq 0xaed7bd <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+493> 0x0000000000aed93e <+878>: mov -0x38(%rbp),%rdi 0x0000000000aed942 <+882>: mov %rdx,-0x70(%rbp) 0x0000000000aed946 <+886>: mov %r9,-0x68(%rbp) 0x0000000000aed94a <+890>: callq 0xaec580 <_ZN2v88internal20SlotsBufferAllocator15DeallocateChainEPPNS0_11SlotsBufferE> 0x0000000000aed94f <+895>: mov -0x68(%rbp),%r9 0x0000000000aed953 <+899>: mov -0x50(%rbp),%rdi 0x0000000000aed957 <+903>: mov %r9,%rsi 0x0000000000aed95a <+906>: callq 0xae7830 <_ZN2v88internal20MarkCompactCollector31EvictPopularEvacuationCandidateEPNS0_4PageE> 0x0000000000aed95f <+911>: mov -0x68(%rbp),%r9 0x0000000000aed963 <+915>: mov -0x70(%rbp),%rdx 0x0000000000aed967 <+919>: jmpq 0xaed7bd <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+493> 0x0000000000aed96c <+924>: add %ecx,%ecx 0x0000000000aed96e <+926>: jne 0xaed979 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+937> 0x0000000000aed970 <+928>: add $0x4,%rsi 0x0000000000aed974 <+932>: mov $0x1,%ecx 0x0000000000aed979 <+937>: or %ecx,(%rsi) 0x0000000000aed97b <+939>: mov %rdx,%rdi 0x0000000000aed97e <+942>: callq 0xadeb10 <_ZN2v88internal10HeapObject4SizeEv> 0x0000000000aed983 <+947>: sub %eax,0x44(%r14) 0x0000000000aed987 <+951>: mov -0x50(%rbp),%rax 0x0000000000aed98b <+955>: movb $0x1,0x6c(%rax) 0x0000000000aed98f <+959>: mov 0x1f(%r15),%rsi 0x0000000000aed993 <+963>: jmpq 0xaed690 <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+192> 0x0000000000aed998 <+968>: mov %r9,%rdx 0x0000000000aed99b <+971>: jmpq 0xaed7ab <_ZN2v88internal20MarkCompactCollector22ProcessWeakCollectionsEv+475> End of assembler dump.Looks like they are all the same issue: pointers that look like valid heap object pointers but aren't. Something puts the heap in an inconsistent state but hard to say what.
10 remaining items
One of the devs on that first lucky service (
<insert Github handle here>) had a look at v4.6.1...v4.6.2 and found this one: 2d07fd7. The combination of "weak collection" and "GC" sounds pretty suspicious but I didn't look more closely yet.That sounds very plausible. @matthewloring @ofrobots Ideas? This seems to have been introduced by #7689.
@jkrems as you able to test with Node 6.x at all? It would be quite useful to know if the crash exists there or not.
/cc @mlippautz @hannespayer any ideas about the crashes in GC and whether the back-ported bug fix might have some issues on V8 4.5?
We rolled out the same stack on node 6 (by now including the very service where we saw these crashes initially). None of the services on node 6 (most on 6.11.1 now) are seeing segfaults.
The Meteor project is running into this same exact problem on Node.js 4.8.4 though I've bisected it down to the exact commit that @jkrems had identified above (2d07fd7), which landed in 4.6.2.
Though it's not 100% reproducible, it's a relatively easy numbers game and happens at least once out of every 4 runs in our CI. If you check this CircleCI build history you can see me toggling back and forth between Node 4.6.1 and Node 4.6.2 and the problem comes and goes (each entry on that page is representative of four containers running the same build, but at least one of the four containers fails each time thus failing the entire build). I can't put my finger on exactly what we're doing which is pronouncing the problem, but it's seemingly a garbage collection bug and thus prone to varied behavior.
Looking a bit deeper, the commit that introduced the issue (again, 2d07fd7) was intended to be a backport of v8/v8@e093a04. However, that commit was reverted (automatically, I think?) via v8/v8@5f5a328 because "
Speculative revert. Suspect for gc stress crashes". The re-land (seen in v8/v8@09db540) onmasterdidn't re-introduce the reverted commit (5f5a328), but I'm not sure I see the net-change of those commits reflected the same way in this back-port in 2d07fd7, however I'm far from an expert in this repo.@jeisinger, you haven't been looped into this yet, but as the original PR author and someone who has worked on this code a fair bit, any ideas?
For what it's worth, when branched off the
v4.6.2tag, if I revert 2d07fd7 (as I did in abernix@49d20c5) and apply abernix@7841772 instead (which I believe is more to the letter of the original commits), I can't reproduce thisSIGSEGVanymore. Additionally, the reproduction for #6180 (which 2d07fd7 was purported to fix) doesn't OOM, though it also doesn't OOM with the commit reverted, so perhaps it's been fixed via other means as well (for example, e1f12fb).Same success story if I apply the same order of changes onto
v4.8.4(i.e. abernix@f4c4c08 + abernix@daccbf0).Thoughts?
@abernix could you please submit a PR that reverts 2d07fd7 and applies abernix/node@7841772 (please follow the commit guidelines for V8 changes)
we can get that reviewed and landed and cut another 4.x
Reacted by Jesse Rosenberger@MylesBorins Done: #14829. Note that the PR deviated slightly from my previous suggestion to apply abernix@7841772, but I think I've explained why (see
CompilationCacheTable::AgevsHashTable::Rehashin that convo).Ultimately, the
MarkCompactCollector::ClearWeakCollectionschanges were the breaking factor, though there's no telling what randomly wiping deleted entries inCompilationCacheTable::Ageinstead ofHashTable::Rehashmight have been doing. 🤔Either way, I've verified that the original repro/issue in #6180 is still fixed.
Reacted by Hugh Willson- added a commit that references this issue
on Aug 16, 2017 Fixed by #14829.
- added a commit that references this issue
on Oct 25, 2017 - added a commit that references this issue
on Nov 24, 2017
Linux <hostname> 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/LinuxOpening this early but so far I have neither a good reproduction nor any hint of the root cause.
After trying to roll out node v4.8.4 on some of our hosts, we are seeing occasional process crashes:
This happened using the official binary distribution (https://nodejs.org/dist/v4.8.4/v4.8.4-linux-x64.tar.gz).
This didn't happen with node v4.6.1 (a rollback to this version made the crashes go away).