<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">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 class="moz-txt-link-freetext" href="http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-ubuntu-13.04-sanitize-address">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">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 class="header">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


--- ninja build failure.
</span></pre>
      <pre><span class="stdout">[243/2193] Building CXX object tools/yaml2obj/</span><span class="stdout">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 class="stdout">ninja: build stopped: subcommand failed.
</span><span class="header">program finished with exit code 1
elapsedTime=35.473355

</span></pre>
      <br>
      <br>
      On 11/04/2013 11:48 AM, Rick Foos wrote:<br>
    </div>
    <blockquote cite="mid:5277DDF5.6020202@codeaurora.org" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      <div class="moz-cite-prefix">On 11/04/2013 11:42 AM, Sean Silva
        wrote:<br>
      </div>
      <blockquote
cite="mid:CAHnXoamOLF5HKSdQ3PWTUdfHC6UdcvxDrbz6-GVCWph0Ke6fiQ@mail.gmail.com"
        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 moz-do-not-send="true"
                  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 class="im">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 moz-do-not-send="true"
                        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
                  moz-do-not-send="true"
                  href="https://github.com/chisophugis/ninja-build-parser">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
cite="mid:CAHnXoamOLF5HKSdQ3PWTUdfHC6UdcvxDrbz6-GVCWph0Ke6fiQ@mail.gmail.com"
        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 class=""><font
                    color="#888888"><br>
                    <br>
                    -rick<br>
                    <br>
                    -- <br>
                    Rick Foos</font></span>
                <div class="">
                  <div class="h5"><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 moz-do-not-send="true"
                      href="mailto:llvm-commits@cs.uiuc.edu"
                      target="_blank">llvm-commits@cs.uiuc.edu</a><br>
                    <a moz-do-not-send="true"
                      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 class="moz-signature" cols="72">-- 
Rick Foos
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
llvm-commits mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a>
</pre>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Rick Foos
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation</pre>
  </body>
</html>