KDE CI enforcing ECMEnableSanitizers.cmake/KDECompilerSettings.cmake?

Ben Cooksley bcooksley at kde.org
Wed Apr 27 08:45:51 BST 2016


On Wed, Apr 27, 2016 at 2:49 PM, Friedrich W. H. Kossebau
<kossebau at kde.org> wrote:
> Am Mittwoch, 27. April 2016, 01:29:06 CEST schrieb Jan Kundrát:
>> On Wednesday, 27 April 2016 01:21:22 CEST, Albert Astals Cid wrote:
>> > No, Qt5 is not built with ASAN on CI.
>
> Okay, good to know.
> (next to the failing tests I also remembered to have seen ASAN_OPTIONS
> detect_leaks=0 as env setting with the qt5 builds on CI. So that is just
> default env setup and those vars ignored otherwise, okay).
>
> Next to documenting things, can we start with some rule what gets or should be
> built with ASAN, so people know what to expect?
> I would assume: any KDE software based on C++/C. And then there might be a few
> exceptions, for whatever reasons (built screwed, incompatible, etc).

Everything that uses ECM gets built with ASAN basically.
As a general rule, most KF5 using software uses ASAN because they all use ECM.

>
>> > It is strange that your Qt5-only tests are failing, may it be that they
>> > are
>> > loading some plugin that is linked against some KF5 lib?
>
> For Marble plugins only if something is not like it should be:
> for one, the current build on CI even gets "-DQTONLY=TRUE" passed, which is
> turned into the cmake var "set(WITH_KF5 FALSE)", and all KF5 deps are looked
> for with "macro_optional_find_package(KF5 QUIET COMPONENTS something)", so
> should always yield NOT_FOUND (looking at it I found a bug which still made
> KF5DocTools to be found, but now fixed and should not have any effect on
> linking to KF5 libs).
> More, the only things being explicitely linked to KF5 libs are KF5 thumbnailer
> plugin, KRunner plugin, and the KF5-enhanced Marble app variant. So nothing
> which should be used in the tests.
>
> Ah, Phonon! That is linked by at least the RoutingPlugin. And Phonon gets
> instrumented with ASAN:
> https://build.kde.org/job/phonon%20master%20kf5-qt5/
> PLATFORM=Linux,compiler=gcc/5/console
>
> That might explain what we see currently.
>
>> Qt guesses what platform one is running on in order to blend with it. In
>> KDE and under the Plasma desktop, this involves loading
>> plugins/platformthemes/KDEPlatformTheme.so which belongs to KF5's
>> frameworkintegration.
>>
>> Is the KDE CI setting some variables which might trigger loading of these
>> plugins [edited]?
>
> Good idea, that might be indeed other intrusion path for ASAN deps.
> @Scarlett, can you tell?

Please see my other mail to Jan.

>
> Cheers
> Friedrich

Regards,
Ben




More information about the kde-core-devel mailing list