[Bug 1868138] Re: 18.04LTS upgrade of grub-common:amd64 FAILs in post-install; incorrectly REWRITES user's /etc/default/grub

Julian Andres Klode julian.klode at canonical.com
Thu Mar 19 20:55:17 UTC 2020


This bug report is missing data. The reproducer given is invalid, as it
escapes the quoted string, as opposed to the newline. It also does not
show that this is a regression in the 8.15 upload, as nothing in that
upload changed.

The last change to logic here was made in 8.13, so any such bug must
have hit before in the 8.14 upload. If you want to argue that this is
not true, please provider a reproducer that does not trigger for 8.13 ->
8.14, but does trigger for 8.14 -> 8.15.

Regardless of what the POSIX spec says, this is highly unusual abuse of
POSIX shell semantics, and I do not see a need to support it, so if it
comes to it, my solution might just be to skip the optimisation in such
cases, causing more conffile prompts for such (IMHO broken files).

It's highly advised to not use advanced features just because you can.
KISS.

** Changed in: grub2 (Ubuntu)
       Status: Triaged => Incomplete

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to grub2 in Ubuntu.
https://bugs.launchpad.net/bugs/1868138

Title:
  18.04LTS upgrade of grub-common:amd64 FAILs in post-install;
  incorrectly REWRITES user's /etc/default/grub

Status in grub2 package in Ubuntu:
  Incomplete

Bug description:
  upgrading packages, as usual, on a long-time-in-production Ubuntu
  1804LTS server instance,

  	lsb_release -rd
  		Description:    Ubuntu 18.04.4 LTS
  		Release:        18.04
  	uname -rm
  		5.3.0-40-generic x86_64

  today's update included grub,

          cat /var/log/apt/history.log

  		Start-Date: 2020-03-19  08:58:38
  		Commandline: apt-get upgrade
  		Upgrade: grub-common:amd64 (2.02-2ubuntu8.14, 2.02-2ubuntu8.15), grub2-common:amd64 (2.02-2ubuntu8.14, 2.02-2ubuntu8.15), grub-pc:amd64 (2.02-2ubuntu8.14, 2.02-2ubuntu8.15), grub-pc-bin:amd64 (2.02-2ubuntu8.14, 2.02-2ubuntu8.15)
  		Error: Sub-process /usr/bin/dpkg returned an error code (1)
  		End-Date: 2020-03-19  09:01:52

  
  the update FAILs in grub post-processing

  apparently, the install is -- new behavior -- REWRITING, incorrectly,
  the 'GRUB_CMDLINE_LINUX=' stanza in /etc/default/grub -- my _local_
  end-user config

  before

  	cat /etc/default/grub
  		...
  		GRUB_CMDLINE_LINUX_DEFAULT=""
  	53	GRUB_CMDLINE_LINUX="rd.shell rd.udev.log_priority=info rd.auto=1 \
  		 dolvm lvmwait=/dev/mapper/VG0_ROOT \
  		 rootfstype=ext4 rootdelay=90 rootflags=journal_checksum \
  		 noresume pcie_aspm=off max_loop=256 transparent_hugepage=never clocksource=tsc clocksource_failover=tsc tsc=reliable force_tsc_stable=1 \
  		 scsi_mod.use_blk_mq=1 \
  		 net.ifnames=1 biosdevname=0 \
  		 showopts noquiet \
  		 log_buf_len=16M print_fatal_signals=1 systemd.log_level=info systemd.log_target=kmsg earlyprintk=vga,keep \
  		 mitigations=auto spec_store_bypass_disable=on \
  		"
  		...

  exec an update, as usual

  	apt-get update && apt-get upgrade
  		Hit:1 http://security.ubuntu.com/ubuntu bionic-security InRelease
  		Hit:2 http://us.archive.ubuntu.com/ubuntu bionic InRelease
  		Hit:3 http://us.archive.ubuntu.com/ubuntu bionic-updates InRelease
  		Hit:4 http://us.archive.ubuntu.com/ubuntu bionic-backports InRelease
  		Reading package lists... Done
  		Reading package lists... Done
  		Building dependency tree
  		Reading state information... Done
  		Calculating upgrade... Done
  		0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
  		1 not fully installed or removed.
  		After this operation, 0 B of additional disk space will be used.
  		Do you want to continue? [Y/n]
  	-> Y
  		Do you want to continue? [Y/n] Y

  now, fails

  		Setting up grub-pc (2.02-2ubuntu8.15) ...
  		Sourcing file `/etc/default/grub'
  		/etc/default/grub: line 53: unexpected EOF while looking for matching `"'
  		dpkg: error processing package grub-pc (--configure):
  		 installed grub-pc package post-installation script subprocess returned error exit status 2
  		Errors were encountered while processing:
  		 grub-pc
  		E: Sub-process /usr/bin/dpkg returned an error code (1)

  it's incorrectly re-written /etc/default/grub

  	cat /etc/default/grub
  		...
  		GRUB_CMDLINE_LINUX_DEFAULT=""
  	53	GRUB_CMDLINE_LINUX="rd.shell rd.udev.log_priority=info rd.auto=1 dolvm lvmwait=/dev/mapper/VG0_ROOT rootfstype=ext4 rootdelay=90 rootflags=journal_checksum noresume pcie_aspm=off max_loop=256 transparent_hugepage=never clocksource=tsc clocksource_failover=tsc tsc=reliable force_tsc_stable=1 scsi_mod.use_blk_mq=1 net.ifnames=1 biosdevname=0 showopts noquiet log_buf_len=16M print_fatal_signals=1 systemd.log_level=info systemd.log_target=kmsg earlyprintk=vga,keep mitigations=auto spec_store_bypass_disable=on"
  		 dolvm lvmwait=/dev/mapper/VG0_ROOT \
  		 rootfstype=ext4 rootdelay=90 rootflags=journal_checksum \
  		 noresume pcie_aspm=off max_loop=256 transparent_hugepage=never clocksource=tsc clocksource_failover=tsc tsc=reliable force_tsc_stable=1 \
  		 scsi_mod.use_blk_mq=1 \
  		 net.ifnames=1 biosdevname=0 \
  		 showopts noquiet \
  		 log_buf_len=16M print_fatal_signals=1 systemd.log_level=info systemd.log_target=kmsg earlyprintk=vga,keep \
  		 mitigations=auto spec_store_bypass_disable=on \
  		"

  prepending the EXISTING 'GRUB_CMDLINE_LINUX=' with a duplicate of
  itself ... plus an errant trailing `"'

  fyi,

  apt-cache policy grub2
  grub2:
    Installed: (none)
    Candidate: 2.02-2ubuntu8.15
    Version table:
       2.02-2ubuntu8.15 500
          500 http://us.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages
       2.02-2ubuntu8 500
          500 http://us.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1868138/+subscriptions



More information about the foundations-bugs mailing list