[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
Tue Apr 15 08:03:15 UTC 2014
And here are the details from my VM:
# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.4 LTS"
# dpkg -l | egrep -v '^rc|^ii'
<no output; all packages are healthy>
# dpkg -l | grep upstart
ii upstart 1.5-0ubuntu7.2 event-based init daemon
# initctl version
init (upstart 1.5)
# initctl --version
initctl (upstart 1.5)
# initctl status dbus
dbus start/running, process 699
# ps ax | grep dbus-daemon | grep system
699 ? Ss 0:00 dbus-daemon --system --fork --activation=upstart
# initctl reload dbus ; echo "exit code: $?"
exit code: 0
>>> apt-get dist-upgrade; apt-get install -f; ...
# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04 LTS"
# dpkg -l | egrep -v '^rc|^ii'
iF bluez 4.101-0ubuntu13 amd64 Bluetooth tools and daemons
iU gnome-bluetooth 3.8.2.1-0ubuntu4 amd64 GNOME Bluetooth tools
iU gnome-user-share 3.0.4-0ubuntu1 amd64 User level public file sharing via WebDAV or ObexFTP
iU indicator-bluetooth 0.0.6+14.04.20140207-0ubuntu2 amd64 System bluetooth indicator.
# dpkg -l | grep upstart
ii libupstart1:amd64 1.12.1-0ubuntu4 amd64 Upstart Client Library
ii upstart 1.12.1-0ubuntu4 amd64 event-based init daemon
# initctl version
init (upstart 1.5)
# initctl --version
initctl (upstart 1.12.1)
# initctl status dbus
dbus start/running
# ps ax | grep dbus-daemon | grep system
699 ? Ss 0:01 dbus-daemon --system --fork --activation=upstart
# initctl reload dbus ; echo "exit code: $?"
initctl: Not running
exit code: 1
>>> The dist-upgrade/dpkg output doesn't show any irregularities regarding dbus though:
Setting up dbus (1.6.18-0ubuntu4) ...
Installing new version of config file /etc/init/dbus.conf ...
dbus start/running
Dimitri, to me it looks like as if Upstart lost track of the dbus process during the dist-upgrade.
What do you think?
--
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