Bug 47329 - Циклическая зависимость сервисов systemd
Summary: Циклическая зависимость сервисов systemd
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: spice-vdagent (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 major
Assignee: Alexey Shabalin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-08-23 16:20 MSK by Anton Golubev
Modified: 2023-09-11 16:05 MSK (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anton Golubev 2023-08-23 16:20:11 MSK
В версии 0.22.1-alt1, описании юнита spice-vdagent.service была указана явная зависимость от graphical-session.target, и, видимо, из-за этого при запуске KDE в системном журнале стали появляться предупреждения типа:

plasma-workspace.target: Found ordering cycle on plasma-xembedsniproxy.service/start
plasma-workspace.target: Found dependency on plasma-core.target/start
plasma-workspace.target: Found dependency on spice-vdagent.service/start
plasma-workspace.target: Found dependency on graphical-session.target/start
plasma-workspace.target: Found dependency on plasma-workspace.target/start
plasma-workspace.target: Job plasma-xembedsniproxy.service/start deleted to break ordering cycle starting with plasma-workspace.target/start
plasma-workspace.target: Found ordering cycle on plasma-core.target/start
plasma-workspace.target: Found dependency on spice-vdagent.service/start
plasma-workspace.target: Found dependency on graphical-session.target/start
plasma-workspace.target: Found dependency on plasma-workspace.target/start
plasma-workspace.target: Job spice-vdagent.service/start deleted to break ordering cycle starting with plasma-workspace.target/start

Как видно из лога, соответствующие юниты не запускаются. Недетерминированным образом до исключения spice-vdagent могут отключаться разные юниты, бывают более тяжелые случаи:

plasma-workspace.target: Found ordering cycle on plasma-polkit-agent.service/start
plasma-workspace.target: Found dependency on plasma-core.target/start
plasma-workspace.target: Found dependency on spice-vdagent.service/start
plasma-workspace.target: Found dependency on graphical-session.target/start
plasma-workspace.target: Found dependency on plasma-workspace.target/start
plasma-workspace.target: Job plasma-polkit-agent.service/start deleted to break ordering cycle starting with plasma-workspace.target/start
plasma-workspace.target: Found ordering cycle on plasma-powerdevil.service/start
plasma-workspace.target: Found dependency on plasma-core.target/start
plasma-workspace.target: Found dependency on spice-vdagent.service/start
plasma-workspace.target: Found dependency on graphical-session.target/start
plasma-workspace.target: Found dependency on plasma-workspace.target/start
plasma-workspace.target: Job plasma-powerdevil.service/start deleted to break ordering cycle starting with plasma-workspace.target/start
plasma-workspace.target: Found ordering cycle on plasma-gmenudbusmenuproxy.service/start
plasma-workspace.target: Found dependency on plasma-core.target/start
plasma-workspace.target: Found dependency on spice-vdagent.service/start
plasma-workspace.target: Found dependency on graphical-session.target/start
plasma-workspace.target: Found dependency on plasma-workspace.target/start
plasma-workspace.target: Job plasma-gmenudbusmenuproxy.service/start deleted to break ordering cycle starting with plasma-workspace.target/start
plasma-workspace.target: Found ordering cycle on plasma-core.target/start
plasma-workspace.target: Found dependency on spice-vdagent.service/start
plasma-workspace.target: Found dependency on graphical-session.target/start
plasma-workspace.target: Found dependency on plasma-workspace.target/start
plasma-workspace.target: Job spice-vdagent.service/start deleted to break ordering cycle starting with plasma-workspace.target/start

Например в данном случае не запустился plasma-polkit-agent, поэтому сломалось повышение привилегий через полкит в KDE.

Всвязи с тем, что всегда после отключения именно spice-vdagent перестают появляться новые ошибки, я связываю проблему с этим юнитом.
Comment 1 Sergey V Turchin 2023-09-08 12:11:00 MSK
Может накрыть медным тазом загрузку любого сервиса при старте пользовательской сессии.
Например, в одном случае это был powerdevil, что херит управление питанием и яркостью экрана.

Нужно заменить в
/usr/lib/systemd/user/spice-vdagent.service
строку
After=graphical-session.target
на
PartOf=graphical-session.target
Comment 2 Sergey V Turchin 2023-09-08 12:12:56 MSK
> Нужно заменить в
> /usr/lib/systemd/user/spice-vdagent.service
> строку
> After=graphical-session.target
> на
> PartOf=graphical-session.target
Секцию Install можно убрать совсем тогда.
Comment 3 Repository Robot 2023-09-11 16:05:48 MSK
spice-vdagent-1:0.22.1-alt1.1 -> sisyphus:

 Mon Sep 11 2023 Sergey V Turchin <zerg@altlinux> 1:0.22.1-alt1.1
 - NMU: fix systemd user session startup loop (closes: 47329)