[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Grosse fatigue



BERTRAND Joël <joel.bertrand@systella.fr> wrote on 23/09/2022 at 10:31:52+0200:

> Pierre-Elliott Bécue a écrit :
>> Une ligne de log, quelque chose qui montre que systemd a bien tué X
>> et éventuellement pourquoi, ou bien on est juste sur yet another
>> mail de baseless FUD?
>
> Sep 23 08:49:31 hilbert systemd[1]: Stopping User Manager for UID 0...
> Sep 23 08:49:31 hilbert systemd[577146]: Activating special unit Exit
> the Session...
> Sep 23 08:49:31 hilbert systemd[577146]: Removed slice User Core
> Session Slice.
> Sep 23 08:49:31 hilbert systemd[577146]: Stopped target Main User Target.
> Sep 23 08:49:31 hilbert systemd[577146]: Stopped target Basic System.
> Sep 23 08:49:31 hilbert systemd[577146]: Stopped target Paths.
> Sep 23 08:49:31 hilbert systemd[577146]: Stopped target Sockets.
> Sep 23 08:49:31 hilbert systemd[577146]: Stopped target Timers.
> Sep 23 08:49:31 hilbert systemd[577146]: Closed D-Bus User Message Bus
> Socket.
> Sep 23 08:49:31 hilbert systemd[577146]: Closed GnuPG network
> certificate management daemon.
> Sep 23 08:49:31 hilbert systemd[577146]: Closed Socket to launch
> DrKonqi for a systemd-coredump crash.
> Sep 23 08:49:31 hilbert systemd[577146]: Closed GCR ssh-agent wrapper.
> Sep 23 08:49:31 hilbert systemd[577146]: Closed GNOME Keyring daemon.
> ...
> Sep 23 08:49:31 hilbert systemd[577146]: Reached target Shutdown.
> Sep 23 08:49:31 hilbert systemd[577146]: Finished Exit the Session.
> Sep 23 08:49:31 hilbert systemd[577146]: Reached target Exit the Session.
> Sep 23 08:49:31 hilbert systemd[1]: user@0.service: Deactivated
> successfully.
> Sep 23 08:49:31 hilbert systemd[1]: Stopped User Manager for UID 0.
> Sep 23 08:49:31 hilbert systemd[1]: Stopping User Runtime Directory
> /run/user/0...
> Sep 23 08:49:31 hilbert systemd[1]: run-user-0.mount: Deactivated
> successfully.
> Sep 23 08:49:31 hilbert systemd[1]: user-runtime-dir@0.service:
> Deactivated successfully.
> Sep 23 08:49:31 hilbert systemd[1]: Stopped User Runtime Directory
> /run/user/0.
> Sep 23 08:49:31 hilbert systemd[1]: Removed slice User Slice of UID 0.
> ...

Ok, donc systemd ne tue pas X. systemd met un terme à la session de
root. La raison est que systemd détermine au moment où il le fait que le
dernier processus interactif (c'est-à-dire contrôlé par un utilisateur)
a terminé, et par défaut dans ce cas, il clos la session, et termine
donc tout programme lancé depuis cette session (logique, ça évite que
des trucs traînent ad-vitam comme résidus d'une session interactive).

Dans la mesure où tu as a priori une session graphique qui tourne, c'est
effectivement surprenant, mais il est possible (vu que tu ne postes que
les logs qui t'intéressent, qui ne sont pas forcément les logs
pertinents) que ta session utilisateur meure pour une raison ou une
autre et qu'en conséquence, systemd considère qu'il n'y a plus aucun
programme interactif qui tourne.

Il y a une façon d'éviter que systemd ferme une session en cas de fin de
tous les programmes interactifs d'un utilisateur, via "loginctl
enable-linger $username". Ici ça ressemble à du scotch sur une jambe de
bois car cela ne t'aidera pas à comprendre ce qu'il se passe
derrière.

Creuser les logs (un cron qui se lance? ton wm qui meurt/crashe?) serait
sans doute plus pertinent, voire activer certains debugs sur certains
progs. Après l'enable-linger peut aider à voir ce qu'il se passe et
trouver le nœud du problème si c'est effectivement un programme qui
meurt (puisque dans ce cas il mourra toujours mais le reste ne sera pas
buté).

> 	Au passage, systemd va jusqu'à tuer ypbind :
>
> Sep 23 08:49:46 hilbert systemd[1]: ypbind.service: Main process
> exited

Non, systemd constate juste que ypbind a terminé, il ne le tue pas, et
n'a rien à voir avec son arrêt. C'est bien de critiquer, c'est mieux de
lire les lignes de logs que tu colles.

> 	On se demande bien pourquoi.
>
> 	Et il relance le tout comme si rien ne s'était passé (enfin, là,
> parce que par moment il tue ypbind sans le redémarrer, ce qui pose des
> problèmes amusants sur une machine diskless en NIS/NFS).

Il le relance parce qu'en cas d'arrêt inopiné, c'est ce que le service
est supposé faire.

> De toute façon, la question n'est pas là. systemd décide pour une
> raison inconnue de clôturer la session. Naturellement, il n'y a AUCUNE
> erreur avant la première ligne de log. Je veux donc me séparer à la
> fois de cette saleté qui est une brique pour essuyer les plâtres et
> d'usrmerge.

Feel free to go elsewhere, mais ici le souci c'est avant tout que tu as
décidé que c'était un bug ou un comportement inexplicable plutôt que
d'essayer de comprendre ce qu'il se passe.

Tu auras donc d'autres problèmes sur d'autres systèmes, et tu trouveras
un autre outil à blâmer.

> 	Je précise que ce genre de chose arrive tous les deux ou trois jours
> et que c'est gavant.

C'est sûr que ça doit l'être, mais c'est pas pour autant qu'il faut
devenir fainéant et juste rentrer dans le FUD. :)

-- 
PEB

Attachment: signature.asc
Description: PGP signature


Reply to: