Skip to content

Consistent crashes with v8 findrefs -s #429

@ebarzilay-godaddy

Description

@ebarzilay-godaddy

I have a core dump with lots of suspicious strings (64 random hex chars, if it rings a bell for anyone) and trying to figure out where they come from is difficult due to a consistent crash.

I first tried a v8 findrefs 0x... for these strings, and that returns nothing. I then tried v8 findrefs -s <str>, and that crashes consistently. This is with multiple core dumps, and many strings. All failed with the -s without any exceptions.

See the crash log below.

Local environment (please complete the following information):

  • Version of llnode: 4.0.0

  • OS Info: multiple Ubuntu-based environments --- Ubuntu w/ WSL2, Ubuntu in a docker container, and the same on AlmaLinux

  • lldb Version: 14.0.0 (installed via apt install lldb-14 liblldb-14-dev)

    Obtained using lldb --version

  • Version of node.js [e.g. 16.17.0]

    Obtained using node --version

Server where the core was dumped (please complete the following information):

  • OS Info: [e.g. Linux ub 5.15.0-46-generic Changelog #49~20.04.1-Ubuntu SMP Thu Aug 4 19:15:44 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux]

    Obtained using uname -a or on Windows wmic os get OsArchitecture && wmic os get name

  • lldb Version [e.g. 14.0.6]

  • Version of node.js: a few different versions, including 14.19.0, and 19.6.1

Additional context

0.      Program arguments: /usr/bin/lldb-14 --one-line "plugin load '/home/eli/.npm/lib/node_modules/llnode/llnode.so'" --one-line "settings set prompt '(llnode) '" ./node -c cQ.1
1.      HandleCommand(command = "v8 findrefs -s "000218b16c5fa03b9b72e9658a58801d5f9f4c4c49518e1cd5d95a57f4bcd046"")
 #0 0x00007f392a43dd01 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xe3fd01)
 #1 0x00007f392a43ba3e llvm::sys::RunSignalHandlers() (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xe3da3e)
 #2 0x00007f392a43e236 (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xe40236)
 #3 0x00007f39290e5520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x00007f3926063ecf llnode::v8::constants::Map::operator()() /home/eli/.npm/lib/node_modules/llnode/src/llv8-constants.h:69:3
 #5 0x00007f3926063ecf llnode::v8::Map::GetType(llnode::Error&) /home/eli/.npm/lib/node_modules/llnode/src/llv8-inl.h:215:3
 #6 0x00007f3926063ecf llnode::v8::HeapObject::GetType(llnode::Error&) /home/eli/.npm/lib/node_modules/llnode/src/llv8-inl.h:145:21
 #7 0x00007f3926063ecf llnode::FindReferencesCmd::StringScanner::ScanRefs(llnode::v8::JSObject&, llnode::Error&) /home/eli/.npm/lib/node_modules/llnode/build/../src/llscan.cc:1289:38
 #8 0x00007f39260590f3 llnode::FindReferencesCmd::ScanForReferences(llnode::FindReferencesCmd::ObjectScanner*) /home/eli/.npm/lib/node_modules/llnode/build/../src/llscan.cc:618:26
 #9 0x00007f3926061a07 llnode::FindReferencesCmd::DoExecute(lldb::SBDebugger, char**, lldb::SBCommandReturnObject&) /home/eli/.npm/lib/node_modules/llnode/build/../src/llscan.cc:568:22
#10 0x00007f393388d486 (/lib/x86_64-linux-gnu/liblldb-14.so.1+0x1d7486)
#11 0x00007f3933b7ef67 (/lib/x86_64-linux-gnu/liblldb-14.so.1+0x4c8f67)
#12 0x00007f3933b73b97 (/lib/x86_64-linux-gnu/liblldb-14.so.1+0x4bdb97)
#13 0x00007f3933b77981 (/lib/x86_64-linux-gnu/liblldb-14.so.1+0x4c1981)
#14 0x00007f3933ac083f (/lib/x86_64-linux-gnu/liblldb-14.so.1+0x40a83f)
#15 0x00007f3933aa173c (/lib/x86_64-linux-gnu/liblldb-14.so.1+0x3eb73c)
#16 0x00007f3933b793d9 (/lib/x86_64-linux-gnu/liblldb-14.so.1+0x4c33d9)
#17 0x00007f39338abeda lldb::SBDebugger::RunCommandInterpreter(bool, bool) (/lib/x86_64-linux-gnu/liblldb-14.so.1+0x1f5eda)
#18 0x0000000000407d4a (/usr/bin/lldb-14+0x407d4a)
#19 0x0000000000408f85 (/usr/bin/lldb-14+0x408f85)
#20 0x00007f39290ccd90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#21 0x00007f39290cce40 call_init ./csu/../csu/libc-start.c:128:20
#22 0x00007f39290cce40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#23 0x0000000000404125 (/usr/bin/lldb-14+0x404125)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions