Skip to content

Instantly share code, notes, and snippets.

@lloydwatkin
Created August 20, 2014 12:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lloydwatkin/d7a20b2bd4f75dc2eb0d to your computer and use it in GitHub Desktop.
Save lloydwatkin/d7a20b2bd4f75dc2eb0d to your computer and use it in GitHub Desktop.
nodejs v0.10.31-debug segfault 11
lloyd$ node -v
v0.10.31
lloyd$ which npm
/Users/lloyd/.nvm/v0.10.31/bin/npm
lloyd$ lldb -- node
Current executable set to 'node' (x86_64).
(lldb) run /Users/lloyd/.nvm/v0.10.31/bin/npm test
Process 86648 launched: '/Users/lloyd/.nvm/v0.10.31/bin/node' (x86_64)
> project@0.5.0 test /Users/lloyd/code/project
> massah test
debugger listening on port 5858
- Welcome to Massah
Found a .massah.js config file
User Author page
Should show presence buttons
- Given an authenticated user
- Then something
Should change the user's JID to a link
✓ Given an authenticated user (6887ms)
✓ When I navigate to the recent items page (4574ms)
✓ When the standard recent threads have appeared (425ms)
PID 86651 received SIGSEGV for address: 0x8
0 segfault_handler.node 0x00000001012fc49f _ZL16segfault_handleriP9__siginfoPv + 287
1 libsystem_platform.dylib 0x00007fff87e8d5aa _sigtramp + 26
2 ??? 0x3b9aca0001807800 0x0 + 4294967296025196544
3 node 0x0000000100342225 _ZNK2v88internal11HBasicBlock12IsStartBlockEv + 21
4 node 0x0000000100338b60 _ZN2v88internal12HInstruction11InsertAfterEPS1_ + 272
5 node 0x000000010038646c _ZN2v88internal17BoundsCheckBbData10CoverCheckEPNS0_12HBoundsCheckEi + 540
6 node 0x000000010036088d _ZN2v88internal6HGraph30EliminateRedundantBoundsChecksEPNS0_11HBasicBlockEPNS0_16BoundsCheckTableE + 525
7 node 0x0000000100360aaf _ZN2v88internal6HGraph30EliminateRedundantBoundsChecksEPNS0_11HBasicBlockEPNS0_16BoundsCheckTableE + 1071
8 node 0x0000000100360aaf _ZN2v88internal6HGraph30EliminateRedundantBoundsChecksEPNS0_11HBasicBlockEPNS0_16BoundsCheckTableE + 1071
9 node 0x0000000100360aaf _ZN2v88internal6HGraph30EliminateRedundantBoundsChecksEPNS0_11HBasicBlockEPNS0_16BoundsCheckTableE + 1071
10 node 0x0000000100360aaf _ZN2v88internal6HGraph30EliminateRedundantBoundsChecksEPNS0_11HBasicBlockEPNS0_16BoundsCheckTableE + 1071
11 node 0x0000000100360aaf _ZN2v88internal6HGraph30EliminateRedundantBoundsChecksEPNS0_11HBasicBlockEPNS0_16BoundsCheckTableE + 1071
12 node 0x0000000100360aaf _ZN2v88internal6HGraph30EliminateRedundantBoundsChecksEPNS0_11HBasicBlockEPNS0_16BoundsCheckTableE + 1071
13 node 0x0000000100360aaf _ZN2v88internal6HGraph30EliminateRedundantBoundsChecksEPNS0_11HBasicBlockEPNS0_16BoundsCheckTableE + 1071
14 node 0x0000000100360aaf _ZN2v88internal6HGraph30EliminateRedundantBoundsChecksEPNS0_11HBasicBlockEPNS0_16BoundsCheckTableE + 1071
15 node 0x0000000100360aaf _ZN2v88internal6HGraph30EliminateRedundantBoundsChecksEPNS0_11HBasicBlockEPNS0_16BoundsCheckTableE + 1071
16 node 0x0000000100360aaf _ZN2v88internal6HGraph30EliminateRedundantBoundsChecksEPNS0_11HBasicBlockEPNS0_16BoundsCheckTableE + 1071
17 node 0x0000000100360aaf _ZN2v88internal6HGraph30EliminateRedundantBoundsChecksEPNS0_11HBasicBlockEPNS0_16BoundsCheckTableE + 1071
18 node 0x0000000100360aaf _ZN2v88internal6HGraph30EliminateRedundantBoundsChecksEPNS0_11HBasicBlockEPNS0_16BoundsCheckTableE + 1071
19 node 0x000000010035ff59 _ZN2v88internal6HGraph30EliminateRedundantBoundsChecksEv + 89
20 node 0x000000010035fea7 _ZN2v88internal6HGraph8OptimizeEPNS0_17SmartArrayPointerIcEE + 999
21 node 0x000000010026ab49 _ZN2v88internal18OptimizingCompiler13OptimizeGraphEv + 217
22 node 0x000000010026dce2 _ZN2v88internalL18MakeCrankshaftCodeEPNS0_15CompilationInfoE + 82
23 node 0x000000010026d870 _ZN2v88internalL12GenerateCodeEPNS0_15CompilationInfoE + 96
24 node 0x000000010026aee6 _ZN2v88internalL8MakeCodeEPNS0_15CompilationInfoE + 134
25 node 0x000000010026c39c _ZN2v88internal8Compiler11CompileLazyEPNS0_15CompilationInfoE + 332
26 node 0x0000000100444323 _ZN2v88internalL17CompileLazyHelperEPNS0_15CompilationInfoENS0_18ClearExceptionFlagE + 195
27 node 0x0000000100444de6 _ZN2v88internal10JSFunction16CompileOptimizedENS0_6HandleIS1_EENS0_9BailoutIdENS0_18ClearExceptionFlagE + 102
28 node 0x00000001004e7e25 _ZN2v88internal36Runtime_CompileForOnStackReplacementENS0_9ArgumentsEPNS0_7IsolateE + 1397
29 ??? 0x000027a74cf0618e 0x0 + 43599503843726
30 ??? 0x000027a74cf293f0 0x0 + 43599503987696
31 ??? 0x000027a74dabc41c 0x0 + 43599516124188
npm ERR! Test failed. See above for more details.
npm ERR! not ok code 0
Process 86648 exited with status = 1 (0x00000001)
(lldb) disas -n _ZN2v88internal17BoundsCheckBbData10CoverCheckEPNS0_12HBoundsCheckEi
node`v8::internal::BoundsCheckBbData::CoverCheck(v8::internal::HBoundsCheck*, int) at hydrogen.cc:3480:
0x100386250: pushq %rbp
0x100386251: movq %rsp, %rbp
0x100386254: subq $0x50, %rsp
0x100386258: movq %rdi, -0x8(%rbp)
0x10038625c: movq %rsi, -0x10(%rbp)
0x100386260: movl %edx, -0x14(%rbp)
0x100386263: movq -0x8(%rbp), %rsi
0x100386267: movq %rsi, -0x38(%rbp)
0x10038626b: movq -0x10(%rbp), %rdi
0x10038626f: callq 0x10075143a ; symbol stub for: v8::internal::HBoundsCheck::index()
0x100386274: movq %rax, %rdi
0x100386277: callq 0x100752442 ; symbol stub for: v8::internal::HValue::representation() const
0x10038627c: leaq -0x18(%rbp), %rdi
0x100386280: movb %al, -0x18(%rbp)
0x100386283: callq 0x10075225c ; symbol stub for: v8::internal::Representation::IsInteger32() const
0x100386288: testb $0x1, %al
0x10038628a: jne 0x1003862b1 ; v8::internal::BoundsCheckBbData::CoverCheck(v8::internal::HBoundsCheck*, int) + 97 at hydrogen.cc:3481
0x100386290: leaq 0x444722(%rip), %rdi ; "../deps/v8/src/hydrogen.cc"
0x100386297: movl $0xd99, %esi
0x10038629c: leaq 0x4299b1(%rip), %rdx ; "CHECK(%s) failed"
0x1003862a3: leaq 0x44712c(%rip), %rcx ; "new_check->index()->representation().IsInteger32()"
0x1003862aa: movb $0x0, %al
0x1003862ac: callq 0x10025ffb0 ; V8_Fatal at checks.cc:38
0x1003862b1: jmpq 0x1003862b6 ; v8::internal::BoundsCheckBbData::CoverCheck(v8::internal::HBoundsCheck*, int) + 102 at hydrogen.cc:3482
0x1003862b6: movb $0x0, -0x19(%rbp)
0x1003862ba: movl -0x14(%rbp), %eax
0x1003862bd: movq -0x38(%rbp), %rcx
0x1003862c1: cmpl 0xc(%rcx), %eax
0x1003862c4: jle 0x100386317 ; v8::internal::BoundsCheckBbData::CoverCheck(v8::internal::HBoundsCheck*, int) + 199 at hydrogen.cc:3492
0x1003862ca: movl -0x14(%rbp), %eax
0x1003862cd: movq -0x38(%rbp), %rcx
0x1003862d1: movl %eax, 0xc(%rcx)
0x1003862d4: movq %rcx, %rdi
0x1003862d7: callq 0x100752cf4 ; symbol stub for: v8::internal::BoundsCheckBbData::HasSingleCheck()
0x1003862dc: testb $0x1, %al
0x1003862de: jne 0x1003862e9 ; v8::internal::BoundsCheckBbData::CoverCheck(v8::internal::HBoundsCheck*, int) + 153 at hydrogen.cc:3487
0x1003862e4: jmpq 0x1003862fe ; v8::internal::BoundsCheckBbData::CoverCheck(v8::internal::HBoundsCheck*, int) + 174 at hydrogen.cc:3490
0x1003862e9: movb $0x1, -0x19(%rbp)
0x1003862ed: movq -0x10(%rbp), %rax
0x1003862f1: movq -0x38(%rbp), %rcx
0x1003862f5: movq %rax, 0x20(%rcx)
0x1003862f9: jmpq 0x100386312 ; v8::internal::BoundsCheckBbData::CoverCheck(v8::internal::HBoundsCheck*, int) + 194 at hydrogen.cc:3492
0x1003862fe: movq -0x38(%rbp), %rax
0x100386302: movq 0x20(%rax), %rsi
0x100386306: movq -0x10(%rbp), %rdx
0x10038630a: movq %rax, %rdi
0x10038630d: callq 0x100752cee ; symbol stub for: v8::internal::BoundsCheckBbData::TightenCheck(v8::internal::HBoundsCheck*, v8::internal::HBoundsCheck*)
0x100386312: jmpq 0x100386393 ; v8::internal::BoundsCheckBbData::CoverCheck(v8::internal::HBoundsCheck*, int) + 323 at hydrogen.cc:3505
0x100386317: movl -0x14(%rbp), %eax
0x10038631a: movq -0x38(%rbp), %rcx
0x10038631e: cmpl 0x8(%rcx), %eax
0x100386321: jge 0x100386374 ; v8::internal::BoundsCheckBbData::CoverCheck(v8::internal::HBoundsCheck*, int) + 292 at hydrogen.cc:3500
0x100386327: movl -0x14(%rbp), %eax
0x10038632a: movq -0x38(%rbp), %rcx
0x10038632e: movl %eax, 0x8(%rcx)
0x100386331: movq %rcx, %rdi
0x100386334: callq 0x100752cf4 ; symbol stub for: v8::internal::BoundsCheckBbData::HasSingleCheck()
0x100386339: testb $0x1, %al
0x10038633b: jne 0x100386346 ; v8::internal::BoundsCheckBbData::CoverCheck(v8::internal::HBoundsCheck*, int) + 246 at hydrogen.cc:3495
0x100386341: jmpq 0x10038635b ; v8::internal::BoundsCheckBbData::CoverCheck(v8::internal::HBoundsCheck*, int) + 267 at hydrogen.cc:3498
0x100386346: movb $0x1, -0x19(%rbp)
0x10038634a: movq -0x10(%rbp), %rax
0x10038634e: movq -0x38(%rbp), %rcx
0x100386352: movq %rax, 0x18(%rcx)
0x100386356: jmpq 0x10038636f ; v8::internal::BoundsCheckBbData::CoverCheck(v8::internal::HBoundsCheck*, int) + 287 at hydrogen.cc:3500
0x10038635b: movq -0x38(%rbp), %rax
0x10038635f: movq 0x18(%rax), %rsi
0x100386363: movq -0x10(%rbp), %rdx
0x100386367: movq %rax, %rdi
0x10038636a: callq 0x100752cee ; symbol stub for: v8::internal::BoundsCheckBbData::TightenCheck(v8::internal::HBoundsCheck*, v8::internal::HBoundsCheck*)
0x10038636f: jmpq 0x10038638e ; v8::internal::BoundsCheckBbData::CoverCheck(v8::internal::HBoundsCheck*, int) + 318 at hydrogen.cc:3502
0x100386374: leaq 0x44463e(%rip), %rdi ; "../deps/v8/src/hydrogen.cc"
0x10038637b: movl $0xdae, %esi
0x100386380: leaq 0x4298bc(%rip), %rdx ; "unreachable code"
0x100386387: movb $0x0, %al
0x100386389: callq 0x10025ffb0 ; V8_Fatal at checks.cc:38
0x10038638e: jmpq 0x100386393 ; v8::internal::BoundsCheckBbData::CoverCheck(v8::internal::HBoundsCheck*, int) + 323 at hydrogen.cc:3505
0x100386393: testb $0x1, -0x19(%rbp)
0x100386397: jne 0x1003863b8 ; v8::internal::BoundsCheckBbData::CoverCheck(v8::internal::HBoundsCheck*, int) + 360 at hydrogen.cc:3508
0x10038639d: movabsq $0x0, %rsi
0x1003863a7: movq -0x10(%rbp), %rax
0x1003863ab: movq %rax, %rdi
0x1003863ae: callq 0x100337940 ; v8::internal::HValue::DeleteAndReplaceWith(v8::internal::HValue*) at hydrogen-instructions.cc:405
0x1003863b3: jmpq 0x100386489 ; v8::internal::BoundsCheckBbData::CoverCheck(v8::internal::HBoundsCheck*, int) + 569 at hydrogen.cc:3517
0x1003863b8: movq -0x10(%rbp), %rax
0x1003863bc: movq -0x38(%rbp), %rcx
0x1003863c0: cmpq 0x18(%rcx), %rax
0x1003863c4: jne 0x1003863db ; v8::internal::BoundsCheckBbData::CoverCheck(v8::internal::HBoundsCheck*, int) + 395 at hydrogen.cc:3508
0x1003863ca: movq -0x38(%rbp), %rax
0x1003863ce: movq 0x20(%rax), %rcx
0x1003863d2: movq %rcx, -0x40(%rbp)
0x1003863d6: jmpq 0x1003863e7 ; v8::internal::BoundsCheckBbData::CoverCheck(v8::internal::HBoundsCheck*, int) + 407 at hydrogen.cc:3508
0x1003863db: movq -0x38(%rbp), %rax
0x1003863df: movq 0x18(%rax), %rcx
0x1003863e3: movq %rcx, -0x40(%rbp)
0x1003863e7: movq -0x40(%rbp), %rax
0x1003863eb: movq %rax, -0x28(%rbp)
0x1003863ef: movq -0x10(%rbp), %rdi
0x1003863f3: callq 0x100751440 ; symbol stub for: v8::internal::HBoundsCheck::length()
0x1003863f8: movq -0x28(%rbp), %rdi
0x1003863fc: movq %rax, -0x48(%rbp)
0x100386400: callq 0x100751440 ; symbol stub for: v8::internal::HBoundsCheck::length()
0x100386405: movq -0x48(%rbp), %rdi
0x100386409: cmpq %rax, %rdi
0x10038640c: je 0x100386433 ; v8::internal::BoundsCheckBbData::CoverCheck(v8::internal::HBoundsCheck*, int) + 483 at hydrogen.cc:3511
0x100386412: leaq 0x4445a0(%rip), %rdi ; "../deps/v8/src/hydrogen.cc"
0x100386419: movl $0xdb7, %esi
0x10038641e: leaq 0x42982f(%rip), %rdx ; "CHECK(%s) failed"
0x100386425: leaq 0x446fdd(%rip), %rcx ; "new_check->length() == first_check->length()"
0x10038642c: movb $0x0, %al
0x10038642e: callq 0x10025ffb0 ; V8_Fatal at checks.cc:38
0x100386433: jmpq 0x100386438 ; v8::internal::BoundsCheckBbData::CoverCheck(v8::internal::HBoundsCheck*, int) + 488 at hydrogen.cc:3512
0x100386438: movq -0x10(%rbp), %rax
0x10038643c: movq %rax, %rdi
0x10038643f: callq 0x10075222c ; symbol stub for: v8::internal::HInstruction::next() const
0x100386444: movq %rax, -0x30(%rbp)
0x100386448: movq -0x10(%rbp), %rax
0x10038644c: movq %rax, %rdi
0x10038644f: callq 0x1003386c0 ; v8::internal::HInstruction::Unlink() at hydrogen-instructions.cc:560
0x100386454: movq -0x10(%rbp), %rax
0x100386458: movq -0x28(%rbp), %rdi
0x10038645c: movq %rdi, -0x50(%rbp)
0x100386460: movq %rax, %rdi
0x100386463: movq -0x50(%rbp), %rsi
0x100386467: callq 0x100338a50 ; v8::internal::HInstruction::InsertAfter(v8::internal::HInstruction*) at hydrogen-instructions.cc:591
0x10038646c: movq -0x10(%rbp), %rdi
0x100386470: callq 0x10075143a ; symbol stub for: v8::internal::HBoundsCheck::index()
0x100386475: movq -0x10(%rbp), %rdx
0x100386479: movq -0x30(%rbp), %rcx
0x10038647d: movq -0x38(%rbp), %rdi
0x100386481: movq %rax, %rsi
0x100386484: callq 0x100752cfa ; symbol stub for: v8::internal::BoundsCheckBbData::MoveIndexIfNecessary(v8::internal::HValue*, v8::internal::HBoundsCheck*, v8::internal::HInstruction*)
0x100386489: addq $0x50, %rsp
0x10038648d: popq %rbp
0x10038648e: ret
(lldb)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment