procps upgrades fail in a LXD container

Bug #1637300 reported by dann frazier
28
This bug affects 6 people
Affects Status Importance Assigned to Milestone
procps (Debian)
Fix Released
Unknown
procps (Ubuntu)
Fix Released
Undecided
Unassigned
Xenial
Fix Released
High
dann frazier

Bug Description

[Impact]
procps cannot be upgraded - or even reinstalled - in an LXD container. This means we cannot deliver updates (like the pending fix for LP: #1637026 in xenial-proposed) w/o putting container users in a bad state that requires a container restart to resolve.

[Test Case]
$ lxc launch ubuntu:xenial procpstest
Creating procpstest
Starting procpstest
$ lxc exec procpstest -- /bin/bash
root@procpstest:~# apt --reinstall install procps
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 209 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 procps arm64 2:3.3.10-4ubuntu2 [209 kB]
Fetched 209 kB in 1s (113 kB/s)
(Reading database ... 25398 files and directories currently installed.)
Preparing to unpack .../procps_2%3a3.3.10-4ubuntu2_arm64.deb ...
Unpacking procps (2:3.3.10-4ubuntu2) over (2:3.3.10-4ubuntu2) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for systemd (229-4ubuntu11) ...
Setting up procps (2:3.3.10-4ubuntu2) ...
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
Job for systemd-sysctl.service failed because the control process exited with error code. See "systemctl status systemd-sysctl.service" and "journalctl -xe" for details.
invoke-rc.d: initscript procps, action "start" failed.
dpkg: error processing package procps (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 procps
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@procpstest:~#

[Regression Risk]
The proposed fix is to disable invoking the procps initscript on install/upgrade. This fix is already in yakkety, and I didn't find any bugs related to it in LP.

dann frazier (dannf)
Changed in procps (Ubuntu):
status: New → Fix Released
Changed in procps (Ubuntu Xenial):
status: New → In Progress
assignee: nobody → dann frazier (dannf)
importance: Undecided → High
Revision history for this message
dann frazier (dannf) wrote :
Revision history for this message
dann frazier (dannf) wrote :

Note that, though procps itself is patched to ignore errors when writing to /proc/sys, the problem here is that the initscript causes the systemd-sysctl service to get triggered, and that does not fail gracefully:

ubuntu@procps:~$ sudo /lib/systemd/systemd-sysctl
Couldn't write '1' to 'kernel/kptr_restrict', ignoring: Permission denied
Couldn't write '4 4 1 7' to 'kernel/printk', ignoring: Permission denied
Couldn't write '1' to 'kernel/yama/ptrace_scope', ignoring: Permission denied
Couldn't write '32768' to 'vm/mmap_min_addr', ignoring: Permission denied
Couldn't write '1' to 'fs/protected_hardlinks', ignoring: Permission denied
Couldn't write '1' to 'fs/protected_symlinks', ignoring: Permission denied
Couldn't write '176' to 'kernel/sysrq', ignoring: Permission denied
ubuntu@procps:~$ echo $?
1

Changed in procps (Debian):
status: Unknown → Fix Released
Revision history for this message
Martin Pitt (pitti) wrote :

This seems fine to me. I just replied to https://bugs.launchpad.net/ubuntu/+source/procps/+bug/1637026/comments/4 before realizing that this issue is tracked here.

Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello dann, or anyone else affected,

Accepted procps into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/procps/2:3.3.10-4ubuntu2.2 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 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, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

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

Changed in procps (Ubuntu Xenial):
status: In Progress → Fix Committed
tags: added: verification-needed
Revision history for this message
dann frazier (dannf) wrote :

root@procpstest:~# apt install procps -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
  procps
1 upgraded, 0 newly installed, 0 to remove and 46 not upgraded.
Need to get 208 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://ports.ubuntu.com/ubuntu-ports xenial-proposed/main arm64 procps arm64 2:3.3.10-4ubuntu2.2 [208 kB]
Fetched 208 kB in 0s (301 kB/s)
(Reading database ... 29622 files and directories currently installed.)
Preparing to unpack .../procps_2%3a3.3.10-4ubuntu2.2_arm64.deb ...
Unpacking procps (2:3.3.10-4ubuntu2.2) over (2:3.3.10-4ubuntu2) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for systemd (229-4ubuntu11) ...
Setting up procps (2:3.3.10-4ubuntu2.2) ...
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
root@procpstest:~#

tags: added: verification-done
removed: verification-needed
Revision history for this message
Lars Bo Rasmussen (lbr1988) wrote :

root@vps137255:~# apt-get install procps/xenial-proposed
Reading package lists... Done
Building dependency tree
Reading state information... Done
Selected version '2:3.3.10-4ubuntu2.2' (Ubuntu:16.04/xenial-proposed [amd64]) for 'procps'
The following packages were automatically installed and are no longer required:
  initramfs-tools-core libapt-inst1.5 linux-base
Use 'apt autoremove' to remove them.
The following packages will be upgraded:
  procps
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
4 not fully installed or removed.
Need to get 222 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu xenial-proposed/main amd64 procps amd64 2:3.3.10-4ubuntu2.2 [222 kB]
Fetched 222 kB in 0s (2,235 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
(Reading database ... 21894 files and directories currently installed.)
Preparing to unpack .../procps_2%3a3.3.10-4ubuntu2.2_amd64.deb ...
Unpacking procps (2:3.3.10-4ubuntu2.2) over (2:3.3.10-4ubuntu2) ...
Processing triggers for systemd (229-4ubuntu12) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up procps (2:3.3.10-4ubuntu2.2) ...
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
Setting up udev (229-4ubuntu12) ...
Installing new version of config file /etc/init.d/udev ...
Installing new version of config file /etc/init/udevmonitor.conf ...
addgroup: The group `input' already exists as a system group. Exiting.
Removing obsolete conffile /etc/init.d/udev-finish ...
Removing obsolete conffile /etc/init/udev-finish.conf ...
Removing obsolete conffile /etc/init/udev-fallback-graphics.conf ...
Removing obsolete conffile /etc/init.d/lvm2 ...
Setting up initramfs-tools-core (0.122ubuntu8.5) ...
Installing new version of config file /etc/initramfs-tools/initramfs.conf ...
Setting up openssh-server (1:7.2p2-4ubuntu2.1) ...
Installing new version of config file /etc/network/if-up.d/openssh-server ...
Processing triggers for systemd (229-4ubuntu12) ...

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

This bug was fixed in the package procps - 2:3.3.10-4ubuntu2.2

---------------
procps (2:3.3.10-4ubuntu2.2) xenial; urgency=medium

  * Don't start procps on install. This avoids errors on upgrade
    within a container. Backported from yakkety. (LP: #1637300)

procps (2:3.3.10-4ubuntu2.1) xenial; urgency=medium

  * Fix parsing of negative PIDs. (LP: #1637026)

 -- dann frazier <email address hidden> Wed, 26 Oct 2016 18:21:16 -0600

Changed in procps (Ubuntu Xenial):
status: Fix Committed → Fix Released
Revision history for this message
Martin Pitt (pitti) wrote : Update Released

The verification of the Stable Release Update for procps has completed successfully and the package has now been 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.

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.