[lldb-dev] Failing LIT-based lldb-mi tests

Adrian Prantl via lldb-dev lldb-dev at lists.llvm.org
Fri Aug 10 16:41:30 PDT 2018


I was wondering how this worked in the regular SBAPI that we use for all the "normal" python-based LLDB tests. The implementation of SBProcess::Continue() for example calls Process::Resume() or Process::ResumeSynchronous() depending on whether synchronous mode is set or not.
It's not immediately obvious to me whether -exec-run should wait until the process stopped before returning or whether -exec-step should wait until the process stopped before executing.

Based on a cursory reading of the sources it seems like SBTarget::Launch should block until the process stopped when it is in synchronous mode. Can you confirm this? If that is the case, can you figure out why -exec-run does not inherit this behavior?

-- adrian

> On Aug 10, 2018, at 4:27 PM, Александр Поляков <polyakov.alx at gmail.com> wrote:
> 
> AFAIK, there is no mechanism in lldb-mi to distinguish a command that expects a frame, so we need to modify each command manually. Am I right?
> If so, I found the Process::WaitForProcessToStop method which we can add to SB API and use in lldb-mi.
> 
> сб, 11 авг. 2018 г. в 0:50, Adrian Prantl <aprantl at apple.com>:
> [adding lldb-dev back to the conversation]
> 
> > On Aug 10, 2018, at 2:37 PM, Adrian Prantl <aprantl at apple.com> wrote:
> > 
> > 
> > 
> >> On Aug 10, 2018, at 2:25 PM, Александр Поляков <polyakov.alx at gmail.com> wrote:
> >> 
> >> I didn't check this yet. lldb-mi already runs LIT test in the --synchronous mode and the tests keep failing.
> >> 
> > 
> > Yes, that's why I said this:
> > 
> > 
> >>> пт, 10 авг. 2018 г. в 23:57, Adrian Prantl <aprantl at apple.com>:
> >>> 
> >>> Before we continue to discuss -wait-for-breakpoint; where you actually able to verify my suspicion that that is what is happening on the bots? Fred suggested to me offline today that in synchronous mode, perhaps -exec-* should be waiting for the process to be stopped, which would also sound like a reasonable and less invasive solution to the problem.
> >>> 
> >> 
> > 
> > Instead of adding a new command to wait for the process to be stopped we might be able to just wait for the process to be stopped if in synchronous mode and we are running any commands that expect a frame (such as -exec-*).
> > 
> > -- adrian
> 
> 
> 
> -- 
> Alexander



More information about the lldb-dev mailing list