<div dir="ltr"><div>H.J., thanks for bisecting. </div>The bot sees it too. <div><a href="http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/23989/steps/check-lsan%20in%20gcc%20build/logs/stdio">http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/23989/steps/check-lsan%20in%20gcc%20build/logs/stdio</a><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, May 15, 2016 at 9:10 AM, H.J. Lu via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Thu, May 12, 2016 at 6:11 AM, Kuba Brecka via llvm-commits<br>
<<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br>
> Author: kuba.brecka<br>
> Date: Thu May 12 08:11:03 2016<br>
> New Revision: 269291<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=269291&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=269291&view=rev</a><br>
> Log:<br>
> [sanitizer] Fix a crash when demangling Swift symbols, take 2<br>
><br>
> To invoke the Swift demangler, we use dlsym to locate swift_demangle. However, dlsym malloc's storage and stores it in thread-local storage. Since allocations from the symbolizer are done with the system allocator (at least in TSan, interceptors are skipped when inside the symbolizer), we will crash when we try to deallocate later using the sanitizer allocator again.<br>
><br>
> To fix this, let's just not call dlsym from the demangler, and call it during initialization. The dlsym function calls malloc, so it needs to be only used after our allocator is initialized. Adding a Symbolizer::LateInitialize call that is only invoked after all other initializations.<br>
><br>
> Differential Revision: <a href="http://reviews.llvm.org/D20015" rel="noreferrer" target="_blank">http://reviews.llvm.org/D20015</a><br>
><br>
><br>
> Modified:<br>
>     compiler-rt/trunk/lib/asan/asan_rtl.cc<br>
>     compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer.h<br>
>     compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc<br>
>     compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_win.cc<br>
>     compiler-rt/trunk/lib/tsan/rtl/tsan_rtl.cc<br>
><br>
<br>
</span>This caused:<br>
<br>
<a href="https://llvm.org/bugs/show_bug.cgi?id=27745" rel="noreferrer" target="_blank">https://llvm.org/bugs/show_bug.cgi?id=27745</a><br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
H.J.<br>
</font></span><div class="HOEnZb"><div class="h5">_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</div></div></blockquote></div><br></div>