spinner theme doesn't support fsckd progress messages

Bug #1867130 reported by Dimitri John Ledkov
78
This bug affects 12 people
Affects Status Importance Assigned to Milestone
Plymouth
Fix Released
Unknown
plymouth (Ubuntu)
Fix Released
High
Daniel van Vugt

Bug Description

In ubuntu, systemd-fsckd & casper send fsckd: special status messages with progress of integrity checks of disks.

It then prints something like Checking disk 1 of 3 (70%), in a separate message, such that one can still see keycodes message (ie. "press S to skip") or any other messages, i.e. "Please unlock drive nvme0n1p3".

This is a regression from ubuntu-logo theme.

Changed in plymouth (Ubuntu):
importance: Undecided → High
status: New → Confirmed
tags: added: rls-ff-incoming
tags: added: focal
summary: - spinner theme doesn't support fckd progress messages
+ spinner theme doesn't support fsckd progress messages
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I am able to force an fsck on the next reboot using 'tune2fs' with '-c' and '-C'. I think. However I see no such boot messages even after successfully switching back to the ubuntu-logo theme. Is there something I am missing? I did have to force reinstall plymouth-theme-ubuntu-logo to get it going...

Also, please report the bug to upstream: https://gitlab.freedesktop.org/plymouth/plymouth/issues
as they might have an answer already.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Or maybe I did it right and this bug affects multiple themes?

tags: added: flickerfreeboot
Changed in plymouth (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Another issue seems to be my test methodology doesn't work. Even using eoan, forcing a disk check via tune2fs maximal mount counts doesn't show up during boot with plymouth-theme-ubuntu-logo.

So I have a few questions:

1. What are the steps to test/force a startup message?

2. Can you please report the issue upstream? https://gitlab.freedesktop.org/plymouth/plymouth/issues

3. Should bug 1867909 be merged with this one?

tags: added: regression-release
tags: removed: regression-release
Revision history for this message
Sebastien Bacher (seb128) wrote :

I can't trigger the fsck messages even when using ubuntu-logo, nor by forcing a fsck on bionic or focal, are we sure that integration is still working and a theme issue?
Also trying with systemd/debian/tests/fsck doesn't seem to work either

Revision history for this message
Sebastien Bacher (seb128) wrote :

Ok, poking a bit systemd has a
Skip-filesystem-check-if-already-done-by-the-initram.patch

Which adds
ConditionPathExists=!/run/initramfs/fsck-root to systemd-fsck-root.service

That's coming from Debian and because the initramfs already do the / and /usr checks. It means in practice the plymouth integration isn't used for a while, unless you have other disks which are getting checking. That's a less common usecase and I would say it's not a rls target issue

Revision history for this message
Sebastien Bacher (seb128) wrote :

Dimitri helped with debugging tips for the casper/checksum integration

* build the casper script used by the iso

$ apt source casper
$ cd casper-1.441/casper-md5check
$ make

* mount an iso
- download an ubuntu iso, daily or stable
$ sudo mount -o loop focal-desktop-amd64.iso /cdrom

* start plymouth
$ sudo plymouthd --no-daemon --debug

* ssh into the machine to be able to drive plymouth
$ sudo plymouth show-splash
$ sudo ./casper-md5check /cdrom /cdrom/md5sum.txt
(that's the utility built in step 1)

-> the splash screen displays the check details

Using ubuntu-logo it displays 3 lines
Using spinner it displays 1 line

So looks like that's one thing to fix in the spinner theme, support for multiline text

Revision history for this message
Sebastien Bacher (seb128) wrote :

Ok, I managed to have the fsck messages displayed

* don't skip check if initramfs is already doing it

$ sudo editor /lib/systemd/system/systemd-fsck-root.service

comment
#ConditionPathExists=!/run/initramfs/fsck-root

* replace fsck with a mocked version

$ sudo mv /sbin/fsck /sbin/fsck.renamed
$ apt source systemd
$ sudo cp systemd-245.2/debian/tests/fsck

* trigger a fsck for next reboot
$ sudo touch /forcefsck

Reboot

The disk check integration is displayed, with spinner only line about ctrl-C is on screen though

Revision history for this message
corrado venturini (corradoventu) wrote :

Installing the daily ISO Ubuntu 20.04 LTS "Focal Fossa" - Alpha amd64 (20200324) I don't have the message press "s" to skip media check and I have no way to skip it.

Revision history for this message
Ubuntu QA Website (ubuntuqa) wrote :

This bug has been reported on the Ubuntu ISO testing tracker.

A list of all reports related to this bug can be found here:
http://iso.qa.ubuntu.com/qatracker/reports/bugs/1867130

tags: added: iso-testing
Revision history for this message
Sebastien Bacher (seb128) wrote :

Ok, more in line with this report, doing that command in the ssh session
$ sudo plymouth update --status='fsck:LABEL:10'

Does display a status update on ubuntu-logo but has no effect on spinner

Changed in plymouth (Ubuntu):
status: Incomplete → New
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

More details are also documented in 'man systemd-fsckd.service'

Changed in plymouth (Ubuntu):
assignee: nobody → Daniel van Vugt (vanvugt)
status: New → In Progress
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Actually 'man systemd-fsckd.service' documents a different protocol to what already works with ubuntu-logo. Is that right?

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Nevermind. ubuntu-logo.patch suggests we just need to support both protocols. The one that's documented and the one that Ubuntu actually uses :)

Revision history for this message
Sebastien Bacher (seb128) wrote :

Is the other protocol legacy? Or what is the difference/why don't we use the upstream one?
Dimitri do you know about the reasons?

Revision history for this message
Daniel van Vugt (vanvugt) wrote :
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

So, upstart's mountall used "fsck:" messages, and i fixed casper this cycle to use "fsck:" messages too (previously casper was just plain broken).

systemd-fsckd uses "fsckd:" messages, and that's the one we should support going forward.

I'll fix casper to use "fsckd:" messages only.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Upstream wants a completely different design that will involve changing multiple packages and take at least another cycle. That's fine and is to be expected, but it also means we should use the above 104.patch for focal. Let me know if you want more tags in there too. Or if you find any bugs.

Revision history for this message
Sebastien Bacher (seb128) wrote :

@Daniel, that makes sense, I'm going to test the patches now and upload that to focal if it works as expected for me

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package plymouth - 0.9.4git20200323-0ubuntu5

---------------
plymouth (0.9.4git20200323-0ubuntu5) focal; urgency=medium

  * debian/patches/git-drm-improve.patch:
    - backport an upstream patch to improve drm/kms probing

  [ Daniel Van Vugt ]
  * debian/patches/ubuntu-spinner-fsck.patch:
    - Add support for fsck status messages (lp: #1867130)
  * debian/patches/gitlab-center-messages.patch:
    - Center message text within labels if labels are centered

 -- Sebastien Bacher <email address hidden> Tue, 31 Mar 2020 10:23:57 +0200

Changed in plymouth (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
corrado venturini (corradoventu) wrote :

Problem disappeared wit ISO Ubuntu 20.04 LTS "Focal Fossa" - Beta amd64 (20200331)

Changed in plymouth:
status: Unknown → New
Changed in plymouth:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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