Notice of withdrawal of CI services: KDevelop and KDE Connect
Nicolas Fella
nicolas.fella at gmx.de
Wed Jun 16 20:09:55 BST 2021
Hi Ben,
On 16.06.21 20:28, Ben Cooksley wrote:
> Hi all,
>
> The following is notice that I intend to withdraw CI services from the
> following two KDE projects due to faults in their code or build system
> which are having a significant adverse impact on the CI system and
> negatively impacting on other projects:
>
> - KDevelop
> - KDE Connect
>
> This withdrawal will be applied to all platforms.
>
> In the case of KDevelop, it has a series of unit tests which on
> FreeBSD cause gdb to hang and consume an entire CPU core indefinitely.
> This slows down builds for all other projects using that CI server,
> and also prevents KWin tests from proceeding - completely blocking
> it's jobs. This fault is in the debuggee_slow family of tests.
>
> As this issue has persisted for some time now despite being mentioned,
> I require that the family of tests in question be disabled across all
> platforms.
>
> In the case of KDE Connect, as part of it's configure process it runs
> an external command that results in dbus-daemon being launched. This
> process persists following the build and would only be cleaned up by
> our tooling that runs tests. Should the compilation fail (as it does
> currently) it will result in the CI builder being broken - which is
> why we have had so many Windows builds fail lately.
>
> As this is an issue that has occurred previously, I require that the
> configure time check which is launching dbus-daemon to be expunged
> from KDE Connect.
>
> As a reminder to all projects, running commands that interact with
> dbus-daemon or kdeinit is not permitted during configure or build time.
>
> Regards,
> Ben Cooksley
> KDE Sysadmin
I think I know what causes the KDE Connect behavior. The CMake code
calls 'ecm_find_qmlmodule(org.kde.people 1.0)', which results a call to
'qmlplugindump org.kde.kpeople 1.0' which causes parts of the KPeople
code to be executed (PersonsModel in particular) which does some DBus
things that then trigger dbus-daemon.
As a stopgap solution to make the CI operational we can remove that
ecm_find_qmlmodule call.
In terms of a proper solution there was a recent effort to remove the
mandatory DBus dependency from KPeople on Windows
(https://invent.kde.org/frameworks/kpeople/-/merge_requests/7). Perhaps
we should instead fully disable all DBus code in KPeople on Windows
instead, given that the usefulness is questionable.
Cheers
Nico
More information about the KDevelop-devel
mailing list