DavidSpickett wrote:

My extra logging resulted in this:
```
intern-state     ^^^^^^^^ Thread::ShouldStop Begin ^^^^^^^^
intern-state     Plan stack initial state:
  thread #1: tid = 0x47d2d:
    Active plan stack:
      Element 0: Base thread plan.
      Element 1: Single stepping past breakpoint site 11 at 0xf7fd1258

intern-state     Step over breakpoint stopped for reason: trace.
python3.8        Discarding thread plans for thread (tid = 0x47d2d, force 1)
intern-state     Plan Step over breakpoint trap should stop: 0.
intern-state     Completed step over breakpoint plan.
intern-state     Plan Step over breakpoint trap auto-continue: true.

--
Command Output (stderr):
--
python3.8: ../llvm-project/lldb/source/Target/Thread.cpp:898: bool 
lldb_private::Thread::ShouldStop(Event *): Assertion `i != 1 && "Cannot pop 
plan when there is only one plan (the base plan)"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and 
include the crash backtrace.
#0 0xee160c64 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) 
(/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/lib/python3.8/site-packages/lldb/_lldb.cpython-38-arm-linux-gnueabihf.so+0xec1c64)
#1 0xee15e688 llvm::sys::RunSignalHandlers() 
(/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/lib/python3.8/site-packages/lldb/_lldb.cpython-38-arm-linux-gnueabihf.so+0xebf688)
#2 0xee1614f8 SignalHandler(int) 
(/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/lib/python3.8/site-packages/lldb/_lldb.cpython-38-arm-linux-gnueabihf.so+0xec24f8)
#3 0xf7b21530 __default_sa_restorer 
/build/glibc-tftl1u/glibc-2.31/signal/../sysdeps/unix/sysv/linux/arm/sigrestorer.S:67:0
#4 0xf7b117e6 
/build/glibc-tftl1u/glibc-2.31/csu/../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47:0
#5 0xf7b207fe raise 
/build/glibc-tftl1u/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:28:1
```
With the assert going off 
[here](https://github.com/llvm/llvm-project/blob/0ed0b7458a528b7d2b2512e07eb2fed54a69ea3a/lldb/source/Target/Thread.cpp#L886).

Which is the last place I'd expect it to be with all the `IsBasePlan` checks, 
but there might be a situation where `current_plan` is something unexpected. 
Maybe `current_plan` refers to something that has already been removed from the 
stack, I'm looking into it now.

https://github.com/llvm/llvm-project/pull/74894
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to