Weird issues with LLDB ToT

Dear all,
I am not sure if this is reproducible, but I am experiencing some strange behavior while using LLDB ToT.

  1. The debugger does not automatically show the current snippet of source code when stopping at a breakpoint, I need to manually type “frame select 0” to get the code to appear, as in:

(lldb) next
(lldb) step
(lldb) frame select 0
frame #0: 0x0000000100000ec9 programmafoo(int&) + 25 at programma.cpp:4 1 int foo(int& x) 2 { 3 x = x + 1; -> 4 return (x-1); 5 } 6 int main() 7 { (lldb) next (lldb) frame select 0 frame #0: 0x0000000100000f0c programmamain + 44 at programma.cpp:10
7 {
8 int j = 0;
9 while (j < 1000)
→ 10 foo(j);
11 return 1;
12 }

  1. Every time I try to quit LLDB, it crashes. I have attached a log of the crash. It looks like that, when calling SBDebugger::Destroy (m_debugger); in Driver::MainLoop(), the SharedPtr to the Debugger has already been reset to NULL which segfaults LLDB, however some of the debug information is missing and setting a watchpoint on the SP does not show any spurious writes.
  2. The command “command script” and subcommands appear to have not been compiled in (however, other Python related commands are available)

I am not sure how reproducible this is, however I have tried a few times to download LLDB source code from scratch, but nothing changes. The most recent version that I am able to use successfully is r143676 + the fixes in ClangUserExpression.h from r143678.


  • Enrico Granata

lldb.crash (39.6 KB)

I can't reproduce any of these issues with the current TOT lldb. Weird...


I don't see these issues either.

I have retried with the current ToT (revision 143713) and everything is working smoothly as usual.
The older revision (143679) is still giving all the issues described.
Weird, but luckily it seems limited to one revision only.

  • Enrico Granata