<div dir="ltr"><div>We also don&#39;t have a Debug Nightly for Windows builds either. <br><br>In Debug mode, the Visual C++ Runtime Library will do checks on whether or not iterators are valid (among other things). The downside is the test suite runs awfully slow.<br>


<br></div><div>VS11 Debug is blowing up with all kinds of assertions failures. I tried to submit it to the dashboard but it seems ctest is blocked waiting for someone to click &quot;Abort&quot; on the information window so it can continue on with the next test.<br>

<br></div><div>VS11 isn&#39;t an officially supported platform at the moment, so I don&#39;t think we need to fix these for the ITK v4.4.0 release, but I think it would be nice if someone took a look it.<br>
</div></div><div class="gmail_extra"><br clear="all"><div>Ho Cheung<br>Research Assistant<br>Bio-Image Analytics Lab - University of Houston<br><a href="mailto:hocheung20@gmail.com" target="_blank">hocheung20@gmail.com</a><br>

Cell: (775) 388-2368</div>
<br><br><div class="gmail_quote">On Tue, May 28, 2013 at 1:41 PM, Sean McBride <span dir="ltr">&lt;<a href="mailto:sean@rogue-research.com" target="_blank">sean@rogue-research.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im">On Tue, 28 May 2013 14:16:32 -0400, Bradley Lowekamp said:<br>
<br>
&gt;I am looking through more gcc debug flags and I have come across a<br>
&gt;couple interesting new ones with gcc 4.8:<br>
&gt;<br>
&gt;-fsanitize=address<br>
&gt;Enable AddressSanitizer, a fast memory error detector. Memory access<br>
&gt;instructions will be instrumented to detect out-of-bounds and use-after-<br>
&gt;free bugs. See <a href="http://code.google.com/p/address-sanitizer/" target="_blank">http://code.google.com/p/address-sanitizer/</a> for more details.<br>
&gt;-fsanitize=thread<br>
&gt;Enable ThreadSanitizer, a fast data race detector. Memory access<br>
&gt;instructions will be instrumented to detect data race bugs. See http://<br>
</div>&gt;<a href="http://code.google.com/p/data-race-test/wiki/ThreadSanitizer" target="_blank">code.google.com/p/data-race-test/wiki/ThreadSanitizer</a> for more details.<br>
<div class="im">&gt;<br>
&gt;<br>
&gt;It looks like they are ported from clang/llvm projects. They looks quite<br>
&gt;useful!<br>
&gt;<br>
&gt;I&#39;d be curios if any one has tried them out in clang or gcc, and what<br>
&gt;they think of them.<br>
<br>
</div>I have used them with clang.  They are awesome.  They are pretty bleeding edge though, and have some false positives.<br>
<br>
The most mature of the -fsanitize flags is the undefined behaviour sanitizer (ubsan).  I tried enabling ubsan on my Rogue7 ITK dashboard some months ago, but they report a gazillion errors, many from GDCM and vxl.  I turned my attention to fixing VTK since its code is easier to work with (IMHO: templates=ugh).<br>


<br>
Address sanitizer (asan) probably won&#39;t find too much since you already use valgrind, though asan can find overruns of stack and globals, whereas valgrind only checks heap memory.<br>
<br>
Thread sanitizer (tsan) only works with linux right now, so I&#39;ve only tried it a little bit, but it&#39;s promising.  But fixing tricky threading issues IMHO should come only after we are valgrind-, ubsan-, and asan-clean.<br>


<br>
I&#39;ll create a &#39;torture&#39; dashboard on Rogue7 and we can enable one ubsan flag at a time...<br>
<br>
Cheers,<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
____________________________________________________________<br>
Sean McBride, B. Eng                 <a href="mailto:sean@rogue-research.com">sean@rogue-research.com</a><br>
Rogue Research                        <a href="http://www.rogue-research.com" target="_blank">www.rogue-research.com</a><br>
Mac Software Developer              Montréal, Québec, Canada<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Kitware offers ITK Training Courses, for more information visit:<br>
<a href="http://kitware.com/products/protraining.php" target="_blank">http://kitware.com/products/protraining.php</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at:<br>
<a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.itk.org/mailman/listinfo/insight-developers" target="_blank">http://www.itk.org/mailman/listinfo/insight-developers</a><br>
</div></div></blockquote></div><br></div>