Fails to launch recovery menu when (at least) Postfix installed
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
friendly-recovery (Ubuntu) |
Triaged
|
Medium
|
Unassigned | ||
postfix (Ubuntu) |
Fix Released
|
High
|
Unassigned |
Bug Description
I have two computers affected by this and one that is not, each running Precise. I've tracked down the cause, but I'm not sure which of the components involved (friendly-recovery, resolvconf, postfix and upstart) is the culprit, so I'll file this for friendly-recovery which is at least severly affected. Feel free to correct the target with better insight.
Steps to reproduce:
0. Have the 'postfix' and 'resolvconf' packages installed.
1. Boot into recovery mode.
What happens:
The boot proceeds in nonsplash (text) mode, but in the end the recovery menu fails to show up. Instead the graphical greeter is brought up.
What I expect to happen:
For the recovery menu to show up so I can use it.
The cause:
For debugging this, I first enabled logging for friendly-
cp: cannot create regular file `/var/spool/
So I checked, and indeed postfix wasn't there on my laptop which wasn't affected. It seems that due to the read-only file system, the resolvconf upstart job fails, which in turn leads to the resolvconf-
The workaround:
Uninstall postfix if you can afford to.
ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: friendly-recovery 0.2.19
ProcVersionSign
Uname: Linux 3.2.0-14-generic x86_64
ApportVersion: 1.91-0ubuntu1
Architecture: amd64
CheckboxSubmission: 09ae689090491ca
CheckboxSystem: edda5d4f616ca79
Date: Mon Feb 6 20:36:29 2012
EcryptfsInUse: Yes
InstallationMedia: Ubuntu 9.10 "Karmic Koala" - Release amd64 (20091027)
PackageArchitec
SourcePackage: friendly-recovery
UpgradeStatus: Upgraded to precise on 2012-01-17 (20 days ago)
mtime.conffile.
I think this is a bug in both postfix and friendly-recovery.
- resolvconf will always be run in early boot, to ensure that /etc/resolv.conf is available ASAP - *before* the root filesystem is mounted read-write. Any resolvconf hooks, such as /etc/resolvconf /update- libc.d/ postfix, *must* account for this and not exit non-zero if the filesystem is not yet writable. (The hook can and should be a no-op at this point in the boot, because the postfix init script which runs later will do its own copy of /etc/resolv.conf into the chroot.)
- friendly-recovery should not care about the exit status of the initctl emit command. It should still wait for all dependent events to trigger in order to not race, but it should not care if one of the dependent jobs has failed.
So this is a medium-severity bug in friendly-recovery, and a high-severity bug in postfix.