The return of ASAN issues

Milian Wolff mail at milianw.de
Thu Jun 2 09:27:48 UTC 2016


On Dienstag, 31. Mai 2016 18:49:29 CEST Ben Cooksley wrote:
> On Tue, May 31, 2016 at 9:36 AM, Albert Astals Cid <aacid at kde.org> wrote:
> > El dilluns, 30 de maig de 2016, a les 19:42:38 CEST, Ben Cooksley va 
escriure:
> >> Hi all,
> >> 
> >> As you may recall, some time ago the CI scripts were adapted to
> >> forcibly inject ASAN into all test processes launched on the CI system
> >> to fix Marble's tests, as Marble does not use ECM and thus does not
> >> enable ASAN as a result.
> >> 
> >> Unfortunately this has bad effects with certain processes,
> >> particularly Java based ones. This causes the tests of other projects
> >> to fail as a result with segmentation faults, as they're incompatible
> >> with forced ASAN injection - they have to actually be built with ASAN
> >> for it to work.
> >> 
> >> Can someone please investigate another solution?
> > 
> > I know it's a workaround, but given Marble is a bit of an unique snowflake
> > in that it doesn't want to use ECM because it adds 0.3MB of dependencies,
> > can't we just apply the LD_PRELOAD workaround on the "marble" job level
> > (afaik we can do those things)?
> 
> With a maintenance cost. But yes, it could be done.
> 
> > What you suggest would be superb correct-ness wise but it doesn't seem the
> > more effort/result solution.
> 
> It would also fix anyone who has compiled Frameworks with ASAN and
> needs to use a build system from elsewhere which does not use ECM
> (Such as QMake for instance, although why you'd use ASAN in Frameworks
> and not your app is another thing altogether of course)

I don't think we should support such a configuration. ASAN and the other 
sanitizers are picky, and if someone wants to do something special (like only 
enabling it for part of the stack) should be on his own.

Btw, QMake is also a non-argument. If you run ASAN then you also want to run 
against a Qt configured with `-sanitize address`, otherwise you'll potentially 
miss out on a lot of issues in typical Qt applications. Once you have that 
QMake should pick it up, or you can easily enable it for QMake via

    CONFIG += sanitizer sanitize_address

Bye

-- 
Milian Wolff
mail at milianw.de
http://milianw.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-buildsystem/attachments/20160602/6fb3432a/attachment.sig>


More information about the Kde-buildsystem mailing list