[LLVMdev] [cfe-dev] Address sanitizer regression test failures for PPC64 targets

Alexander Potapenko glider at google.com
Thu Sep 4 23:06:36 PDT 2014


Note that I've set the SA_NODEFER flag for the SEGV handler in the
ASan runtime only a couple of days ago.
Not sure that could've affected this test though; without that flag
the second SEGV would've simply crashed the program. But you can try
removing the flag from
compiler-rt/trunk/lib/sanitizer_common/sanitizer_posix_libcdep.cc and
see if that makes any difference.

HTH,
Alex

On Fri, Sep 5, 2014 at 5:26 AM, Alexey Samsonov <vonosmas at gmail.com> wrote:
> +Bill Schmidt
>
> On Thu, Sep 4, 2014 at 5:39 PM, Samuel F Antao <sfantao at us.ibm.com> wrote:
>>
>> Hi all,
>>
>> I have been experiencing the failure of the address sanitizer regression
>> tests for a PPC64 target (Power7 machine). My understanding is that most of
>> the failures are related with the fact the stack is not being dumped.
>>
>> I tried to understand what might be wrong and started by looking into the
>> null_deref.cc test as it hangs during the test run.  I observe that after
>> the detection of the faulty memory access it receives a SEGV after entering
>> ReportSIGSEGV() more precisely when it gets to the __intercept_strlen() and
>> tries to access  flags()->replace_str. The caller of __intercept_strlen() is
>> get_cie_encoding() from libgcc (version 4.8.2 in my system).
>>
>> As I am not familiar with the sanitizer implementation, I was wondering if
>> this is an expected failure for PPC targets due to some incomplete
>> implementation, an unexpected bug, or due to some misconfiguration in the
>> Clang/LLVM build for PPC targets.
>>
>> Has anyone experienced a similar issue?
>
>
> Sanitizer used to work on PPC at some point, but currently it fails on most
> of the tests from "check-asan" test suite on the PowerPC buildbot
> (http://lab.llvm.org:8011/builders/sanitizer-ppc64-linux1).
> I can't really diagnose the issue from your description. flags() is just a
> pointer to a global variable, so I don't see why access to
> flags()->replace_str will segfault.
>
>>
>>
>>
>> Thanks in advance!
>> Samuel
>>
>>
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>>
>
>
>
> --
> Alexey Samsonov
> vonosmas at gmail.com
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>



-- 
Alexander Potapenko
Software Engineer
Google Moscow



More information about the llvm-dev mailing list