Created attachment 118782 [details] ksplashqml: Quit on first call to setStage with stage == 6. As far as I see the dbus interface setStage is called with 6 different strings. These get stored in m_stages and an setStage overload is called with the number of elements in m_stages. When setStage is called with parameter stage==6 another it gets not into the closing path immediately because another setStage call is needed for some reason. I could not find a reason for the need of this second setStage call and therefore want to ask if the assignment has really to be done before the check "m_stage == 6"? With this I get the ksplashqml appearance of less than 5 seconds instead of 30. The second attached patch was used to get some logging from ksplashqml. Operating System: Debian GNU/Linux KDE Plasma Version: 5.14.5 Qt Version: 5.11.3 KDE Frameworks Version: 5.54.0 Kernel Version: 4.19.0-2-amd64 OS Type: 64-bit Processors: 16 × AMD Ryzen 7 1700 Eight-Core Processor Memory: 15.5 GiB of RAM
Created attachment 118783 [details] ksplashqml: Add some logging to get details when stages were reached.
Is this still an issue or just a symptom of Bug 405444?
(In reply to Kai Uwe Broulik from comment #2) > Is this still an issue or just a symptom of Bug 405444? I think both are two distinct issues: - in 405444 we are just collecting 5 different elements in m_stages and therefore the most we reach is a call setStage(5) and never enter the exit path. - in 405446 we reach setStage(6), but need any other call setStage(int) following to enter the exit path. But there might be a reason for that ordering in setStage(int) that I may have overlooked. E.g. two dbus calls setStage("desktop") are expected to be received? Therefore I am less sure about 405446.
I'm having the following stages here: 1: initial - set by ksplash initially 2: kcminit - sent by kcminit_startup 3: kinit - run by startkde script via qdbus 4: ksmserver - sent by ksmserver when it starts 5: wm - sent by KWin 6: ready - sent my ksmserver when it finishes session restore and what not 7: desktop - sent my plasmashell ← at this point m_stage is 6 (is checked before incrementing and ksplash quits)
Hello Kai Uwe Broulik, thats strange because I could get with my patches applied just the 6 stages mentioned in the comment in [1]. Also the comment of the lastest git version just mentions these 6. So the comment might be incomplete and I have to investigate why I don't get the "kcminit" stage? At a first sight I don't see a failure of kcminit_startup - I will have a look and report back. [1] https://sources.debian.org/src/plasma-workspace/4:5.14.5.1-1/ksplash/ksplashqml/splashapp.cpp/#L40 [2] https://cgit.kde.org/plasma-workspace.git/tree/ksplash/ksplashqml/splashapp.cpp#n40
Comment on attachment 118783 [details] ksplashqml: Add some logging to get details when stages were reached. Better version added to #405444.
Hello Kai Uwe Broulik, with the patch from #405444 I now receive that missing "kcminit" stage. Maybe that stage "kcminit" arrives even before the "kinit" and got lost because of the not yet up dbus interface. So this issue might be just closed. Still adding that stage "kcminit" to the comment in splashapp.cpp might be an improvement. Kind regards, Bernhard
Comment on attachment 118782 [details] ksplashqml: Quit on first call to setStage with stage == 6. Moving the assignment is not correct as there are really 7 stages.
*** This bug has been marked as a duplicate of bug 405444 ***
> Still adding that stage "kcminit" to the comment in splashapp.cpp might be an improvement. Agreed: https://phabricator.kde.org/D19801
Git commit f899ccdc0fa3e28dd614c06f297d1d5fccceeb67 by Kai Uwe Broulik. Committed on 16/03/2019 at 11:27. Pushed by broulik into branch 'master'. [KSplashQML] Update stages comment and make code clearer There's an kcminit stage that wasn't documented. Also change m_stage and then check it so the number here matches the number of stages in the comment. Differential Revision: https://phabricator.kde.org/D19801 M +4 -4 ksplash/ksplashqml/splashapp.cpp https://commits.kde.org/plasma-workspace/f899ccdc0fa3e28dd614c06f297d1d5fccceeb67