Hello,
On Friday, December 23, 2022 9:48:22 AM EST Zbigniew Jędrzejewski-Szmek
wrote:
On Fri, Dec 23, 2022 at 08:09:56AM +0100, Tomasz Torcz wrote:
> On Thu, Dec 22, 2022 at 05:22:09PM -0500, Steve Grubb wrote:
> > On Thursday, December 22, 2022 1:29:29 PM EST Adam Williamson wrote:
> > > 15 seconds feels very aggressive to me. I can think of some cases,
> > > like libvirtd automatically suspending or cleanly shutting down
> > > running VMs, that might well take longer than that. Could we not go
> > > for 30 seconds? Going all the way from 90/120 down to 15 seems pretty
> > > radical.
> >
> > I run across this with some regularity. PackageKit is not installed on
> > my system. What I wished was that when there is a stall shutting
> > down, a message to the console or a dialog box explains who is holding
> > up shutdown. If we knew who was holding things up, bugs might get
> > filed.
>
> But there already is such message! First "waiting for shutdown" with
> unit name and a timer. Then, in the last phase there's also "wating for
> process:" message.
Yeah. We added printing of a lot of information in
https://github.com/systemd/systemd/commit/3889fc6fc347f0e12070f7b873d065508
c8df816:
Example output:
This is nice, but all I ever seen is a black screen and a spinning circle. No
text of any kind. If something were written to the console, how do you see
it? If stalls were detected, maybe the graphical shutdown should be suspended
so that you can see the console.
-Steve
Stopping user@1000.service...
[ OK ] Stopped dracut-shutdown.service.
[ OK ] Stopped systemd-logind.service.
[ OK ] Stopped systemd-logind.service - User Login Management.
[* ] Job user(a)1000.service/stop running (2s / 2min): (1 of 2) User job
slowstop.service/stop running (1s / 1min 30s)...
[*** ] Job
user(a)1000.service/stop running (3s / 2min): (2 of 2) User job
slowstop2.service/stop running (2s / 1min 30s)... [ ***] Job
user(a)1000.service/stop running (4s / 2min): (1 of 2) User job
slowstop.service/stop running (4s / 1min 30s)... [ *] Job
user(a)1000.service/stop running (5s / 2min): (1 of 2) User job
slowstop.service/stop running (5s / 1min 30s)... [ ***] Job
user(a)1000.service/stop running (6s / 2min): (2 of 2) User job
slowstop2.service/stop running (6s / 1min 30s)... [*** ] Job
user(a)1000.service/stop running (8s / 2min): (1 of 2) User job
slowstop.service/stop running (7s / 1min 30s)... [*** ] Job
user(a)1000.service/stop running (10s / 2min): (2 of 2) User job
slowstop2.service/stop running (9s / 1min 30s)... [ *** ] Job
user(a)1000.service/stop running (11s / 2min): (1 of 2) User job
slowstop.service/stop running (10s / 1min 30s)... [ *] Job
user(a)1000.service/stop running (12s / 2min): (2 of 2) User job
slowstop2.service/stop running (12s / 1min 30s)... [ ***] Job
user(a)1000.service/stop running (13s / 2min): (1 of 2) User job
slowstop.service/stop running (13s / 1min 30s)... [*** ] Job
user(a)1000.service/stop running (15s / 2min): (2 of 2) User job
slowstop2.service/stop running (14s / 1min 30s)... [* ] Job
user(a)1000.service/stop running (15s / 2min): (2 of 2) User job
slowstop2.service/stop running (14s / 1min 30s)... [*** ] Job
user(a)1000.service/stop running (16s / 2min): User job
slowstop.service/stop running (16s / 1min 30s)... [ ***] Job
user(a)1000.service/stop running (18s / 2min): User job
slowstop.service/stop running (17s / 1min 30s)... [ *] Job
user(a)1000.service/stop running (19s / 2min): User job
slowstop.service/stop running (18s / 1min 30s)... [ ***] Job
user(a)1000.service/stop running (20s / 2min): User job
slowstop.service/stop running (19s / 1min 30s)... [* ] Job
user(a)1000.service/stop running (22s / 2min): User job
slowstop.service/stop running (22s / 1min 30s)... [** ] Job
user(a)1000.service/stop running (30s / 2min): User job
slowstop.service/stop running (29s / 1min 30s)... [ ***] Job
user(a)1000.service/stop running (32s / 2min): User job
slowstop.service/stop running (31s / 1min 30s)... [ *] Job
user(a)1000.service/stop running (33s / 2min): User job
slowstop.service/stop running (32s / 1min 30s)... [ ***] Job
user(a)1000.service/stop running (34s / 2min): User job
slowstop.service/stop running (33s / 1min 30s)... [** ] Job
user(a)1000.service/stop running (37s / 2min): User job
slowstop.service/stop running (36s / 1min 30s)... [ *** ] Job
user(a)1000.service/stop running (41s / 2min): User job
slowstop.service/stop running (41s / 1min 30s)... [ OK ] Stopped
user(a)1000.service - User Manager for UID 1000.
Stopping user-runtime-dir(a)1000.service - User Runtime Directory
/run/user/1000...
[ OK ] Unmounted run-user-1000.mount -
/run/user/1000.
[ OK ] Stopped user-runtime-dir(a)1000.service - User Runtime Directory
/run/user/1000.
Futher ideas how to improve things are welcome… But I think that
right now
we report enough to narrow things down to system or user service that is
blocking shutdown.