Ctrl-C message displayed without any actual disk check

Bug #1880250 reported by Kees Cook on 2020-05-22
28
This bug affects 3 people
Affects Status Importance Assigned to Milestone
plymouth (Ubuntu)
Undecided
Unassigned
Focal
Undecided
Unassigned
Groovy
Undecided
Unassigned
systemd (Ubuntu)
Undecided
Unassigned
Focal
Undecided
Unassigned
Groovy
Undecided
Unassigned

Bug Description

[Impact]

 * fsck messages is shown by plymouth, despite all fscks already completed.

[Test Case]

 * Install Ubuntu Desktop with full disk encryption

 * Observe that fsck messages (press ctrl+c) is shown, and remains there on screen for a little while as plymouth transitions to gdm

 * After installing the update, observe that when fsck completes the messages are cleared and the transition to gdm is done without fsck/ctrl+c message present.

 * After this change lands in -updates, and daily desktop images are built with this, double check that casper-md5sum transition is also smooth.

[Regression Potential]

 * plymouth spinner theme is adjusted to clear the footer, at the end of fsck, even if systemd-fsckd didn't do that. At the moment there are two consumers of the fsck apis systemd-fsckd & casper-md5sum used on installed systems and live-isos respectively. If something else pushes messages to the footer, they might get cleared at the end of fsck.

[Other Info]

 * Original bug report

It seems the transition to bgrt lost something with Ubuntu's disk check details. The only thing I see on my screen during a long disk check is the "press Ctrl-C to stop all in progress disk checks" with no progress.

Steve Langasek (vorlon) on 2020-05-22
tags: added: rls-ff-incoming rls-gg-incoming
tags: added: champagne
Daniel van Vugt (vanvugt) wrote :

I've seen the message too, but am not sure there's really a disk check happening at all.

Please run this command to attach more info about the affected machine:

  apport-collect 1880250

Changed in plymouth (Ubuntu):
status: New → Incomplete
tags: removed: champagne rls-ff-incoming rls-gg-incoming
Changed in plymouth (Ubuntu Groovy):
status: Incomplete → Invalid
Changed in plymouth (Ubuntu Focal):
status: New → Invalid
tags: added: papercut
Dimitri John Ledkov (xnox) wrote :

So i think this is what happens:

systemd-fsckd starts, flashes the message on how to skip it.

Realiases there are no fscks to run, and exits, without clearing the Ctrl+C imaage.

Then we freeze that output until gdm starts.

Previously, we only flashed "Ctrl+C message" upon receiving the first update from fsck, and cleared it after fsckd exits. This is not happening anymore.

I'm not sure if fsckd is sending the wrong messages, or if plymouth is not processing them correctly.

Changed in plymouth (Ubuntu Focal):
status: Invalid → New
Changed in plymouth (Ubuntu Groovy):
status: Invalid → New
summary: - disk check progress no longer visible
+ Ctrl-C message displayed without any actual disk check
tags: added: id-5ecfd7fe4951b77bf134feed
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in plymouth (Ubuntu Focal):
status: New → Confirmed
Changed in plymouth (Ubuntu):
status: New → Confirmed
Changed in systemd (Ubuntu Focal):
status: New → Confirmed
Changed in systemd (Ubuntu):
status: New → Confirmed
tags: added: focal groovy
Dimitri John Ledkov (xnox) wrote :

Plymouth does not clear the footer at the end of fsck.

But with that fix in-place it still looks like fsckd flickers the ctrl+c message, despite not having any progress to show.

Changed in plymouth (Ubuntu Groovy):
status: Confirmed → Fix Committed
Daniel van Vugt (vanvugt) wrote :

Are you sure about that? Is the footer functionality explicitly bound to fsck or is it more general? I thought (from memory) that it was more general and therefore it's the client's job to clear it. But I'm only going from memory. Glad you fixed it.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package plymouth - 0.9.5-0ubuntu2

---------------
plymouth (0.9.5-0ubuntu2) groovy; urgency=medium

  * Clear twostep footer, at the end of fsck, and clear lingering Ctrl+C
    message LP: #1880250

plymouth (0.9.5-0ubuntu1) groovy; urgency=medium

  * New upstream version (lp: #1886886)
  * debian/control:
    - remove the intltool Build-Depends, the new version uses gettext
  * debian/patches/git-drm-improve.patch,
    debian/patches/gitlab-center-messages.patchs:
    - removed, the changes are in the new version
  * debian/libplymouth5.symbols:
    - refreshed for the new version
  * debian/patches/gitlab_correct_keynames.patch:
    - use the correct title and subtitle key names

 -- Dimitri John Ledkov <email address hidden> Wed, 12 Aug 2020 22:03:42 +0100

Changed in plymouth (Ubuntu Groovy):
status: Fix Committed → Fix Released
Dan Streetman (ddstreet) wrote :

@rbalint, @didrocks, @mbiebl, we've been carrying the systemd-fsckd custom patch for 5 years now (via Debian)...can we either get it upstreamed, or drop it? I don't think continuing to carry it ourselves is a good idea. Note that not only is there this bug, but also the systemd-fsckd autopkgtest has been regularly failing, per bug 1892358.

Didier Roche (didrocks) wrote :

This patch was worked with upstream and even merged in systemd master.
Howwever, after a month, Lennart decided to revert it because he strongly thinks that no feedback on fsck is needed because "everyone have fast SSD disks". (frustrating experience after working for a good 3 months getting upstream agreeing on the design and doing review first). Martin Pitt tried to push it again but there was no way to discuss apparently.

We decided that it wasn’t acceptable 5 years ago, especially for desktop and server users, to sit in front on a black screen for minutes in case of spinning disks because a fsck is happening without any feedback that things are progressing (with the risk of the user forcibly shutting down his machine, thinking the boot is stuck). Has anything changed in that regard?

Didier Roche (didrocks) wrote :

Note: from what I see above, the issue is on the plymouth new integration (I think it’s xnox that changed it) modifying the logic displaying the cancelling message. Maybe worth digging there?

description: updated
Michael Biebl (mbiebl) wrote :

From my personal POV, I consider the progress bar more important then the ability to interrupt fsck with CTRL+C.
Nowadays, SSDs are much more common and enable_periodic_fsck = 0 has been the default for many years now. So this is much less of an issue today then it was back in 2015, I think.

I think text-only boot (without plymouth and without quiet) has a reasonable enough progress report from fsck. Without fsckd, we'd have no progress report in plymouth and quiet text-only boots.

Michael Biebl (mbiebl) wrote :

As for text-only boot: Maybe we could convince upstream to enable verbose mode once an fsck takes longer then say 30s (similar to how the eye-of-cyclon animation kicks in when services take a long time to start). With something like that implemented, dropping fsckd might be an option, I think.

Michael Biebl (mbiebl) wrote :

Turns out, the missing fsck progress bar is a regression:
https://github.com/systemd/systemd/issues/17157

Hello Kees, or anyone else affected,

Accepted plymouth into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/plymouth/0.9.4git20200323-0ubuntu6.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in plymouth (Ubuntu Focal):
status: Confirmed → Fix Committed
tags: added: verification-needed verification-needed-focal

All autopkgtests for the newly accepted plymouth (0.9.4git20200323-0ubuntu6.1) for focal have finished running.
The following regressions have been reported in tests triggered by the package:

systemd/245.4-4ubuntu3.2 (arm64)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/focal/update_excuses.html#plymouth

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

tags: added: fr-110
Dimitri John Ledkov (xnox) wrote :

installed focal daily with LUKS and plymouth 0.9.4git20200323-0ubuntu6.1 ; i could see that on boot the ctrl+c message is there after unlock, briefly, and then cleared.

Then i downgraded to 0.9.4git20200323-0ubuntu6 and instead of brief ctrc+c message, it lingers for a lot longer until gdm3 starts.

Thus the plymouth portion of the bug is verified.

tags: added: verification-done verification-done-focal
removed: verification-needed verification-needed-focal
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.