RFC: Enabling -DECM_ENABLE_SANITIZERS='address' in jenkins

Milian Wolff mail at milianw.de
Mon Sep 28 15:41:58 BST 2015


On Friday, September 25, 2015 11:35:35 PM CEST Albert Astals Cid wrote:
> El Divendres, 25 de setembre de 2015, a les 05:15:35, Milian Wolff va
> 
> escriure:
> > On Montag, 21. September 2015 20:29:32 CEST Albert Astals Cid wrote:
> > > El Dijous, 10 de setembre de 2015, a les 22:36:10, Albert Astals Cid va
> > 
> > escriure:
> > > > We have this nice ECM module that gives us the option to compile with
> > > > ASAN.
> > > > 
> > > > I'd like to propose that we enable it by default in jenkins.
> > > > 
> > > > This way we get all the autotests run with ASAN and potentially catch
> > > > more
> > > > bugs/regressions.
> > > > 
> > > > Comments?
> > > 
> > > This has now been commited.
> > > 
> > > https://quickgit.kde.org/?p=sysadmin%2Fci-builder-tools.git&a=commit&h=5
> > > e4
> > > f2 e673c902e9d3b09aeffe56c20838918c681
> > > 
> > > Watch out for tests failing, let's hope it doesn't find anything bad :D
> > 
> > \o/
> > 
> > Thanks for taking the initiative here, Albert! Much appreciated!
> > 
> > Also, did you think of additionally enabling UBSan where available? It can
> > be combined with ASan and should thus find even more issues in our
> > codebase!
> 
> I've never tried the undefined sanitizer so can't comment on how "correct"
> or "pedantic" its checks are.
> 
> Have you? What's your opinion on it?

Yes, it works nicely for the simple examples I've tried, see also:

http://developerblog.redhat.com/2014/10/16/gcc-undefined-behavior-sanitizer-ubsan/

> Also it seems it doesn't really crash(stop the app like asan does, so it
> would not be of much use unless someone spends lots of time parsing the
> tests logs, no?

It could either be scripted, or we can try to pass -fno-sanitize-recover, 
which should make it crash instantly on the first error (indeed, it does in my 
test).

Bye
-- 
Milian Wolff
mail at milianw.de
http://milianw.de




More information about the kde-core-devel mailing list