[Bug 1303891] Re: new initctl should fallback to old reload signal semantics, if pid1 doesn't export reload dbus method
Michael Schaller
misch at google.com
Wed Apr 23 12:56:19 UTC 2014
Dimitri, I've found the issue! The installation of the libselinux1
package during the dist-upgrade from Precise to Trusty causes this
issue!
Here are the details from a freshly installed Ubuntu 12.04.4 amd64 VM:
$ sudo apt-get update -qq && sudo apt-get dist-upgrade -qqy
<no output; no updates>
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.4 LTS"
$ initctl --version
initctl (upstart 1.5)
$ initctl version
init (upstart 1.5)
$ initctl list
avahi-daemon start/running, process 765
...
$ sudo sed -i 's/precise/trusty/g' /etc/apt/sources.list
$ sudo apt-get update -qq
<no ouput; no errors>
$ sudo apt-get install libselinux1 -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
libselinux1
1 upgraded, 0 newly installed, 0 to remove and 1250 not upgraded.
Need to get 58.0 kB of archives.
After this operation, 2,048 B of additional disk space will be used.
Get:1 http://de.archive.ubuntu.com/ubuntu/ trusty/main libselinux1 amd64 2.2.2-1 [58.0 kB]
Fetched 58.0 kB in 0s (330 kB/s)
(Reading database ... 174854 files and directories currently installed.)
Preparing to replace libselinux1 2.1.0-4.1ubuntu1 (using .../libselinux1_2.2.2-1_amd64.deb) ...
Unpacking replacement libselinux1 ...
Setting up libselinux1 (2.2.2-1) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
New dmesg lines:
[ 256.032898] init: Re-executing /sbin/init
New syslog lines:
Apr 23 14:51:40 test upstart-socket-bridge[1090]: Disconnected from Upstart
Apr 23 14:51:40 test upstart-udev-bridge[595]: Disconnected from Upstart
$ initctl list
avahi-daemon stop/waiting
...
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to upstart in Ubuntu.
https://bugs.launchpad.net/bugs/1303891
Title:
new initctl should fallback to old reload signal semantics, if pid1
doesn't export reload dbus method
Status in Upstart:
Fix Committed
Status in “upstart” package in Ubuntu:
Fix Released
Status in “upstart” source package in Trusty:
Fix Released
Bug description:
[Impact]
* Between upgrading upstart to trusty and rebooting: reload (initctl
reload) commands fail and do not SIGHUP upstart jobs.
[Test Case]
* with pid1 being precise init, attempt to perform $ initctl reload
against any job using trusty's initctl
[Regression Potential]
* Minimal, this re-introduces a previously removed code-path as
fallback when reload signal delivery fails.
[Other Info]
* original bug report below
new initctl should fallback to old reload signal semantics, if pid1
doesn't export reload dbus method
as per comment
https://bugs.launchpad.net/upstart/+bug/893021/comments/2
I'm currently testing Precise to Trusty upgrades and encountered - while troubleshooting bug http://pad.lv/1301962 - this issue:
# initctl reload dbus
initctl: Method "Reload" with signature "" on interface "com.ubuntu.Upstart0_6.Instance" doesn't exist
The issue at hand is that during the upgrade the 'upstart' package
will be updated but Precise's Upstart is still running until a reboot.
Trusty's 'upstart' package ships a new 'initctl' binary that handles
reloads only via the 'Reload' D-Bus method. Precise's Upstart doesn't
support the 'Reload' D-Bus method though.
Can Trusty's initctl binary be patched so that it falls back to the previous reload behavior if the Upstart version in use doesn't support the 'Reload' D-Bus method?
Would you like me to open a new bug for this issue?
To manage notifications about this bug go to:
https://bugs.launchpad.net/upstart/+bug/1303891/+subscriptions
More information about the foundations-bugs
mailing list