Bug 47329

Summary: Циклическая зависимость сервисов systemd
Product: Sisyphus Reporter: Anton Golubev <golubevan>
Component: spice-vdagentAssignee: Alexey Shabalin <shaba>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: major    
Priority: P5 CC: jenya, rider, shaba, zerg
Version: unstable   
Hardware: x86_64   
OS: Linux   

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)