[lldb-dev] RFC: Moving debug info parsing out of process
Davide Italiano via lldb-dev
lldb-dev at lists.llvm.org
Sat Mar 2 15:14:02 PST 2019
On Sat, Mar 2, 2019 at 2:56 PM Adrian Prantl via lldb-dev
<lldb-dev at lists.llvm.org> wrote:
> On Feb 25, 2019, at 10:21 AM, Zachary Turner via lldb-dev <lldb-dev at lists.llvm.org> wrote:
> Hi all,
> We've got some internal efforts in progress, and one of those would benefit from debug info parsing being out of process (independently of whether or not the rest of LLDB is out of process).
> There's a couple of advantages to this, which I'll enumerate here:
> It improves one source of instability in LLDB which has been known to be problematic -- specifically, that debug info can be bad and handling this can often be difficult and bring down the entire debug session. While other efforts have been made to address stability by moving things out of process, they have not been upstreamed, and even if they had I think we would still want this anyway, for reasons that follow.
> Where do you draw the line between debug info and the in-process part of LLDB? I'm asking because I have never seen the mechanical parsing of DWARF to be a source of instability;
We recently ran some testing and found lldb crashing while parsing
DWARF (or, sometimes, failing to parse allegedly valid DWARF and
returning some default constructed object and crashing later on). See,
Qirun did his testing on Linux, FWIW. I would like to point out that
the problems we ended up finding test some less stressed (but IMHO,
equally important configurations, namely older compiler(s) [clang
3.8/clang 4.0/clang 5.0 etc..] and optimized code (-O1/-O2/-O3/-Os)].
More information about the lldb-dev