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