Deadlock in kded whith Qt 5.6
David Faure
faure at kde.org
Wed Jan 20 07:55:17 UTC 2016
On Tuesday 19 January 2016 22:54:35 Thiago Macieira wrote:
> On Monday 18 January 2016 09:23:51 David Faure wrote:
> > Thiago: indeed the BlockingQueuedConnection call from messageFilter to the
> > main thread occasionnally leads to deadlocks, we need your
> > "postpone incoming messages" idea.
>
> Please try the attached patch, also found at
> https://codereview.qt-project.org/146639
Doesn't seem to support service autostart + module autoload together.
If kded5 isn't running, then
$ qdbus org.kde.kcookiejar5
works (autostart OK)
and then
$ qdbus org.kde.kcookiejar5 /modules/kcookiejar
works (module autoload OK)
but if I kill kded5 again and do this right away:
$ qdbus org.kde.kcookiejar5 /modules/kcookiejar
then it doesn't work: kded5 gets started, but the call gets this reply
Error: org.freedesktop.DBus.Error.UnknownObject
No such object path '/modules/kcookiejar'
This is obviously after reverting my BlockingQueuedConnection hacks in kded and kiod.
Same issue with kiod (who has the same logic, but starts much faster).
$ qdbus org.kde.kpasswdserver /modules/kpasswdserver
Error: org.freedesktop.DBus.Error.UnknownObject
No such object path '/modules/kpasswdserver'
$ qdbus org.kde.kpasswdserver /modules/kpasswdserver
works the second time.
The messageFilter doesn't run at all, when doing autostart+autoload together.
--
David Faure, faure at kde.org, http://www.davidfaure.fr
Working on KDE Frameworks 5
More information about the Kde-frameworks-devel
mailing list