-
-
Save tjfontaine/de104fe058300a51f7cf to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ulimit -c unlimited | |
./node -pe 'var a = { test: "Hello Node Summit" }; process.abort();' | |
Aborted (core dumped) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
mlogin \ | |
-s /NodeCore/public/linux-cores/mdb-linux.sh \ | |
-s /NodeCore/public/linux-cores/libproc64.so \ | |
-s $1 \ | |
-c "bash /assets/NodeCore/public/linux-cores/mdb-linux.sh /assets/$1" \ | |
$2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
./mmdb.sh /NodeCore/public/linux-cores/node-summit-node /NodeCore/public/linux-cores/node-summit-core | |
* created interactive job -- 7584150a-d174-6dba-f2bf-dd8d830f076d | |
* waiting for session... established | |
mdb: warning: librtld_db failed to initialize; shared library information will not be available | |
> ::load v8 | |
V8 version: 3.14.5.9 | |
Autoconfigured V8 support from target | |
> ::status | |
debugging core file of node (64-bit) from unknown machine | |
file: /assets/NodeCore/public/linux-cores/node-summit-node | |
initial argv: ./node -pe var a = { test: "Hello Node Summit" }; process.abort(); | |
threading model: raw lwps | |
status: process terminated with exit status 0 | |
> $r | |
%rax = 0x0000000000000000 %r8 = 0x00007fff9304cc38 | |
%rbx = 0x0000000001684070 %r9 = 0x0000304d46458101 | |
%rcx = 0xffffffffffffffff %r10 = 0x0000000000000008 | |
%rdx = 0x0000000000000006 %r11 = 0x0000000000000206 | |
%rsi = 0x0000000000007863 %r12 = 0x00000000016d2e00 | |
%rdi = 0x0000000000007863 %r13 = 0x0000000000000000 | |
%r14 = 0x000000000088f7b0 | |
%r15 = 0x00000c533cf091e1 | |
%cs = 0x0033 %fs = 0x0000 %gs = 0x0000 | |
%ds = 0x0000 %es = 0x0000 %ss = 0x002b | |
%rip = 0x00007fcd67bfbb25 | |
%rbp = 0x00007fff9304cc30 | |
%rsp = 0x00007fff9304caf8 | |
%rflags = 0x00000000 | |
id=0 vip=0 vif=0 ac=0 vm=0 rf=0 nt=0 iopl=0x0 | |
status=<of,df,if,tf,sf,zf,af,pf,cf> | |
%gsbase = 0x0000000000000000 | |
%fsbase = 0x00007fcd68f37720 | |
%trapno = 0x0 | |
%err = 0x0 | |
> ::walk thread | ::findstack | |
stack pointer for thread 7863: 7fff9304cc30 | |
[ 00007fff9304cc30 0x7fcd67bfbb25() ] | |
00007fff9304cd50 _ZN2v88internalL21Builtin_HandleApiCallENS0_12_GLOBAL__N_116BuiltinArgumentsILNS0_21BuiltinExtraArgumentsE1EEEPNS0_7IsolateE+0x1a7() | |
00007fff9304cd78 0x15b07760618e() | |
00007fff9304cdb0 0x15b07765239a() | |
00007fff9304cde8 0x15b0776245e7() | |
00007fff9304ce70 0x15b0776118b7() | |
00007fff9304cf00 _ZN2v88internalL6InvokeEbNS0_6HandleINS0_10JSFunctionEEENS1_INS0_6ObjectEEEiPS5_Pb+0xf2() | |
00007fff9304cf50 v8::internal::Execution::Call+0x79() | |
00007fff9304cfb0 v8::Script::Run+0x13b() | |
00007fff9304d050 _ZN4node13WrappedScript11EvalMachineILNS0_14EvalInputFlagsE0ELNS0_16EvalContextFlagsE0ELNS0_15EvalOutputFlagsE0EEEN2v86HandleINS5_5ValueEEERKNS5_9ArgumentsE+0xcf() | |
00007fff9304d060 node::WrappedScript::CompileRunInThisContext+9() | |
00007fff9304d180 _ZN2v88internalL21Builtin_HandleApiCallENS0_12_GLOBAL__N_116BuiltinArgumentsILNS0_21BuiltinExtraArgumentsE1EEEPNS0_7IsolateE+0x1a7() | |
00007fff9304d1a8 0x15b07760618e() | |
00007fff9304d1f0 0x15b077650ec4() | |
00007fff9304d258 0x15b0776284fe() | |
00007fff9304d2c8 0x15b07764e850() | |
00007fff9304d338 0x15b077646f6c() | |
00007fff9304d3b0 0x15b07762ce25() | |
00007fff9304d3e8 0x15b07762c685() | |
00007fff9304d428 0x15b0776245e7() | |
00007fff9304d4b0 0x15b0776118b7() | |
00007fff9304d540 _ZN2v88internalL6InvokeEbNS0_6HandleINS0_10JSFunctionEEENS1_INS0_6ObjectEEEiPS5_Pb+0xf2() | |
00007fff9304d590 v8::internal::Execution::Call+0x79() | |
00007fff9304d600 v8::Function::Call+0x10c() | |
00007fff9304d670 node::Load+0xea() | |
00007fff9304d700 node::Start+0x143() | |
0000000000000000 0x7fcd67be6c4d() | |
> $G | |
C++ symbol demangling enabled | |
> ::jsstack | |
7fff9304cc30 0x7fcd67bfbb25 | |
7fff9304cd50 _ZN2v88internalL21Builtin_HandleApiCallENS0_12_GLOBAL__N_116BuiltinArgumentsILNS0_21BuiltinExtraArgumentsE1EEEPNS0_7IsolateE+0x1a7 | |
7fff9304cd78 0x15b07760618e internal (Code: 15b0776060e1) | |
7fff9304cdb0 0x15b07765239a <anonymous> (as <anon>) (304d46473159) | |
7fff9304cde8 0x15b0776245e7 <InternalFrame> | |
7fff9304ce70 0x15b0776118b7 <EntryFrame> | |
7fff9304cf00 _ZN2v88internalL6InvokeEbNS0_6HandleINS0_10JSFunctionEEENS1_INS0_6ObjectEEEiPS5_Pb+0xf2 | |
7fff9304cf50 v8::internal::Execution::Call+0x79 | |
7fff9304cfb0 v8::Script::Run+0x13b | |
7fff9304d050 _ZN4node13WrappedScript11EvalMachineILNS0_14EvalInputFlagsE0ELNS0_16EvalContextFlagsE0ELNS0_15EvalOutputFlagsE0EEEN2v86HandleINS5_5ValueEEERKNS5_9ArgumentsE+0xcf | |
7fff9304d060 node::WrappedScript::CompileRunInThisContext+9 | |
7fff9304d180 _ZN2v88internalL21Builtin_HandleApiCallENS0_12_GLOBAL__N_116BuiltinArgumentsILNS0_21BuiltinExtraArgumentsE1EEEPNS0_7IsolateE+0x1a7 | |
7fff9304d1a8 0x15b07760618e internal (Code: 15b0776060e1) | |
7fff9304d1f0 0x15b077650ec4 <anonymous> (as <anon>) (c533cf4ad59) | |
7fff9304d258 0x15b0776284fe <InternalFrame> | |
7fff9304d2c8 0x15b07764e850 <anonymous> (as Module._compile) (304d46471209) | |
7fff9304d338 0x15b077646f6c evalScript (c533cf12179) | |
7fff9304d3b0 0x15b07762ce25 startup (c533cf12101) | |
7fff9304d3e8 0x15b07762c685 <anonymous> (as <anon>) (c533cf12021) | |
7fff9304d428 0x15b0776245e7 <InternalFrame> | |
7fff9304d4b0 0x15b0776118b7 <EntryFrame> | |
7fff9304d540 _ZN2v88internalL6InvokeEbNS0_6HandleINS0_10JSFunctionEEENS1_INS0_6ObjectEEEiPS5_Pb+0xf2 | |
7fff9304d590 v8::internal::Execution::Call+0x79 | |
7fff9304d600 v8::Function::Call+0x10c | |
7fff9304d670 node::Load+0xea | |
7fff9304d700 node::Start+0x143 | |
> ::findjsobjects -p test | ::jsprint | |
{ | |
test: "Hello Node Summit", | |
} |
Thanks for the writeup over on the Joyent blog:
Following the same instructions on a 64 bit ubuntu install running on virtualbox.
nicholas@local-nicholas-nicholass-pro:~$ uname -a
Linux local-nicholas-nicholass-pro 3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
I get this error
./mmdb.sh ~~/stor/debug.tar.gz
* created interactive job -- 0266a318-f857-caf6-a5e5-b2c41a5b9395
* waiting for session... established
mdb: cannot debug core: core file is corrupt or missing required data
mdb: failed to initialize target: No such file or directory
* remote process exited
* cleaning up resources...
* session complete
I'm uncertain how to proceed.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Trying to figure out how to do this on our own SmartOS installation with a core dump from a Linux machine.
Could you provide the actual
mdb
command being executed above? I think that is the missing link.