[Insight-developers] Define _GLIBCXX_DEBUG on dashboard?

Bradley Lowekamp blowekamp at mail.nih.gov
Wed May 29 09:04:31 EDT 2013


Sean,

I am currently a little fired up to tack down more bugs.

Do you think you could configure a torture build but turn on only the Core modules? 

Brad

On May 28, 2013, at 2:41 PM, Sean McBride <sean at rogue-research.com> wrote:

> On Tue, 28 May 2013 14:16:32 -0400, Bradley Lowekamp said:
> 
>> I am looking through more gcc debug flags and I have come across a
>> couple interesting new ones with gcc 4.8:
>> 
>> -fsanitize=address
>> Enable AddressSanitizer, a fast memory error detector. Memory access
>> instructions will be instrumented to detect out-of-bounds and use-after-
>> free bugs. See http://code.google.com/p/address-sanitizer/ for more details. 
>> -fsanitize=thread
>> Enable ThreadSanitizer, a fast data race detector. Memory access
>> instructions will be instrumented to detect data race bugs. See http://
>> code.google.com/p/data-race-test/wiki/ThreadSanitizer for more details. 
>> 
>> 
>> It looks like they are ported from clang/llvm projects. They looks quite
>> useful!
>> 
>> I'd be curios if any one has tried them out in clang or gcc, and what
>> they think of them.
> 
> I have used them with clang.  They are awesome.  They are pretty bleeding edge though, and have some false positives.
> 
> 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).
> 
> Address sanitizer (asan) probably won't find too much since you already use valgrind, though asan can find overruns of stack and globals, whereas valgrind only checks heap memory.
> 
> Thread sanitizer (tsan) only works with linux right now, so I've only tried it a little bit, but it's promising.  But fixing tricky threading issues IMHO should come only after we are valgrind-, ubsan-, and asan-clean.
> 
> I'll create a 'torture' dashboard on Rogue7 and we can enable one ubsan flag at a time...
> 
> Cheers,
> 
> -- 
> ____________________________________________________________
> Sean McBride, B. Eng                 sean at rogue-research.com
> Rogue Research                        www.rogue-research.com 
> Mac Software Developer              Montréal, Québec, Canada
> 
> 



More information about the Insight-developers mailing list