'breakpoint delete' vs. 'breakpoint disable'

While operating on a breakpoints, is it correct to use 'breakpoint delete' without
previous 'breakpoint disable'? With this scenario, I'm observing 6.0.0-rc2 crash with:

$ /home/dantipov/.local/llvm-6.0.0/bin/lldb t-thread2
(lldb) target create "t-thread2"
Current executable set to 't-thread2' (x86_64).
(lldb) breakpoint set -n g
Breakpoint 1: where = t-thread2`g(int) + 7 at t-thread2.cc:9, address = 0x0000000000400d0e
(lldb) run
Process 19195 launched: '/home/dantipov/tmp/t-thread2' (x86_64)
Process 19195 stopped
* thread #2, name = 't-thread2', stop reason = breakpoint 1.1
     frame #0: 0x0000000000400d0e t-thread2`g(v=0) at t-thread2.cc:9
    6 g (int v)
    7 {
    8 (void) v;
-> 9 }
    10
    11 void
    12 f (int v)
(lldb) process continue
Process 19195 resuming
Process 19195 stopped
* thread #3, name = 't-thread2', stop reason = breakpoint 1.1
     frame #0: 0x0000000000400d0e t-thread2`g(v=1) at t-thread2.cc:9
    6 g (int v)
    7 {
    8 (void) v;
-> 9 }
    10
    11 void
    12 f (int v)
(lldb) process continue
Process 19195 resuming
Process 19195 stopped
* thread #2, name = 't-thread2', stop reason = breakpoint 1.1
     frame #0: 0x0000000000400d0e t-thread2`g(v=0) at t-thread2.cc:9
    6 g (int v)
    7 {
    8 (void) v;
-> 9 }
    10
    11 void
    12 f (int v)
(lldb) breakpoint delete
About to delete all breakpoints, do you want to do that?: [Y/n] Y
All breakpoints removed. (1 breakpoint)
(lldb) process continue
Process 19195 resuming
Segmentation fault (core dumped)

There is no crash if 'breakpoint disable' was issued before 'breakpoint delete'.
Sample program attached.

Dmitry

t-thread2.cc (480 Bytes)

Breakpoint disable will keep the breakpoint around and all of its locations. Breakpoint delete will delete it. Shouldn't make a difference and one doesn't have to happen before the other. Sounds like you found a bug. When things crash it would be good to attach a stack backtrace of why LLDB is crashing. That will help us to see what us causing the issue.

Greg Clayton