fwiw the reason the JIT came up is because we had an instance where the older MCJIT wasn't handling a relocation in thumb code about six weeks ago and we only caught the crash a couple days before we released a beta of it. It definitely can happen with MCJIT. I think with ORC JIT this is a not going to be a problem -- but it's a good example of a class of problem where the subsystem (jit) considers the failure catastrophic, whereas the user will find another way to do their work. When it takes the developer an hour to get to the point of failure, they try to print a variable, lldb ingests a ton of debug info and then we crash because some little detail was not valid, or they try to run an expression and the debugger crashes with an unsupported relocation, I can't overstate what an enormous failure of the debugger that is.
> On Sep 11, 2017, at 4:10 PM, Greg Clayton via lldb-commits > <lldb-commits@lists.llvm.org> wrote: > > >> On Sep 11, 2017, at 4:05 PM, Leonard Mosescu <mose...@google.com> wrote: >> >> >> Process already has "Error Process::WillResume()" for this very reason. Just >> have the Windows mini dump core file plug-in override it. The code in >> Process::Resume already checks this: >> Status Process::PrivateResume() { >> Status error(WillResume()); >> // Tell the process it is about to resume before the thread list >> if (error.Success()) { >> ... >> } >> } >> return error; >> } >> Problem solved no??? >> >> It would be great, but that also happens too late (by the time >> PrivateResume() is called the state has been already changed) > > We could call Process::WillResume() before Process::PrivateResume() before it > changes the state... Probably still need to call it in PrivateResume() since > a complex thread plan might start and stop the process many times and the > process might crash and there would only be one main Process::Continue, or > thread step that kicks off the initial run. > > Greg > > > _______________________________________________ > lldb-commits mailing list > lldb-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits