nodejs / llnode

An lldb plugin for Node.js and V8, which enables inspection of JavaScript states for insights into Node.js processes and their core dumps.
Other
1.15k stars 99 forks source link

[Question] examining coredumps on Mac x86 #432

Open alxgrk opened 8 months ago

alxgrk commented 8 months ago

Hi,

I'm a total newbie regarding coredumps and the whole ecosystem around it, but I have managed to grab a coredump from a Node.js process running on an ARM-based AWS EC2 instance. I now wanted to analyse it on my Mac running on x86 and executed v8 nodeinfo - telling me No process objects found.. I checked for the node version to be the same on my machine and the EC2 instance (v16.20.0) and also enabled DEBUG logging, yielding these lines:

(llnode) v8 nodeinfo
[llnode][LoadConstant ../src/constants.cc:88] Failed to load constant SmiTag, default to -1
[llnode][LoadConstant ../src/constants.cc:88] Failed to load constant SmiTagMask, default to -1
[llnode][LoadConstant ../src/constants.cc:88] Failed to load constant SmiShiftSize, default to -1
[llnode][LoadConstant ../src/constants.cc:88] Failed to load constant HeapObjectTag, default to -1
[llnode][LoadConstant ../src/constants.cc:88] Failed to load constant HeapObjectTagMask, default to -1
[llnode][LoadConstant ../src/constants.cc:88] Failed to load constant class_HeapObject__map__Map, default to -1
No process objects found.

My question is: could this be related to not having the same CPU architecture? lldb -v prints:

lldb-1500.0.22.8
Apple Swift version 5.9 (swiftlang-5.9.0.128.108 clang-1500.0.40.1)

Best, Alex

alxgrk commented 8 months ago

Update: turned out that this has nothing to do with the system architecture. I was able to examine the coredump on another x86 EC2 instance. Question remains if anyone has an idea what goes wrong on Mac.