When executing thread step-inst / si on an instruction that returns to the same PC, LLDB currently keeps stepping indefinitely.
I couldn't find the exact semantics for the step-instruction, but https://lldb.llvm.org/use/map.html suggests the behavior to be equivalent to GDB's si. GDB steps exactly one instruction, without the assumption that the program counter has to change.
Reproduce with the following code:
int main() { while(1){}; return 0; }
When compiled with clang -g a.c, the above example generates an instruction (X86-64 jmpq) that jumps to the address of itself. When reaching the line with the loop, a si will never stop/break in this case, since the assumption is that the PC needs to change for the stepping to be finished.