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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions