<div dir="ltr">Hi,<div><br></div><div class="gmail_extra"><div class="gmail_quote">On Wed, Nov 20, 2013 at 1:49 AM, Rick Foos <span dir="ltr"><<a href="mailto:rfoos@codeaurora.org" target="_blank">rfoos@codeaurora.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>All,<br>
<br>
With many thanks to Galina for some fixes, and patience from
Dmitri (when the first patch broke his builders) the Address
Sanitizer is now up and running.<br>
<a href="http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-ubuntu-13.04-sanitize-address" target="_blank">http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-ubuntu-13.04-sanitize-address</a><br>
<br>
Two questions:<br>
1) The Address Sanitizer fails lit on <a href="http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-ubuntu-13.04-sanitize-address/builds/104/steps/test/logs/Clang%3A%3Aannotate-deep-statements.cpp" target="_blank">Clang::annotate-deep-statements.cpp</a><br>
Is there someone who would look at that?<br>
I didn't hook the buildslave to IRC yet as it would be nagging
people all day.<br>
<br>
2) I tried a similar buildbot recipe with Memory Sanitizer, and it
fails to build.<br>
I've added the recommended compile options from clang docs, and
built with clang-3.4.<br>
Is there someone maintaining memory sanitizer?<br>
<br>
Thread sanitizer with the updated recipe still fails requiring
reboot :)<br>
<br>
Thanks,<br>
Rick<br>
<br>
--- cmake<br>
<pre><span>cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS="-std=c++11 -Wdocumentation -Wno-documentation-deprecated-sync -fsanitize=memory -fno-omit-frame-pointer -fno-optimize-sibling-calls" -DLLVM_LIT_ARGS="-v" -G Ninja ../llvm.src</span></pre>
</div></div></blockquote><div><br></div><div>I suggest you to use LLVM_USE_SANITIZER CMake option. It accepts "Address", "Memory" and "MemoryWithOrigins" as values. We used it to setup our bootstrap bot at:</div>
<div><a href="http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap">http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap</a><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"><div><pre><span>
--- ninja build failure.
</span></pre>
<pre><span>[243/2193] Building CXX object tools/yaml2obj/</span><span>CMakeFiles/yaml2obj.dir/yaml2coff.cpp.o
[244/2193] Building Intrinsics.gen...
FAILED: cd /var/lib/buildbot/slaves/hexagon-build-03-exp/llvm-clang-lld-x86_64-ubuntu-13.04-fsanitize-memory/llvm.obj/include/llvm/IR && /var/lib/buildbot/slaves/hexagon-build-03-exp/llvm-clang-lld-x86_64-ubuntu-13.04-fsanitize-memory/llvm.obj/bin/llvm-tblgen -gen-intrinsic -I /var/lib/buildbot/slaves/hexagon-build-03-exp/llvm-clang-lld-x86_64-ubuntu-13.04-fsanitize-memory/llvm.src/include/llvm/IR -I /var/lib/buildbot/slaves/hexagon-build-03-exp/llvm-clang-lld-x86_64-ubuntu-13.04-fsanitize-memory/llvm.src/lib/Target -I /var/lib/buildbot/slaves/hexagon-build-03-exp/llvm-clang-lld-x86_64-ubuntu-13.04-fsanitize-memory/llvm.src/include /var/lib/buildbot/slaves/hexagon-build-03-exp/llvm-clang-lld-x86_64-ubuntu-13.04-fsanitize-memory/llvm.src/include/llvm/IR/Intrinsics.td -o /var/lib/buildbot/slaves/hexagon-build-03-exp/llvm-clang-lld-x86_64-ubuntu-13.04-fsanitize-memory/llvm.obj/include/llvm/IR/Intrinsics.gen.tmp
==63583== WARNING: MemorySanitizer: use-of-uninitialized-value
==63583==WARNING: Trying to symbolize code, but external symbolizer is not initialized!
#0 0x7fb56daa492d (/var/lib/buildbot/slaves/hexagon-build-03-exp/llvm-clang-lld-x86_64-ubuntu-13.04-fsanitize-memory/llvm.obj/bin/llvm-tblgen+0x11192d)
#1 0x7fb56da02f50 (/var/lib/buildbot/slaves/hexagon-build-03-exp/llvm-clang-lld-x86_64-ubuntu-13.04-fsanitize-memory/llvm.obj/bin/llvm-tblgen+0x6ff50)
SUMMARY: MemorySanitizer: use-of-uninitialized-value ??:0 ??
Exiting
</span><span>ninja: build stopped: subcommand failed.
</span><span>program finished with exit code 1
elapsedTime=35.473355
</span></pre><div><div class="h5">
<br>
<br>
On 11/04/2013 11:48 AM, Rick Foos wrote:<br>
</div></div></div><div><div class="h5">
<blockquote type="cite">
<div>On 11/04/2013 11:42 AM, Sean Silva
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr"><br>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Mon, Nov 4, 2013 at 11:57 AM,
Rick Foos <span dir="ltr"><<a href="mailto:rfoos@codeaurora.org" target="_blank">rfoos@codeaurora.org</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div>On 11/04/2013 10:35 AM, Shankar Easwaran
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">On
10/29/2013 6:46 PM, Dmitri Gribenko wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">On
Tue, Oct 29, 2013 at 4:34 PM, Shankar Easwaran<br>
<<a href="mailto:shankare@codeaurora.org" target="_blank">shankare@codeaurora.org</a>>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">On
10/29/2013 6:32 PM, Dmitri Gribenko wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">But
that patch adds the builders to the fast
schedule, doesn't it?..<br>
</blockquote>
Yes, can you point me to the schedule that you
want to add ?<br>
<br>
Is there a seperate category of builders where I
need to add this ?<br>
</blockquote>
Sorry, I don't have an in-depth experience of
working with zorg<br>
scripts to do something non-standard, so I don't
think I can give any<br>
concrete advice. I remember that when I was
setting up the clang_fast<br>
schedule, someone on IRC was helping me.<br>
</blockquote>
What we have been doing over the last week is to run
the clang-lld fast build, with sanitize options on
the buildbots that we have.<br>
<br>
They do run fine, except that we see very high cpu
usage (load average : 149). We used a *ninja*
environment for building and running tests.<br>
<br>
Do you have any suggestions to get a environment,
where the load average is much saner ?<br>
<br>
Ccing Rick Foos here, who was able to setup the
complete environment, if you have any questions.<br>
<br>
Thanks<br>
<br>
Shankar Easwaran<br>
<br>
</blockquote>
</div>
My thought for config was to use the existing sanitizer
category in builders.py, and add an Ubuntu 13.04 slave
to run the sanitizers.<br>
<br>
To stabilize the server, the maximum load of both ninja
and ninja running asan needs to be controlled. The
sanitizer jobs need to be serialized to avoid resource
limits on the server.<br>
<br>
First removing the nice -10's, which may have limited
what the OS could do to reduce the load.<br>
Second, ninja -j for the main build.<br>
</blockquote>
<div><br>
</div>
<div>Ninja also has a -l option which will not start new
jobs until system load falls below a set target.</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Third,
for asan, defining pools may be a way to control the
load, but pools look to be hardcoded rather than tunable
for a machine.<br>
</blockquote>
<div><br>
</div>
<div>You can always process the ninja files and add the
pools yourself. I wrote a node.js module that makes this
sort of thing trivially easy to do <<a href="https://github.com/chisophugis/ninja-build-parser" target="_blank">https://github.com/chisophugis/ninja-build-parser</a>>
(check out examples/identity.js for a 70-line
round-tripping example); just modify the rules in the
object stream to add a pool binding to the relevant
rules, and add pool declarations at th beginning
(examples/toJson.js can be used to inspect the object
format; examples/identity.js shows how all the fields
relate back to the .ninja file).</div>
<div><br>
</div>
<div>-- Sean Silva</div>
</div>
</div>
</div>
</blockquote>
Thanks, looking at it now.<br>
--Rick Foos<br>
<br>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br>
The second problem is to prevent both sanitizers from
running at the same time.<br>
<br>
Is there a scheduler method in zorg to serialize two
builders?<br>
<br>
Any thoughts on this, or suggestions on how to do this
better would be appreciated.<span><font color="#888888"><br>
<br>
-rick<br>
<br>
-- <br>
Rick Foos</font></span>
<div>
<div><br>
Qualcomm Innovation Center, Inc. is a member of Code
Aurora Forum, hosted by The Linux Foundation<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
<br>
<br>
<pre cols="72">--
Rick Foos
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation</pre>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
llvm-commits mailing list
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a>
</pre>
</blockquote>
<br>
<br>
<pre cols="72">--
Rick Foos
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation</pre>
</div></div></div>
<br>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div>Alexey Samsonov, MSK</div>
</div></div>