vadimcn / codelldb

A native debugger extension for VSCode based on LLDB
https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb
MIT License
2.42k stars 237 forks source link

Included LLDB segfault when SBTypeSynthetic.IsClassCode is called #1031

Open chase opened 8 months ago

chase commented 8 months ago

OS: Pop!_OS 22.04 LTS Linux VSCode version: 1.70.1 CodeLLDB version: 1.10.0 Compiler: Ubuntu clang version 14.0.0-1ubuntu1.1 Target: x86_64-pc-linux-gnu Thread model: posix Debuggee: C++, trivial example

Included version of LLDB segfaults when running a Python script that calls IsClassCode. This does not crash on LLDB 15.0.7 that I installed through my package manager.

Code under debug (test.cc):

#include <string_view>
#include <unordered_map>
#include <string>
#include <iostream>
std::string g_s;
std::unordered_map<std::string,std::string_view> g_m;
int main() {
    g_s = "hello";
    g_m.emplace("world", g_s);
    std::cout << g_s << g_m["world"];
}

Compiled with: clang++ --std=c++20 test.cc -o simple-ex

Example script

import lldb

def find_synths(debugger):
    original_category: lldb.SBTypeCategory = debugger.GetCategory("cplusplus")

    if not original_category:
        print("C++ category not available")
        return

    for i in range(original_category.GetNumSynthetics()):
        synthetic: lldb.SBTypeSynthetic = original_category.GetSyntheticAtIndex(i)
        specifier: lldb.SBTypeNameSpecifier = (
            original_category.GetTypeNameSpecifierForSyntheticAtIndex(i)
        )
        if not specifier.IsValid():
            continue
        name = str(specifier.name)
        if not name:
            continue

        modified_typename = name.replace("std::__1", "std::Cr").replace(
            "std::__[[:alnum:]]+", "std::Cr"
        )

        if name == modified_typename:
            continue

        if synthetic.contains_code:
            print(name, "Contains code")
            continue

def __lldb_init_module(debugger, internal_dict):
    find_synths(debugger)

Switching CodeLLDB to use my local lldb causes this to no longer crash:

  "lldb.library": "/usr/lib/x86_64-linux-gnu/liblldb-15.so",
  "lldb.adapterEnv": {"LLDB_DEBUGSERVER_PATH": "/usr/bin/lldb-server-15"}
Verbose log

nitial debug configuration: {
  type: 'lldb',
  request: 'launch',
  name: 'Launch',
  program: '${workspaceFolder}/simple-ex',
  args: [],
  cwd: '${workspaceFolder}',
  postRunCommands: [
    "br set -o true -f test.cc -l 10 -C 'print g_m' -C 'print g_s' -C 'type category list' -C 'command script import ${workspaceFolder}/find_synths.py'"
  ],
  __configurationTarget: 6
}
Resolved debug configuration: {
  type: 'lldb',
  request: 'launch',
  name: 'Launch',
  program: '${workspaceFolder}/simple-ex',
  args: [],
  cwd: '${workspaceFolder}',
  postRunCommands: [
    "br set -o true -f test.cc -l 10 -C 'print g_m' -C 'print g_s' -C 'type category list' -C 'command script import ${workspaceFolder}/find_synths.py'"
  ],
  __configurationTarget: 6,
  relativePathBase: '/next/simple-ex',
  _adapterSettings: {
    displayFormat: 'auto',
    showDisassembly: 'auto',
    dereferencePointers: true,
    suppressMissingSourceFiles: true,
    evaluationTimeout: 5,
    consoleMode: 'commands',
    sourceLanguages: null,
    terminalPromptClear: null,
    evaluateForHovers: true,
    commandCompletions: true,
    reproducer: false
  }
}
[DEBUG codelldb::dap_codec] --> {"command":"disconnect","arguments":{"restart":true,"terminateDebuggee":true},"type":"request","seq":20}
[DEBUG codelldb::debug_session] Debug event: 0x55c52fe6d6f0 Event: broadcaster = 0x55c52ed389d8 (lldb.process), type = 0x00000001 (state-changed), data = { process = 0x55c52ed389a0 (pid = 1971722), state = exited}
[DEBUG codelldb::dap_codec] <-- {"seq":47,"type":"response","request_seq":20,"success":true,"command":"disconnect"}
[DEBUG codelldb::dap_codec] <-- {"seq":48,"type":"event","event":"output","body":{"category":"console","output":"Process exited with code 9.\n"}}
[DEBUG codelldb::dap_codec] <-- {"seq":49,"type":"event","event":"exited","body":{"exitCode":9}}
[DEBUG codelldb::dap_codec] <-- {"seq":50,"type":"event","event":"terminated","body":{}}
liblldb: /home/chase/.vscode/extensions/vadimcn.vscode-lldb-1.10.0/lldb/lib/liblldb.so
environment: {}
settings: { evaluateForHovers: true, commandCompletions: true }
[DEBUG codelldb] Connecting to 127.0.0.1:33355
[DEBUG codelldb] New debug session
[DEBUG codelldb::dap_session] Client has disconnected
[DEBUG codelldb::debug_session] End of the requests stream
[DEBUG codelldb::debug_session] DebugSession::drop()
[DEBUG codelldb] End of the debug session
[DEBUG codelldb] Exiting
Debug adapter exit code=0 (0x0), signal=null.
[DEBUG codelldb::dap_codec] --> {"command":"initialize","arguments":{"clientID":"vscode","clientName":"Visual Studio Code","adapterID":"lldb","pathFormat":"path","linesStartAt1":true,"columnsStartAt1":true,"supportsVariableType":true,"supportsVariablePaging":true,"supportsRunInTerminalRequest":true,"locale":"en-us","supportsProgressReporting":true,"supportsInvalidatedEvent":true,"supportsMemoryReferences":true,"supportsArgsCanBeInterpretedByShell":true},"type":"request","seq":1}
[DEBUG codelldb::dap_codec] <-- {"seq":1,"type":"response","request_seq":1,"success":true,"command":"initialize","body":{"exceptionBreakpointFilters":[{"default":true,"filter":"cpp_throw","label":"C++: on throw","supportsCondition":true},{"default":false,"filter":"cpp_catch","label":"C++: on catch","supportsCondition":true}],"supportTerminateDebuggee":true,"supportsCancelRequest":true,"supportsCompletionsRequest":true,"supportsConditionalBreakpoints":true,"supportsConfigurationDoneRequest":true,"supportsDataBreakpoints":true,"supportsDelayedStackTraceLoading":true,"supportsDisassembleRequest":true,"supportsEvaluateForHovers":true,"supportsExceptionFilterOptions":true,"supportsExceptionInfoRequest":true,"supportsFunctionBreakpoints":true,"supportsGotoTargetsRequest":true,"supportsHitConditionalBreakpoints":true,"supportsInstructionBreakpoints":true,"supportsLogPoints":true,"supportsReadMemoryRequest":true,"supportsSetVariable":true,"supportsSteppingGranularity":true,"supportsWriteMemoryRequest":true}}
[DEBUG codelldb::dap_codec] --> {"command":"launch","arguments":{"type":"lldb","request":"launch","name":"Launch","program":"/next/simple/simple-ex","args":[],"cwd":"/next/simple","postRunCommands":["br set -o true -f test.cc -l 10 -C 'print g_m' -C 'print g_s' -C 'type category list' -C 'command script import /next/simple/find_synths.py'"],"__configurationTarget":6,"relativePathBase":"/next/simple","_adapterSettings":{"displayFormat":"auto","showDisassembly":"auto","dereferencePointers":true,"suppressMissingSourceFiles":true,"evaluationTimeout":5,"consoleMode":"commands","sourceLanguages":null,"terminalPromptClear":null,"evaluateForHovers":true,"commandCompletions":true,"reproducer":false},"__sessionId":"a4f1d838-5263-4dec-a721-b70176bc5710"},"type":"request","seq":2}
[DEBUG codelldb::dap_codec] <-- {"seq":2,"type":"event","event":"output","body":{"category":"console","output":"Console is in 'commands' mode, prefix expressions with '?'.\n"}}
INFO(Python) 16:19:08 formatters: Initializing
INFO(Python) 16:19:08 formatters.rust: Initializing
[DEBUG codelldb::debug_session] Debug event: 0x55f06b9258a8 Event: broadcaster = 0x55f06b7ed980 (lldb.target), type = 0x00000002 (modules-loaded), data = {simple-ex}
[DEBUG codelldb::dap_codec] <-- {"seq":3,"type":"event","event":"initialized"}
[DEBUG codelldb::dap_codec] <-- {"seq":4,"type":"event","event":"module","body":{"module":{"addressRange":"FFFFFFFFFFFFFFFF","id":"FFFFFFFFFFFFFFFF","name":"simple-ex","path":"/next/simple/simple-ex","symbolFilePath":"/next/simple/simple-ex","symbolStatus":"Symbols loaded."},"reason":"new"}}
[DEBUG codelldb::dap_codec] <-- {"seq":5,"type":"request","command":"runInTerminal","arguments":{"args":["/home/chase/.vscode/extensions/vadimcn.vscode-lldb-1.10.0/adapter/codelldb","terminal-agent","--connect=39197"],"cwd":"","kind":"integrated","title":"Launch"}}
[DEBUG codelldb::dap_codec] <-- {"seq":6,"type":"response","request_seq":3,"success":true,"command":"setBreakpoints","body":{"breakpoints":[{"id":1,"message":"Resolved locations: 0","verified":false}]}}
[DEBUG codelldb::dap_codec] --> {"command":"setBreakpoints","arguments":{"source":{"name":"test.cc","path":"/next/simple/test.cc"},"lines":[10],"breakpoints":[{"line":10}],"sourceModified":false},"type":"request","seq":4}
[DEBUG codelldb::debug_session] Debug event: 0x55f06c9469c8 Event: broadcaster = 0x55f06b7ed980 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 2 type: breakpoint added}
[DEBUG codelldb::debug_session] Debug event: 0x55f06b98d9b8 Event: broadcaster = 0x55f06b7ed980 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 2 type: breakpoint disabled}
[DEBUG codelldb::debug_session] Debug event: 0x55f06c938228 Event: broadcaster = 0x55f06b7ed980 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 2 type: breakpoint removed}
[DEBUG codelldb::dap_codec] <-- {"seq":7,"type":"response","request_seq":4,"success":true,"command":"setBreakpoints","body":{"breakpoints":[{"id":3,"line":10,"message":"Resolved locations: 0","verified":true}]}}
[DEBUG codelldb::debug_session] Debug event: 0x55f06ca7f048 Event: broadcaster = 0x55f06b7ed980 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 3 type: breakpoint added}
[DEBUG codelldb::dap_codec] --> {"command":"setFunctionBreakpoints","arguments":{"breakpoints":[]},"type":"request","seq":5}
[DEBUG codelldb::dap_codec] <-- {"seq":8,"type":"response","request_seq":5,"success":true,"command":"setFunctionBreakpoints","body":{"breakpoints":[]}}
[DEBUG codelldb::dap_codec] --> {"command":"setDataBreakpoints","arguments":{"breakpoints":[]},"type":"request","seq":6}
[DEBUG codelldb::dap_codec] <-- {"seq":9,"type":"response","request_seq":6,"success":true,"command":"setDataBreakpoints","body":{"breakpoints":[]}}
[DEBUG codelldb::dap_codec] --> {"type":"response","seq":7,"command":"runInTerminal","request_seq":5,"success":true,"body":{"shellProcessId":1955090}}
[DEBUG codelldb::dap_codec] --> {"command":"setInstructionBreakpoints","arguments":{"breakpoints":[]},"type":"request","seq":8}
[DEBUG codelldb::dap_codec] <-- {"seq":10,"type":"response","request_seq":8,"success":true,"command":"setInstructionBreakpoints","body":{"breakpoints":[]}}
[DEBUG codelldb::dap_codec] --> {"command":"setExceptionBreakpoints","arguments":{"filters":[],"filterOptions":[{"filterId":"cpp_throw"}]},"type":"request","seq":9}
[DEBUG codelldb::dap_codec] <-- {"seq":11,"type":"response","request_seq":9,"success":true,"command":"setExceptionBreakpoints"}
[DEBUG codelldb::debug_session] Debug event: 0x55f06c938228 Event: broadcaster = 0x55f06b7ed980 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 4 type: breakpoint added}
[DEBUG codelldb::dap_codec] --> {"command":"configurationDone","type":"request","seq":10}
[DEBUG codelldb::dap_codec] <-- {"seq":12,"type":"event","event":"output","body":{"category":"console","output":"Launching: /next/simple/simple-ex\n"}}
[DEBUG codelldb::dap_codec] <-- {"seq":13,"type":"event","event":"output","body":{"category":"console","output":"Launched process 1972224\n"}}
[DEBUG codelldb::dap_codec] <-- {"seq":14,"type":"event","event":"output","body":{"category":"console","output":"Executing script: postRunCommands\n"}}
[DEBUG codelldb::debug_session] br set -o true -f test.cc -l 10 -C 'print g_m' -C 'print g_s' -C 'type category list' -C 'command script import /next/simple/find_synths.py' -> SuccessFinishResult, Error:  Success
    Output Message:
    Breakpoint 5: where = simple-ex`main + 72 at test.cc:10:12, address = 0x00005555555563b8

[DEBUG codelldb::dap_codec] <-- {"seq":15,"type":"event","event":"output","body":{"category":"console","output":"Breakpoint 5: where = simple-ex`main + 72 at test.cc:10:12, address = 0x00005555555563b8\n\n"}}
[DEBUG codelldb::dap_codec] <-- {"seq":16,"type":"response","request_seq":2,"success":true,"command":"launch"}
[DEBUG codelldb::debug_session] Debug event: 0x55f06c8df1f8 Event: broadcaster = 0x55f06b7ed980 (lldb.target), type = 0x00000002 (modules-loaded), data = {ld-linux-x86-64.so.2}
[DEBUG codelldb::dap_codec] <-- {"seq":17,"type":"response","request_seq":10,"success":true,"command":"configurationDone"}
[DEBUG codelldb::dap_codec] <-- {"seq":18,"type":"event","event":"module","body":{"module":{"addressRange":"7FFFF7FC3000","id":"7FFFF7FC3000","name":"ld-linux-x86-64.so.2","path":"/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2","symbolFilePath":"/usr/lib/debug/.build-id/97/18d3757f00d2366056830aae09698dbd35e32c.debug","symbolStatus":"Symbols loaded."},"reason":"new"}}
[DEBUG codelldb::debug_session] Debug event: 0x55f06c7baa08 Event: broadcaster = 0x55f06b7ed980 (lldb.target), type = 0x00000002 (modules-loaded), data = {[vdso](0x00007ffff7fc1000)}
[DEBUG codelldb::dap_codec] <-- {"seq":19,"type":"event","event":"module","body":{"module":{"addressRange":"7FFFF7FC1000","id":"7FFFF7FC1000","name":"[vdso]","path":"[vdso]","symbolStatus":"Symbols not found"},"reason":"new"}}
[DEBUG codelldb::debug_session] Debug event: 0x55f06c7babb8 Event: broadcaster = 0x55f06b7ed980 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 3 type: locations resolved}
[DEBUG codelldb::debug_session] Debug event: 0x55f06c7bac08 Event: broadcaster = 0x55f06b7ed980 (lldb.target), type = 0x00000002 (modules-loaded), data = {simple-ex}
[DEBUG codelldb::dap_codec] <-- {"seq":20,"type":"event","event":"breakpoint","body":{"breakpoint":{"id":3,"line":10,"message":"Resolved locations: 1","verified":true},"reason":"changed"}}
[DEBUG codelldb::dap_codec] <-- {"seq":21,"type":"event","event":"module","body":{"module":{"addressRange":"555555554000","id":"555555554000","name":"simple-ex","path":"/next/simple/simple-ex","symbolFilePath":"/next/simple/simple-ex","symbolStatus":"Symbols loaded."},"reason":"new"}}
[DEBUG codelldb::debug_session] Debug event: 0x55f06c7bb970 Event: broadcaster = 0x55f06b9a9408 (lldb.process), type = 0x00000001 (state-changed), data = { process = 0x55f06b9a93d0 (pid = 1972224), state = running}
[DEBUG codelldb::dap_codec] <-- {"seq":22,"type":"event","event":"continued","body":{"allThreadsContinued":true,"threadId":1972224}}
[DEBUG codelldb::debug_session] Debug event: 0x55f06ca72518 Event: broadcaster = 0x55f06b7ed980 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 5 type: breakpoint added}
[DEBUG codelldb::dap_codec] <-- {"seq":23,"type":"event","event":"breakpoint","body":{"breakpoint":{"id":5,"line":10,"message":"Resolved locations: 1","source":{"name":"test.cc","path":"/next/simple/test.cc"},"verified":true},"reason":"new"}}
[DEBUG codelldb::debug_session] Debug event: 0x55f06b92a748 Event: broadcaster = 0x55f06b7ed980 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 5 type: locations resolved}
[DEBUG codelldb::dap_codec] <-- {"seq":24,"type":"event","event":"breakpoint","body":{"breakpoint":{"id":5,"line":10,"message":"Resolved locations: 1","verified":true},"reason":"changed"}}
[DEBUG codelldb::dap_codec] --> {"command":"threads","type":"request","seq":11}
[DEBUG codelldb::dap_codec] <-- {"seq":25,"type":"response","request_seq":11,"success":true,"command":"threads","body":{"threads":[{"id":1972224,"name":"1: tid=1972224"}]}}
[DEBUG codelldb::debug_session] Debug event: 0x7f49b00f3198 Event: broadcaster = 0x55f06b7ed980 (lldb.target), type = 0x00000004 (modules-unloaded), data = {ld-linux-x86-64.so.2}
[DEBUG codelldb::dap_codec] <-- {"seq":26,"type":"event","event":"module","body":{"module":{"id":"FFFFFFFFFFFFFFFF","name":""},"reason":"removed"}}
[DEBUG codelldb::debug_session] Debug event: 0x7f497857dfd8 Event: broadcaster = 0x55f06b7ed980 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 1 type: locations removed}
[DEBUG codelldb::debug_session] Debug event: 0x7f4978807cf8 Event: broadcaster = 0x55f06b7ed980 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 3 type: locations removed}
[DEBUG codelldb::debug_session] Debug event: 0x7f497808cd38 Event: broadcaster = 0x55f06b7ed980 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 4 type: locations removed}
[DEBUG codelldb::debug_session] Debug event: 0x7f4979b53ef8 Event: broadcaster = 0x55f06b7ed980 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 5 type: locations removed}
[DEBUG codelldb::debug_session] Debug event: 0x7f497808cd38 Event: broadcaster = 0x55f06b7ed980 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 4 type: locations resolved}
[DEBUG codelldb::debug_session] Debug event: 0x7f4979b65958 Event: broadcaster = 0x55f06b7ed980 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 4 type: locations resolved}
[DEBUG codelldb::dap_codec] <-- {"seq":27,"type":"event","event":"breakpoint","body":{"breakpoint":{"id":4,"message":"Resolved locations: 2","verified":true},"reason":"changed"}}
[DEBUG codelldb::debug_session] Debug event: 0x7f4979b54468 Event: broadcaster = 0x55f06b7ed980 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 4 type: locations added}
[DEBUG codelldb::dap_codec] <-- {"seq":28,"type":"event","event":"breakpoint","body":{"breakpoint":{"id":4,"message":"Resolved locations: 2","verified":true},"reason":"changed"}}
[DEBUG codelldb::dap_codec] <-- {"seq":29,"type":"event","event":"breakpoint","body":{"breakpoint":{"id":4,"message":"Resolved locations: 2","verified":true},"reason":"changed"}}
[DEBUG codelldb::debug_session] Debug event: 0x7f497880e378 Event: broadcaster = 0x55f06b7ed980 (lldb.target), type = 0x00000002 (modules-loaded), data = {libstdc++.so.6, libm.so.6, libgcc_s.so.1, libc.so.6}
[DEBUG codelldb::dap_codec] <-- {"seq":30,"type":"event","event":"module","body":{"module":{"addressRange":"7FFFF7C00000","id":"7FFFF7C00000","name":"libstdc++.so.6","path":"/lib/x86_64-linux-gnu/libstdc++.so.6","symbolFilePath":"/lib/x86_64-linux-gnu/libstdc++.so.6","symbolStatus":"Symbols loaded."},"reason":"new"}}
[DEBUG codelldb::dap_codec] <-- {"seq":31,"type":"event","event":"module","body":{"module":{"addressRange":"7FFFF7EAE000","id":"7FFFF7EAE000","name":"libm.so.6","path":"/lib/x86_64-linux-gnu/libm.so.6","symbolFilePath":"/usr/lib/debug/.build-id/d2/c7d1fdefc7a876b6017c090ccd55fb21e8d77f.debug","symbolStatus":"Symbols loaded."},"reason":"new"}}
[DEBUG codelldb::dap_codec] <-- {"seq":32,"type":"event","event":"module","body":{"module":{"addressRange":"7FFFF7E8E000","id":"7FFFF7E8E000","name":"libgcc_s.so.1","path":"/lib/x86_64-linux-gnu/libgcc_s.so.1","symbolFilePath":"/lib/x86_64-linux-gnu/libgcc_s.so.1","symbolStatus":"Symbols loaded."},"reason":"new"}}
[DEBUG codelldb::dap_codec] <-- {"seq":33,"type":"event","event":"module","body":{"module":{"addressRange":"7FFFF7800000","id":"7FFFF7800000","name":"libc.so.6","path":"/lib/x86_64-linux-gnu/libc.so.6","symbolFilePath":"/usr/lib/debug/.build-id/a4/3bfc8428df6623cd498c9c0caeb91aec9be4f9.debug","symbolStatus":"Symbols loaded."},"reason":"new"}}
[DEBUG codelldb::debug_session::breakpoints] Callback for breakpoint location 3.1: where = simple-ex`main + 72 at test.cc:10:12, address = 0x00005555555563b8, resolved, hit count = 1 

[DEBUG codelldb::dap_codec] <-- {"seq":34,"type":"event","event":"output","body":{"category":"console","output":"(lldb)  print g_m\n(std::unordered_map, std::allocator >, std::basic_string_view >, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator >, std::basic_string_view > > > >) size=1 {\n  [0] = {\n    first = \"world\"\n    second = (_M_len = 5, _M_str = \"hello\")\n  }\n}\n"}}
[DEBUG codelldb::dap_codec] <-- {"seq":35,"type":"event","event":"output","body":{"category":"console","output":"(lldb)  print g_s\n(std::string) \"hello\"\n"}}
[DEBUG codelldb::dap_codec] <-- {"seq":36,"type":"event","event":"output","body":{"category":"console","output":"(lldb)  type category list\nCategory: default (enabled)\nCategory: Rust (enabled)\nCategory: VectorTypes (enabled, applicable for language(s): objective-c++)\nCategory: system (enabled, applicable for language(s): objective-c++)\nCategory: cplusplus (enabled)\nCategory: objc (enabled)\n"}}
Received signal: SIGSEGV
   0: codelldb::hook_crashes::handler
   1: 
   2: _ZN4lldb15SBTypeSynthetic11IsClassCodeEv
   3: 
   4: 
   5: _PyObject_MakeTpCall
   6: 
   7: _PyEval_EvalFrameDefault
   8: _PyFunction_Vectorcall
   9: 
  10: _PyObject_GenericGetAttrWithDict
  11: 
  12: _PyEval_EvalFrameDefault
  13: _PyFunction_Vectorcall
  14: 
  15: _PyEval_EvalFrameDefault
  16: _PyFunction_Vectorcall
  17: 
  18: 
  19: 
  20: 
  21: 
  22: 
  23: 
  24: 
  25: 
  26: 
  27: 
  28: 
  29: 
  30: 
  31: 
  32: _ZN4lldb10SBListener12WaitForEventEjRNS_7SBEventE
  33: __cpp_closure_1725553361688648134
  34: lldb::sb::sblistener::SBListener::wait_for_event
  35:  as core::future::future::Future>::poll
  36: tokio::runtime::task::core::Core::poll
  37: tokio::runtime::task::harness::Harness::poll
  38: tokio::runtime::blocking::pool::Inner::run
  39: std::sys_common::backtrace::__rust_begin_short_backtrace
  40: core::ops::function::FnOnce::call_once{{vtable.shim}}
  41: std::sys::unix::thread::Thread::new::thread_start
  42: start_thread
             at ./nptl/pthread_create.c:442:8
  43: clone3
             at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Debug adapter exit code=255 (0xff), signal=null.
chase commented 7 months ago

@vadimcn Is the source available for your LLDB fork? I'd like to fix this for you, if possible. It would help my team since it doesn't require additional setup on their part if the pre-built binaries for LLDB work out of the box.

vadimcn commented 7 months ago

It's in this branch. However, since you are having this problem with c++ code, I think it's likely that it exists in the mainline lldb-16 as well.