machine get stuck at boot if specified 'console=ttyS* ' doesn't exist.

Bug #1879987 reported by Eric Desrochers
20
This bug affects 1 person
Affects Status Importance Assigned to Milestone
initramfs-tools (Ubuntu)
Fix Released
High
Guilherme G. Piccoli
Trusty
Won't Fix
Low
Guilherme G. Piccoli
Xenial
Fix Released
High
Guilherme G. Piccoli
Bionic
Fix Released
High
Guilherme G. Piccoli
Eoan
Won't Fix
Low
Guilherme G. Piccoli
Focal
Fix Released
High
Guilherme G. Piccoli
Groovy
Fix Released
High
Guilherme G. Piccoli

Bug Description

[Impact]

* Currently, if users provide the wrong console in kernel command-line (like console=ttyS1, when the right one is ttyS0) *and* "quiet" parameter is not provided, we may face an infinite loop on initramfs-tools, effectively blocking the boot.

* Details are: the _log_msg() functions is "void" typed, which means it returns whatever its last command returns; this function is the basic building block for all error/warning messages in initramfs-tools. In case a bad console was provided to kernel on command-line, printf (and apparently all write()-related functions) returns error, and so this error is carried over in _log_msg().

* Happens that checkfs() function has a loop that runs forever in this scenario (*if* fsck is not present in initramfs, and obviously if "quiet" is not provided in the command-line). The situation is easily reproducible.

* This SRU proposes a pretty simple fix: return zero on _log_msg(). We should definitely not brake the boot due to error log functions.

[Test Case]

* To reproduce this, one must boot a system (virtual machine is good) with the wrong console set on kernel command-line through the "console=" parameter *and* not pass the "quiet" parameter.

* Also, e2fsck tool shouldn't be present in the initrd - for that, the 6th field of /etc/fstab (fs_passno) should be 0 and initrd must be recreated after that. This is the default in Ubuntu, though.

[Regression Potential]

* The regression potential is small, we're just returning 0 after a printf that is executed in error paths, so I don't expect any issues from that. But in case something bad happens after this change, I expect a more friendly" breakage, like an initramfs panic (drop to a shell), not a silent failure or boot-loop.

Eric Desrochers (slashd)
tags: added: seg sts
description: updated
description: updated
Revision history for this message
Guilherme G. Piccoli (gpiccoli) wrote :

I've managed to reproduce in 4.4, 4.15, 5.4 (all from Ubuntu releases) and 5.7-rc4-next; also, I think bare-metal usually doesn't reproduce.

Seems like a live-lock situation, I'll attach some calltraces I gathered using sysrqs.
Cheers,

Guilherme

Eric Desrochers (slashd)
description: updated
Changed in linux (Ubuntu):
assignee: nobody → Guilherme G. Piccoli (gpiccoli)
importance: Undecided → Medium
status: New → Confirmed
Eric Desrochers (slashd)
description: updated
Eric Desrochers (slashd)
Changed in linux (Ubuntu):
importance: Medium → High
Revision history for this message
Guilherme G. Piccoli (gpiccoli) wrote :
Revision history for this message
Eric Desrochers (slashd) wrote :

from dmesg (took from virsh dump)

[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-4.15.0-101-generic root=/dev/mapper/ubuntu--vg-ubuntu--lv ro console=ttyS4
......
[ 1.053683] Warning: unable to open an initial console.

Revision history for this message
Eric Desrochers (slashd) wrote :

I don't know yet if related, but I also observed the following:

syslog:May 21 17:25:27 ubuntu kernel: [ 0.000000] random: get_random_bytes called from start_kernel+0x99/0x4fd with crng_init=0
syslog:May 21 17:25:27 ubuntu kernel: [ 1.902484] random: lvm: uninitialized urandom read (4 bytes read)

Could the missing ttyS* have an effect on entropy ?

Revision history for this message
Eric Desrochers (slashd) wrote :

I observed the random kernel spew on my reproducer but I also want to add that it was also noticed on my VMware impacted contact who brought this up to my attention at the first place.

Revision history for this message
Eric Desrochers (slashd) wrote :
Eric Desrochers (slashd)
summary: - kernel get stuck at boot if specified 'console=ttyS* ' doesn't exist.
+ machine get stuck at boot if specified 'console=ttyS* ' doesn't exist.
Eric Desrochers (slashd)
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Changed in initramfs-tools (Ubuntu):
status: New → Confirmed
importance: Undecided → High
assignee: nobody → Guilherme G. Piccoli (gpiccoli)
Revision history for this message
Guilherme G. Piccoli (gpiccoli) wrote :

This was greatly debugged by LP user WGH in https://bugs.launchpad.net/cloud-images/+bug/1573095/comments/46 - it's really a flaw on initramfs, I managed to workaround the issue with "quiet" parameter (system boots normally ,even with the wrong serial console).

Investigation continues... I guess this LP may end-up being a duplicate of 1573095.
Thanks,

Guilherme

Revision history for this message
Eric Desrochers (slashd) wrote :

I tested with debian buster and I wasn't able to reproduce (w/o quiet parameter)

I'm not yet too sure if it's a pure initramfs-tools or something introduced by a package hooks.

I first thought that plymouth could have beeb a potential candidate, but I disabled it and even purge it and problem persisted.

- Eric

Revision history for this message
Guilherme G. Piccoli (gpiccoli) wrote :

Eric, I'll close this LP as dup of #1879987 - seems it's the same issue. I'll try also the Debian release top see what's different there...we can comment in the other bug about Debian status and what are the differences.

Thanks,

Guilherme

Revision history for this message
Guilherme G. Piccoli (gpiccoli) wrote :

Sorry, dup of LP #1573095.

Revision history for this message
Guilherme G. Piccoli (gpiccoli) wrote :

Although this is closed as dup, I thought would be good to clarify why Debian Buster doesn't reproduce (at first). What happens is that Debian includes the fsck on initrd by default, and in Ubuntu that doesn't happen - the reason behind it is that rootfs is marked as always-verify in the 6th field of fstab (fs_passno) in the Debian cloud image I got, whereas Ubuntu cloud image use the default value, 0.

Once I changed Debian to not include fsck on initrd, it reproduced the issue. And once I set Ubuntu rootfs to have value 1 on fstab's 6th field, it stopped to reproduce. When fsck is on initrd, we don't log_warn "fsck not present, so skipping $NAME file system", so we don't fail in _checkfs_once(), hence there's no infinite loop on checkfs().

Cheers,

Guilherme

no longer affects: linux (Ubuntu)
Changed in initramfs-tools (Ubuntu):
status: Confirmed → In Progress
Changed in initramfs-tools (Ubuntu Eoan):
status: New → Won't Fix
Changed in initramfs-tools (Ubuntu Trusty):
status: New → Won't Fix
Changed in initramfs-tools (Ubuntu Xenial):
status: New → In Progress
Changed in initramfs-tools (Ubuntu Bionic):
status: New → In Progress
Changed in initramfs-tools (Ubuntu Focal):
status: New → In Progress
Changed in initramfs-tools (Ubuntu Trusty):
importance: Undecided → High
Changed in initramfs-tools (Ubuntu Xenial):
importance: Undecided → High
Changed in initramfs-tools (Ubuntu Trusty):
importance: High → Low
Changed in initramfs-tools (Ubuntu Bionic):
importance: Undecided → High
Changed in initramfs-tools (Ubuntu Focal):
importance: Undecided → High
Changed in initramfs-tools (Ubuntu Eoan):
importance: Undecided → Low
Changed in initramfs-tools (Ubuntu Focal):
assignee: nobody → Guilherme G. Piccoli (gpiccoli)
Changed in initramfs-tools (Ubuntu Eoan):
assignee: nobody → Guilherme G. Piccoli (gpiccoli)
Changed in initramfs-tools (Ubuntu Bionic):
assignee: nobody → Guilherme G. Piccoli (gpiccoli)
Changed in initramfs-tools (Ubuntu Xenial):
assignee: nobody → Guilherme G. Piccoli (gpiccoli)
Changed in initramfs-tools (Ubuntu Trusty):
assignee: nobody → Guilherme G. Piccoli (gpiccoli)
Revision history for this message
Guilherme G. Piccoli (gpiccoli) wrote :

Let me clarify why I'm un-marking this as duplicate of #1573095. This LP bug is indeed a duplicate of #1573095, but we have a lot of noise there, and potentially multiple different issues reported. The main one is the wrong ttySX causing the infinite loop in initramfs-tools due to error on write.

Hence, I'll use this LP to do the SRU for Ubuntu initramfs-tools. Also, worth notice that we have Debian bugs reported [0] and a Merge Request in Debian Salsa [1], both ignored by the Debian maintainer for 6 weeks. So, we'll go with Ubuntu fix for now, and hopefully Debian will merge that in the future.

Cheers,

Guilherme

[0] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=962545 and https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=960355

[1] https://salsa.debian.org/kernel-team/initramfs-tools/-/merge_requests/30

description: updated
Revision history for this message
Guilherme G. Piccoli (gpiccoli) wrote :
Revision history for this message
Guilherme G. Piccoli (gpiccoli) wrote :
Revision history for this message
Guilherme G. Piccoli (gpiccoli) wrote :
Revision history for this message
Guilherme G. Piccoli (gpiccoli) wrote :
Revision history for this message
Guilherme G. Piccoli (gpiccoli) wrote :

Worth to notice that the debdiffs (except Xenial's) include a fix for LP #1879980 - we are doing a single SRU for 2 bugs.

Revision history for this message
Guilherme G. Piccoli (gpiccoli) wrote :

Attaching a new Bionic debdiff, which now includes a fix for a third bug (LP #1820929).

Revision history for this message
Guilherme G. Piccoli (gpiccoli) wrote :

After about 10 weeks, finally my patch was merged by the Debian maintainer: https://salsa.debian.org/kernel-team/initramfs-tools/-/commit/c3cbf355

Cheers,

Guilherme

Revision history for this message
Guilherme G. Piccoli (gpiccoli) wrote :

An issue on initramfs-tools autopkgtest was found in Groovy and Focal (see LP #1893675) - it's non-related with the fixes proposed here, but we need to make autopkgtest happy or we cannot get the package released, so here goes the V2 of the initramfs-tools debdiffs.
Notice the SRU is mainly driven in this LP and/or LP #1879980.

Revision history for this message
Guilherme G. Piccoli (gpiccoli) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package initramfs-tools - 0.137ubuntu12

---------------
initramfs-tools (0.137ubuntu12) groovy; urgency=medium

  * d/tests: Add explicit call to partprobe on net test, specially in
    prep-image and run-image. (LP: #1893675)

initramfs-tools (0.137ubuntu11) groovy; urgency=medium

  * scripts/functions: Prevent printf error carry over if the wrong
    console is set. (LP: #1879987)
      The function _log_msg() is "void" typed, returning whatever its
      last command returns. This function is the basic building block
      for all error/warning messages in initramfs-tools. If a bad console
      is provided to kernel on command-line, printf returns error, and so
      this error is carried over in _log_msg(). Happens that checkfs()
      function has a loop that runs forever in this scenario (*if* fsck
      is not present in initramfs and "quiet" is not passed in the
      command-line). If that happens, boot is stuck and cannot progress.
      The simple fix hereby merged is to return zero on _log_msg().

  * scripts/local: Re-execute cryptroot local-block script. (LP: #1879980)
      Currently, if an encrypted rootfs is configured on top of a MD RAID1
      array and such array gets degraded (like a member is removed/failed),
      initramfs-tools cannot mount the rootfs and the boot fails. We fix
      that issue here by allowing cryptroot script to re-run on local-block
      stage, given that mdadm is able to activate a degraded array in that
      point. There is a cryptsetup counter-part for this fix, but alone the
      initramfs-tools portion is innocuous.

 -- <email address hidden> (Guilherme G. Piccoli) Mon, 31 Aug 2020 18:04:00 -0300

Changed in initramfs-tools (Ubuntu Groovy):
status: In Progress → Fix Released
Revision history for this message
Eric Desrochers (slashd) wrote :

[sts-sponsor]

Sponsored in Focal/Bionic.

Thanks for your contribution.

Revision history for this message
Timo Aaltonen (tjaalton) wrote : Please test proposed package

Hello Eric, or anyone else affected,

Accepted initramfs-tools into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/initramfs-tools/0.136ubuntu6.3 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 initramfs-tools (Ubuntu Focal):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-focal
Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (initramfs-tools/0.136ubuntu6.3)

All autopkgtests for the newly accepted initramfs-tools (0.136ubuntu6.3) for focal have finished running.
The following regressions have been reported in tests triggered by the package:

initramfs-tools/0.136ubuntu6.3 (armhf)

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#initramfs-tools

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

Thank you!

Revision history for this message
Guilherme G. Piccoli (gpiccoli) wrote :

I've tested the Focal-proposed initramfs-tools (version 0.136ubuntu6.3 ) according to the "Test Case" section in the description, and it's working as expected. Also, the armhf autopkgtest failure is no longer an issue (test was re-executed with success), so marking as verified!
Cheers,

Guilherme

tags: added: verification-done verification-done-focal
removed: seg verification-needed verification-needed-focal
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package initramfs-tools - 0.136ubuntu6.3

---------------
initramfs-tools (0.136ubuntu6.3) focal; urgency=medium

  * scripts/functions: Prevent printf error carry over if the wrong
    console is set. (LP: #1879987)
      The function _log_msg() is "void" typed, returning whatever its
      last command returns. This function is the basic building block
      for all error/warning messages in initramfs-tools. If a bad console
      is provided to kernel on command-line, printf returns error, and so
      this error is carried over in _log_msg(). Happens that checkfs()
      function has a loop that runs forever in this scenario (*if* fsck
      is not present in initramfs and "quiet" is not passed in the
      command-line). If that happens, boot is stuck and cannot progress.
      The simple fix hereby merged is to return zero on _log_msg().

  * scripts/local: Re-execute cryptroot local-block script. (LP: #1879980)
      Currently, if an encrypted rootfs is configured on top of a MD RAID1
      array and such array gets degraded (like a member is removed/failed),
      initramfs-tools cannot mount the rootfs and the boot fails. We fix
      that issue here by allowing cryptroot script to re-run on local-block
      stage, given that mdadm is able to activate a degraded array in that
      point. There is a cryptsetup counter-part for this fix, but alone the
      initramfs-tools portion is innocuous.

  * d/tests: Add explicit call to partprobe on net test, specially in
    prep-image and run-image. (LP: #1893675)

 -- <email address hidden> (Guilherme G. Piccoli) Mon, 31 Aug 2020 13:43:29 -0300

Changed in initramfs-tools (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for initramfs-tools has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

tags: added: sts-sponsor-mfo
Revision history for this message
Mauricio Faria de Oliveira (mfo) wrote :

Uploaded initramfs-tools to Bionic and Xenial.
Attaching the updated debdiff for reference.
(Rebased on top of the more recent -updates.)

Revision history for this message
Mauricio Faria de Oliveira (mfo) wrote :
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Please test proposed package

Hello Eric, or anyone else affected,

Accepted initramfs-tools into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/initramfs-tools/0.130ubuntu3.11 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-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. 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 initramfs-tools (Ubuntu Bionic):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-bionic
removed: verification-done
Changed in initramfs-tools (Ubuntu Xenial):
status: In Progress → Fix Committed
tags: added: verification-needed-xenial
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Hello Eric, or anyone else affected,

Accepted initramfs-tools into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/initramfs-tools/0.122ubuntu8.17 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-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. 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.

Revision history for this message
Mauricio Faria de Oliveira (mfo) wrote :

Verification done for bionic:

bionic-updates:

- boots fine w/ console=ttyS0, can ssh in 10 seconds.
- boot fails w/ console=ttyS1, cannot SSH, qemu on 100% CPU (initramfs-tools looping)

bionic-proposed:

- boots fine w/ console=ttyS0, can ssh in 10 seconds. (no regression)
- boots fine w/ console=ttyS1, can ssh in 10 seconds, qemu on low CPU% (issue fixed)

details:
-------

$ lsb_release -cs
bionic

bionic-updates:
---

$ dpkg -s initramfs-tools | grep -i version:
Version: 0.130ubuntu3.10

console=ttyS0:

 $ cat /proc/cmdline
 BOOT_IMAGE=/boot/vmlinuz-4.15.0-99-generic root=UUID=f513680e-7260-45e3-b4aa-89e4a210be77 ro console=ttyS0

console=ttyS1:

 (cannot SSH into system. CPU% always high for QEMU.)

 $ top -b -d1 | grep -e CPU -e qemu
     PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  142522 libvirt+ 20 0 3745600 485332 23116 S 100.0 3.0 1:30.08 qemu-system-x86
     PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  142522 libvirt+ 20 0 3745600 485332 23116 S 99.0 3.0 1:31.08 qemu-system-x86
     PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  142522 libvirt+ 20 0 3745600 485332 23116 S 98.0 3.0 1:32.07 qemu-system-x86
     PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  142522 libvirt+ 20 0 3745600 485332 23116 S 99.0 3.0 1:33.07 qemu-system-x86
     PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  142522 libvirt+ 20 0 3745600 485332 23116 S 99.0 3.0 1:34.06 qemu-system-x86
 ^C

bionic-proposed:
---

$ dpkg -s initramfs-tools | grep -i version:
Version: 0.130ubuntu3.11

console=ttyS0:

 $ cat /proc/cmdline
 BOOT_IMAGE=/boot/vmlinuz-4.15.0-99-generic root=UUID=f513680e-7260-45e3-b4aa-89e4a210be77 ro console=ttyS0

console=ttyS1:

 (can SSH into system. CPU% low for QEMU)

 $ cat /proc/cmdline
 BOOT_IMAGE=/boot/vmlinuz-4.15.0-99-generic root=UUID=f513680e-7260-45e3-b4aa-89e4a210be77 ro console=ttyS1

     PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  142731 libvirt+ 20 0 3656512 602160 22816 S 83.2 3.7 0:38.73 qemu-system-x86
     PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  142731 libvirt+ 20 0 3656512 602160 22816 S 29.7 3.7 0:39.03 qemu-system-x86
     PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  142731 libvirt+ 20 0 3656512 602160 22816 S 1.0 3.7 0:39.04 qemu-system-x86
     PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  142731 libvirt+ 20 0 3656512 602160 22816 S 2.0 3.7 0:39.06 qemu-system-x86
     PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  142731 libvirt+ 20 0 3656512 602160 22816 S 2.9 3.7 0:39.09 qemu-system-x86

tags: added: verification-done-bionic
removed: verification-needed-bionic
Revision history for this message
Mauricio Faria de Oliveira (mfo) wrote :

Verification done for xenial:

xenial-updates:

- boots fine w/ console=ttyS0, can ssh in 10 seconds.
- boot fails w/ console=ttyS1, cannot SSH, qemu on 100% CPU (initramfs-tools looping)

xenial-proposed:

- boots fine w/ console=ttyS0, can ssh in 10 seconds. (no regression)
- boots fine w/ console=ttyS1, can ssh in 10 seconds, qemu on low CPU% (issue fixed)

details:
-------

$ lsb_release -cs
xenial

xenial-updates:
---

$ dpkg -s initramfs-tools | grep -i version:
Version: 0.122ubuntu8.16

console=ttyS0:

 $ cat /proc/cmdline
 BOOT_IMAGE=/boot/vmlinuz-4.4.0-184-generic root=UUID=c763ea2f-6085-4419-8895-3cefa32d1477 ro console=ttyS0

console=ttyS1:

 (cannot SSH into system. CPU% always high for QEMU.)

 $ top -b -d1 | grep -e CPU -e qemu
     PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  143433 libvirt+ 20 0 3886900 366840 22900 S 106.7 2.3 0:32.52 qemu-system-x86
     PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  143433 libvirt+ 20 0 3886900 366840 22900 S 101.0 2.3 0:33.54 qemu-system-x86
     PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  143433 libvirt+ 20 0 3886900 366840 22900 S 100.0 2.3 0:34.55 qemu-system-x86
     PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  143433 libvirt+ 20 0 3886900 366840 22900 S 100.0 2.3 0:35.56 qemu-system-x86
     PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  143433 libvirt+ 20 0 3886900 366840 22900 S 101.0 2.3 0:36.57 qemu-system-x86
 ^C

xenial-proposed:
---

$ dpkg -s initramfs-tools | grep -i version:
Version: 0.122ubuntu8.17

console=ttyS0:

 $ cat /proc/cmdline
 BOOT_IMAGE=/boot/vmlinuz-4.4.0-184-generic root=UUID=c763ea2f-6085-4419-8895-3cefa32d1477 ro console=ttyS0

console=ttyS1:

 (can SSH into system. CPU% low for QEMU)

 $ cat /proc/cmdline
 BOOT_IMAGE=/boot/vmlinuz-4.4.0-184-generic root=UUID=c763ea2f-6085-4419-8895-3cefa32d1477 ro console=ttyS1

  143646 libvirt+ 20 0 4596800 692248 22972 R 158.4 4.3 0:53.95 qemu-system-x86
     PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  143646 libvirt+ 20 0 4596800 692248 22972 S 104.0 4.3 0:55.00 qemu-system-x86
     PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  143646 libvirt+ 20 0 4596800 692248 22972 S 2.0 4.3 0:55.02 qemu-system-x86
     PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  143646 libvirt+ 20 0 4596800 692248 22972 S 2.0 4.3 0:55.04 qemu-system-x86
     PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  143646 libvirt+ 20 0 4596800 692248 22972 S 37.3 4.3 0:55.42 qemu-system-x86

tags: added: verification-done verification-done-xenial
removed: verification-needed verification-needed-xenial
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package initramfs-tools - 0.130ubuntu3.11

---------------
initramfs-tools (0.130ubuntu3.11) bionic; urgency=medium

  [ Guilherme G. Piccoli ]
  * scripts/functions: Prevent printf error carry over if the wrong
    console is set. (LP: #1879987)
      The function _log_msg() is "void" typed, returning whatever its
      last command returns. This function is the basic building block
      for all error/warning messages in initramfs-tools. If a bad console
      is provided to kernel on command-line, printf returns error, and so
      this error is carried over in _log_msg(). Happens that checkfs()
      function has a loop that runs forever in this scenario (*if* fsck
      is not present in initramfs and "quiet" is not passed in the
      command-line). If that happens, boot is stuck and cannot progress.
      The simple fix hereby merged is to return zero on _log_msg().

  * scripts/local: Re-execute cryptroot local-block script. (LP: #1879980)
      Currently, if an encrypted rootfs is configured on top of a MD RAID1
      array and such array gets degraded (like a member is removed/failed),
      initramfs-tools cannot mount the rootfs and the boot fails. We fix
      that issue here by allowing cryptroot script to re-run on local-block
      stage, given that mdadm is able to activate a degraded array in that
      point. There is a cryptsetup counter-part for this fix, but alone the
      initramfs-tools portion is innocuous.

  [ Jay Vosburgh ]
  * scripts/functions: Change netplan render for net_failover master
    devices. (LP: #1820929)
      Modify the _render_netplan function to check for network interfaces
      that are net_failover master devices. When found, such devices are
      matched only by name, not by MAC address, as the MAC is not a unique
      identifier for the net_failover case. In the net_failover architecture,
      the MAC address is used to manage the membership of the net_failover
      interface set, thus multiple interfaces will be assigned the same MAC
      address.

 -- <email address hidden> (Guilherme G. Piccoli) Wed, 12 Aug 2020 17:12:11 -0300

Changed in initramfs-tools (Ubuntu Bionic):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package initramfs-tools - 0.122ubuntu8.17

---------------
initramfs-tools (0.122ubuntu8.17) xenial; urgency=medium

  * scripts/functions: Prevent printf error carry over if the wrong
    console is set. (LP: #1879987)
      The function _log_msg() is "void" typed, returning whatever its
      last command returns. This function is the basic building block
      for all error/warning messages in initramfs-tools. If a bad console
      is provided to kernel on command-line, printf returns error, and so
      this error is carried over in _log_msg(). Happens that checkfs()
      function has a loop that runs forever in this scenario (*if* fsck
      is not present in initramfs and "quiet" is not passed in the
      command-line). If that happens, boot is stuck and cannot progress.
      The simple fix hereby merged is to return zero on _log_msg().

 -- <email address hidden> (Guilherme G. Piccoli) Thu, 23 Jul 2020 13:20:14 -0300

Changed in initramfs-tools (Ubuntu Xenial):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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