[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