[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-frameworks-devel
Subject:    Re: Regression in Frameworks - DBus Hangs
From:       Ben Cooksley <bcooksley () kde ! org>
Date:       2018-11-12 9:52:17
Message-ID: CA+XidOFfqBvG3p4MJdCu3YniSzX7Q1JakWoEKjyA2uwhCZuOzg () mail ! gmail ! com
[Download RAW message or body]

On Mon, Nov 12, 2018 at 7:27 AM David Edmundson
<david@davidedmundson.co.uk> wrote:
> 
> I ran the test locally which passed, then left it for someone else as:
> - I can't reproduce locally.
> - There are absolutely no logs on build.k.o to give a clue.
> - I have no access to build.k.o to do anything (AFAIK).
> - Even the phab ticket cited in the commit that disables the test is not accessible \
> to the public.

I see. Had I received a response saying "I can't reproduce this" then
we could have gone further in this.
From my perspective though it looks like nobody has even looked into
this at all as i've no way of knowing if people have read it or tried
to do something about it.
Knowing that others can't reproduce it locally is important and makes
quite the difference.

In this instance I hoped someone would know of a behaviour change they
introduced around D-Bus or application shutdown stuff, particularly
given the time window i'd provided.

> 
> I imagine the majority of people on this list is in the same situation. I don't \
> know what can be realistically expected. It's quite a jump to go from that to \
> saying people don't check emails. 
> David

Based on this i've run some additional diagnostics on a CI worker this
evening, and based on my reading of the test code it would appear that
the culprit is Konsole no longer exiting when it's last window is
closed. Konsole's code didn't change at all between the test working
and it breaking, which indicates this is a Frameworks regression.

The test does this:

    QDBusInterface iface(_interfaceName,
                         QStringLiteral("/konsole/MainWindow_1"),
                         QStringLiteral("org.qtproject.Qt.QWidget"));
    QVERIFY2(iface.isValid(), "Unable to get a dbus interface to Konsole!");

    QDBusReply<void> instanceReply = iface.call(QStringLiteral("close"));

Which indeed results in the Window closing, at least as far as D-Bus
is concerned:

jenkins@0f9cdb19eeb8:/home/jenkins/konsole> qdbus org.kde.konsole-3065
/
/KBookmarkManager
/KBookmarkManager/konsole
/MainApplication
/org
/org/kde
/org/kde/konsole

I also confirmed this by taking a screenshot of the Xvfb instance
being used by this session, which showed nothing but black -
confirming the window was indeed closed.

Instructing Konsole to close by running "qdbus org.kde.konsole-3065
/MainApplication quit" caused the test to finish (as expected).

Thoughts anyone?

Regards,
Ben


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic