<div dir="ltr">Still now we have a new issue:<div><a href="http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/1252/steps/check-llvm%20asan/logs/stdio" class="gmail_msg inbox-inbox-cremed cremed" target="_blank" style="font-size:small">http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/1252/steps/check-llvm%20asan/logs/stdio</a><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Dec 8, 2016 at 9:07 AM Greg Clayton via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: gclayton<br class="gmail_msg">
Date: Thu Dec  8 10:57:04 2016<br class="gmail_msg">
New Revision: 289070<br class="gmail_msg">
<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=289070&view=rev" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project?rev=289070&view=rev</a><br class="gmail_msg">
Log:<br class="gmail_msg">
Fix ASAN buildbots by fixing a double free crash.<br class="gmail_msg">
<br class="gmail_msg">
The dwarfgen::Generator::StringPool was in a unique_ptr but it was owned by the Allocator member variable so it was being free twice.<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
Modified:<br class="gmail_msg">
    llvm/trunk/unittests/DebugInfo/DWARF/DwarfGenerator.cpp<br class="gmail_msg">
    llvm/trunk/unittests/DebugInfo/DWARF/DwarfGenerator.h<br class="gmail_msg">
<br class="gmail_msg">
Modified: llvm/trunk/unittests/DebugInfo/DWARF/DwarfGenerator.cpp<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/DebugInfo/DWARF/DwarfGenerator.cpp?rev=289070&r1=289069&r2=289070&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/DebugInfo/DWARF/DwarfGenerator.cpp?rev=289070&r1=289069&r2=289070&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- llvm/trunk/unittests/DebugInfo/DWARF/DwarfGenerator.cpp (original)<br class="gmail_msg">
+++ llvm/trunk/unittests/DebugInfo/DWARF/DwarfGenerator.cpp Thu Dec  8 10:57:04 2016<br class="gmail_msg">
@@ -110,7 +110,9 @@ dwarfgen::DIE dwarfgen::CompileUnit::get<br class="gmail_msg">
 /// dwarfgen::Generator implementation.<br class="gmail_msg">
 //===----------------------------------------------------------------------===//<br class="gmail_msg">
<br class="gmail_msg">
-dwarfgen::Generator::Generator() : Abbreviations(Allocator) {}<br class="gmail_msg">
+dwarfgen::Generator::Generator()<br class="gmail_msg">
+    : MAB(nullptr), MCE(nullptr), MS(nullptr), StringPool(nullptr),<br class="gmail_msg">
+      Abbreviations(Allocator) {}<br class="gmail_msg">
 dwarfgen::Generator::~Generator() = default;<br class="gmail_msg">
<br class="gmail_msg">
 llvm::Expected<std::unique_ptr<dwarfgen::Generator>><br class="gmail_msg">
@@ -201,7 +203,7 @@ llvm::Error dwarfgen::Generator::init(Tr<br class="gmail_msg">
   MC->setDwarfVersion(Version);<br class="gmail_msg">
   Asm->setDwarfVersion(Version);<br class="gmail_msg">
<br class="gmail_msg">
-  StringPool.reset(new DwarfStringPool(Allocator, *Asm, StringRef()));<br class="gmail_msg">
+  StringPool = new DwarfStringPool(Allocator, *Asm, StringRef());<br class="gmail_msg">
<br class="gmail_msg">
   return Error::success();<br class="gmail_msg">
 }<br class="gmail_msg">
<br class="gmail_msg">
Modified: llvm/trunk/unittests/DebugInfo/DWARF/DwarfGenerator.h<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/DebugInfo/DWARF/DwarfGenerator.h?rev=289070&r1=289069&r2=289070&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/DebugInfo/DWARF/DwarfGenerator.h?rev=289070&r1=289069&r2=289070&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- llvm/trunk/unittests/DebugInfo/DWARF/DwarfGenerator.h (original)<br class="gmail_msg">
+++ llvm/trunk/unittests/DebugInfo/DWARF/DwarfGenerator.h Thu Dec  8 10:57:04 2016<br class="gmail_msg">
@@ -170,7 +170,7 @@ class Generator {<br class="gmail_msg">
   MCStreamer *MS;     // Owned by AsmPrinter<br class="gmail_msg">
   std::unique_ptr<TargetMachine> TM;<br class="gmail_msg">
   std::unique_ptr<AsmPrinter> Asm;<br class="gmail_msg">
-  std::unique_ptr<DwarfStringPool> StringPool;<br class="gmail_msg">
+  DwarfStringPool *StringPool; // Owned by Allocator<br class="gmail_msg">
   std::vector<std::unique_ptr<CompileUnit>> CompileUnits;<br class="gmail_msg">
   BumpPtrAllocator Allocator;<br class="gmail_msg">
   DIEAbbrevSet Abbreviations;<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
_______________________________________________<br class="gmail_msg">
llvm-commits mailing list<br class="gmail_msg">
<a href="mailto:llvm-commits@lists.llvm.org" class="gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a><br class="gmail_msg">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br class="gmail_msg">
</blockquote></div>