[Lldb-commits] [lldb] r319598 - Don't use llvm::EnablePrettyStackTrace on macOS.

Jim Ingham via lldb-commits lldb-commits at lists.llvm.org
Mon Dec 4 12:09:24 PST 2017


> On Dec 2, 2017, at 3:36 PM, Zachary Turner <zturner at google.com> wrote:
> 
> That said, it does seem to make more sense as something you would do in the main lldb executable, and not in library code.
> 

Yes, if we want to support it we need to make an SB API to turn it on.  You can't turn it on in the driver by hand because the framework doesn't export llvm functions.

> On Sat, Dec 2, 2017 at 12:26 PM Zachary Turner <zturner at google.com> wrote:
> I'm curious why it's not working as it's supposed to work on these platforms.  When it does work, it's quite helpful

At present all I have is a bunch of non-reproducible crash reports, I don't know why it isn't working.

Jim


> 
> On Sat, Dec 2, 2017 at 12:24 PM Davide Italiano <dccitaliano at gmail.com> wrote:
> Maybe we should remove this feature altogether?
> 
> On Fri, Dec 1, 2017 at 4:11 PM, Jim Ingham via lldb-commits
> <lldb-commits at lists.llvm.org> wrote:
> > Author: jingham
> > Date: Fri Dec  1 16:11:18 2017
> > New Revision: 319598
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=319598&view=rev
> > Log:
> > Don't use llvm::EnablePrettyStackTrace on macOS.
> >
> > LLDB.framework gets loaded into Xcode and other
> > frameworks, and this is inserting a signal handler into
> > the process even when lldb isn't used.  I have a bunch
> > of reports of this SignalHandler blowing out the stack,
> > which renders crash reports for the crash useless.
> >
> > And in any case libraries really shouldn't be installing
> > signal handlers.
> >
> > I only turned this off for APPLE platforms, I'll let
> > the maintainers of other platforms decide what policy
> > they want to have w.r.t. this.
> >
> > Modified:
> >     lldb/trunk/source/Initialization/SystemInitializerCommon.cpp
> >
> > Modified: lldb/trunk/source/Initialization/SystemInitializerCommon.cpp
> > URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Initialization/SystemInitializerCommon.cpp?rev=319598&r1=319597&r2=319598&view=diff
> > ==============================================================================
> > --- lldb/trunk/source/Initialization/SystemInitializerCommon.cpp (original)
> > +++ lldb/trunk/source/Initialization/SystemInitializerCommon.cpp Fri Dec  1 16:11:18 2017
> > @@ -69,7 +69,9 @@ void SystemInitializerCommon::Initialize
> >    }
> >  #endif
> >
> > +#if not defined(__APPLE__)
> >    llvm::EnablePrettyStackTrace();
> > +#endif
> >    Log::Initialize();
> >    HostInfo::Initialize();
> >    static Timer::Category func_cat(LLVM_PRETTY_FUNCTION);
> >
> >
> > _______________________________________________
> > lldb-commits mailing list
> > lldb-commits at lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits



More information about the lldb-commits mailing list