[lldb-dev] lldb test suite on macOS 10.13 (High Sierra)

Jim Ingham via lldb-dev lldb-dev at lists.llvm.org
Tue Jan 2 11:20:48 PST 2018


This is actually using the same mechanism that Greg was describing, but through a separate route.  

With the crashinfo mechanism in place, if a test crashes the crash log will show whatever test was being run at the time of the crash.  This was pretty useful when we were running the testsuite in one process, since then it was pretty hard to figure out where the test crashed.  But now that the runner is in a separate process it doesn't go down when a test crashes, so you can tell at the least which test directory caused the crash.  If we want to make this better we could do something more platform independent to track which test in a particular directory is the current test, and then report that when we see a crash.  But I don't think it is worth much effort keeping the current mechanism alive.

Jim


> On Dec 19, 2017, at 11:58 AM, Pavel Labath via lldb-dev <lldb-dev at lists.llvm.org> wrote:
> 
> On 19 December 2017 at 18:06, Greg Clayton <clayborg at gmail.com> wrote:
>> 
>> The crash hook is needed since ReportCrash on MacOS knows how to dig up a crash log line for each shared library that is currently loaded in a process when it generates a crash report. There are settings that we can enable to enable allowing the expression that is being run to be logged:
>> 
>> (lldb) settings set target.display-expression-in-crashlogs 1
>> 
>> These crash hooks, if we are talking about the host level call that sets the crash log lines and not something else, have been invaluable over the years so I would venture to say we don't want to take them out. Not sure if any other system does anything with these. If Apple is the only one, we can conditionally compile them in only for Apple targets if needed and use macro to set them that does nothing on non Apple builds.
>> 
>> Greg
>> 
> 
> I wasn't familiar with that setting, but I think we are talking about
> something different here, as this is code that only runs as a part of
> test (test/testcases/crashinfo.c). The main reason I suggested removal
> is because it is bolted onto the test suite in quite a crude fashion.
> The right solution would be to generate the crashinfo.so as a part of
> the regular build (in which case we wouldn't have the current problem
> where the crashinfo hook fails in some configurations even though the
> rest of the lldb builds just fine).
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev



More information about the lldb-dev mailing list