[Bug 1213156] New: systemd-xdg-autostart-generator cannot start several existing desktop files in Leap 15.5
https://bugzilla.suse.com/show_bug.cgi?id=1213156 Bug ID: 1213156 Summary: systemd-xdg-autostart-generator cannot start several existing desktop files in Leap 15.5 Classification: openSUSE Product: openSUSE Distribution Version: Leap 15.5 Hardware: Other OS: Other Status: NEW Severity: Major Priority: P5 - None Component: Basesystem Assignee: screening-team-bugs@suse.de Reporter: ftake@geeko.jp QA Contact: qa-bugs@suse.de Target Milestone: --- Found By: --- Blocker: --- This report is created in order to summarize related report caused by the same issues of systemd-xdg-autostart-generator in 15.5. systemd-xdg-autostart-generator is a mechanism to start XDG autostart (e.g., /etc/xdg/autostart) instead of desktop environments. In Leap 15.5, KDE plasma started to use this mechanism. However, due to the following problems, xdg-autostart-generator cannot start desktop files derived from Leap 15.4. Some essential services including IBus does not work in 15.5 (#1211977). * systemd-xdg-autostart-generator inappropriately ignores desktop files with X-GNOME-Autostart-Phase (#1201728) [1] * systemd-xdg-autostart-generator cannot start process that forks another process [2, 3, 4] [1] https://github.com/systemd/systemd/issues/18791 (resolved) [2] https://bugs.kde.org/show_bug.cgi?id=433299 [3] https://github.com/systemd/systemd/pull/20813 (merged) [4] https://github.com/systemd/systemd/issues/27919 (unresolved) FYI: Upstream bug tracker related xdg-autostart https://github.com/systemd/systemd/labels/xdg-autostart Some other fixes also might be necessary for 15.5 -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1213156 Fuminobu Takeyama <ftake@geeko.jp> changed: What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://bugzilla.opensuse.o | |rg/show_bug.cgi?id=1211336 -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1213156 https://bugzilla.suse.com/show_bug.cgi?id=1213156#c2 Franck Bui <fbui@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |fbui@suse.com --- Comment #2 from Franck Bui <fbui@suse.com> --- Well backporting new features should be done in last resort and I'm not sure we want to backport the new ExitType= setting at that point. Did I get right that it's now needed in leap 15.5 because KDE, after being upgraded, relies on features that are actually not supported by the version of systemd used by Leap ? -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1213156 Franck Bui <fbui@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |fvogt@suse.com -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1213156 https://bugzilla.suse.com/show_bug.cgi?id=1213156#c3 Fabian Vogt <fabian@ritter-vogt.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |fabian@ritter-vogt.de --- Comment #3 from Fabian Vogt <fabian@ritter-vogt.de> --- (In reply to Michael Hirmke from comment #1)
Same/simliar problem here - system is Tumbleweed with latest snapshots installed. The problem first appeared with one of the latest snapshots.
This sounds unrelated. Plasma in TW has been using systemd boot for several months now. (In reply to Franck Bui from comment #2)
Did I get right that it's now needed in leap 15.5 because KDE, after being upgraded, relies on features that are actually not supported by the version of systemd used by Leap ?
Not features, only bugfixes. Apparently one of the bugfixes needs a new feature though? -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1213156 https://bugzilla.suse.com/show_bug.cgi?id=1213156#c4 --- Comment #4 from Fuminobu Takeyama <ftake@geeko.jp> --- It is a design-level bug. So they could not fix it without introducing ExitType=cgroup. My patch for [4] have been merged by the upstream: [4] https://github.com/systemd/systemd/issues/27919 It seems systemd with those patches working well on my environment. https://github.com/openSUSE/systemd/pull/79 -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1213156 https://bugzilla.suse.com/show_bug.cgi?id=1213156#c10 --- Comment #10 from Fuminobu Takeyama <ftake@geeko.jp> ---
Well this should have been discussed *before* upgrading KDE (or whatever) in Leap 15.5.
Indeed. I never thought xdg-autostart-generator is introduced for Leap 15.5 since I opened related tickets for Tumbleweed last year and those problems has not been resolved completely.
The risk of regressions is quite limited I have to admit but you're introducing extra stuff that will need to be fully supported in existing
The ExitType is a "feature" only for xdg-autostart-generator for now. As far as I read the code, the added logic is well from the other part, so I personally thought there might be a chance to back port those changed as a security patch. If it is difficult to fix this issue in systemd side, the next approach would be reverting the related changes in KDE side. https://github.com/KDE/plasma-workspace/commit/cb0d2459f5a7fab075ded1488ae4a... It seems that Cinnamon in Leap 15.5 is old and does not use xdg-autostart-generator apparently. I hope there is no other DEs using it. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1213156 https://bugzilla.suse.com/show_bug.cgi?id=1213156#c11 --- Comment #11 from Fuminobu Takeyama <ftake@geeko.jp> --- I also applied a patch to plasma5-workspace to revert systemdBoot. https://build.opensuse.org/package/show/home:ftake:branches:openSUSE:Backpor... -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1213156 https://bugzilla.suse.com/show_bug.cgi?id=1213156#c17 --- Comment #17 from Fuminobu Takeyama <ftake@geeko.jp> --- (In reply to Franck Bui from comment #16)
(In reply to Fabian Vogt from comment #15)
We'd run the older and meanwhile untested code in Plasma instead and systemd .user units would change behaviour. IMO a bigger chance of causing regressions than taking the systemd backports.
I'm not sure. My main concern currently is this commit: https://github.com/systemd/systemd/commit/ ef4300654e70e76ed74f7d544e0f44c5d92fb698
It modifies core part of PID1, it's very recent and thus haven't been tested broadly yet.
The other backported commits are limited to the xdg-autostart-generator, so the risk of regression is pretty limited.
s->exit_type == SERVICE_EXIT_MAIN is always true for all the existing services. I'm wondering reverting Plasma is a better approach in terms of stability; the conventional kdeinit code has been used long years while xdg-autostart-generator seems to require more integration tests. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1213156 Daniel Noga <noga.dany@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |noga.dany@gmail.com -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1213156 Fuminobu Takeyama <ftake@geeko.jp> changed: What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://bugzilla.opensuse.o | |rg/show_bug.cgi?id=1211977 -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1213156 https://bugzilla.suse.com/show_bug.cgi?id=1213156#c24 Udo Lubich <bugzilla@lubich.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bugzilla@lubich.com --- Comment #24 from Udo Lubich <bugzilla@lubich.com> --- (In reply to Fuminobu Takeyama from comment #23)
We can test it without recompile by creating: ~/.config/startkderc and write the following to the file.
``` [General] systemdBoot=false ```
It works fine on all my systems. Thanks. greetings Udo -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1213156 https://bugzilla.suse.com/show_bug.cgi?id=1213156#c26 --- Comment #26 from Fuminobu Takeyama <ftake@geeko.jp> --- Instead of manually creating the file above, you can also run the following command: ``` kwriteconfig5 --file startkderc --group General --key systemdBoot false ``` Shell we revert the setting of Plasma to resolve this issue for 15.5? I would not keep the current situation anymore where essential features like text input are broken. The setting is supported by the upstream for a while; it is still configurable. Furthermore some people here have tested this old style. Again, fixed package is ready: https://build.opensuse.org/package/show/home:ftake:branches:openSUSE:Backpor... Please note that we also have to resolve in systemd side too by the release of 15.6 or later; other desktop environments other than KDE might start to use it. Please consider update systemd in Tumbleweed to v254, which is shipped with my patch to fix this issue. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1213156 https://bugzilla.suse.com/show_bug.cgi?id=1213156#c28 --- Comment #28 from Fuminobu Takeyama <ftake@geeko.jp> --- (In reply to Fabian Vogt from comment #27)
AFAIK GNOME already uses it...
As far as I checked on Tumbleweed, it has not been enabled yet. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1213156 https://bugzilla.suse.com/show_bug.cgi?id=1213156#c29 --- Comment #29 from OBSbugzilla Bot <bwiedemann+obsbugzillabot@suse.com> --- This is an autogenerated message for OBS integration: This bug (1213156) was mentioned in https://build.opensuse.org/request/show/1110022 Backports:SLE-15-SP5 / plasma5-workspace -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1213156 Paul Tannington <paul.pgp-7@gmx.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |paul.pgp-7@gmx.com -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1213156 https://bugzilla.suse.com/show_bug.cgi?id=1213156#c32 Nick Dordea <ndordea@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ndordea@gmail.com --- Comment #32 from Nick Dordea <ndordea@gmail.com> --- Hi, Same problem/issues ... I just upgraded [ dup ] from leap 15.4 to 15.5 . The dup went fine without any problem. The system booted to 15.5 ... However I realized that ALL desktop definitios were changed from command line to environmental variable program arguments path An old command sleep 20s && /path/bash-shell.sh was changed to program sleep arguments 180s '&&' /path/bash/-shell.sh path Executing it fails with with Plasma workspace execvp: Exec format error The autostart entries complain due to syntactic errors and some of them do not start ..... Lots of messages via journalctl .... like Oct 07 08:29:27 <user-domain>.dom systemd-xdg-autostart-generator[5580]: /home/<userid>/.config/autostart/ org.kde.kontact.desktop:13: Unknown key name 'SingleMainWindow' in section 'Desktop Entry', ignoring. Oct 07 08:29:27 <user-domain>.dom systemd-xdg-autostart-generator[5580]: /home/<userid>/.config/autostart/org.kde.kontact.desktop:16: Unknown key name 'TerminalOptions' in section 'Desktop Entry', ignoring. Oct 07 08:29:27 <user-domain>.dom systemd-xdg-autostart-generator[5580]: /home/<userid>/.config/autostart/pia-client.desktop:14: Unknown key name 'TerminalOptions' in section 'Desktop Entry', ignoring. Oct 07 08:29:27 <user-domain>.dom systemd-xdg-a How should be done to get the old entries like /abc/bash-shell.sh argument & path to be converted to the new 15.5 system ? It is any way to go back to the Good Old desktop/autostart rules ? Thanks, ND -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1213156 https://bugzilla.suse.com/show_bug.cgi?id=1213156#c33 --- Comment #33 from Fuminobu Takeyama <ftake@geeko.jp> ---
sleep 20s && /path/bash-shell.sh
That's invalid. Only a command or a path to executable is allowed in Exec https://specifications.freedesktop.org/desktop-entry-spec/latest/ar01s07.htm... The recommended way is to move that shell expression into a new shell script. But you can switch back to the old mechanism as I mentioned before by systemdBoot=false. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1213156 https://bugzilla.suse.com/show_bug.cgi?id=1213156#c35 --- Comment #35 from Fuminobu Takeyama <ftake@geeko.jp> --- (In reply to Nick Dordea from comment #34)
sleep 20s && /path/bash-shell.sh worked on 15.4 it fails on 15.5 . Why ?
KDE's own, traditional autostart (Leap 15.4 or sysetemdBoot=false) does run such a script against the specification of desktop files. And the new implementation of XDG autostart provided by systemd is strict, and it does not accept invalid desktop files anymore.
It seems that the testing/QA did not include a [successful] regression phase to make sure that the existing code is not broken .
i.e. regression testing is important because it helps reduce the risk of breaking existing functionality when making changes to the software/system.
I think so too. And even some valid desktop files does not work on Leap 15.5, which is the main topic of this report.
Question : the upgrade 15.4 to 15.5 changed/"upgraded" a lot of existing Boot15.4 desktop / autostart settings/definitions to accommodate the new 15.5 methods.
Does sysetemdBoot=false accept the new-15.5-type settings/definitions OR we have to change 15.5 settings/definitions back to 15.4 rules ?
Sorry, I cannot catch the point. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1213156 https://bugzilla.suse.com/show_bug.cgi?id=1213156#c38 --- Comment #38 from Nick Dordea <ndordea@gmail.com> --- (In reply to Franck Bui from comment #36)
Given that Leap 15.6 has been released for several months now and it runs systemd v254, can we close this bug ?
The autostart failures still happen in 15.6 . The new solution did not take in consideration that many users will/are affected. The solution of closing the bug is the simplest for developers ; however for us the users closing the bug is similar to HANG TO DRY [ i.e. leaving us in a hopeless situation ...] I do not get why the developers ask us to approve closing the bug ? The developers are always right ..... no regression no thorough QA ...close the bug. ND -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@suse.com