Public bug reported:

Last night, unattended-upgrades upgraded the erlang packages on our
RabbitMQ server from 1:18.3-dfsg-1ubuntu3 to 1:18.3-dfsg-1ubuntu3.1.
erlang-base's prerm script successfully found and stopped rabbitmq-
server, and the postinst script tried to start it again:

# From /var/log/apt/term.log, same in 
/var/log/unattended-upgrades/unattended-upgrades-dpkg.log
#...
Preparing to unpack .../erlang-base_1%3a18.3-dfsg-1ubuntu3.1_amd64.deb ...
Searching for services which depend on erlang and should be stopped...found: 
rabbitmq-server.
Stopping services which depend on erlang
  rabbitmq-server: stopping...done.
Services stopped successfully.
Killing epmd...it is not running.
Unpacking erlang-base (1:18.3-dfsg-1ubuntu3.1) over (1:18.3-dfsg-1ubuntu3) ...
Preparing to unpack .../erlang-nox_1%3a18.3-dfsg-1ubuntu3.1_all.deb ...
Unpacking erlang-nox (1:18.3-dfsg-1ubuntu3.1) over (1:18.3-dfsg-1ubuntu3) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up erlang-base (1:18.3-dfsg-1ubuntu3.1) ...
Searching for services which depend on erlang and should be started...found: 
rabbitmq-server.
Starting services which depend on erlang
  rabbitmq-server: starting...done.
Services started successfully.
#...

I looked into erlang-base.prerm and erlang-base.postinst and ran the
relevant snippets manually, and it looks like they would have used
"invoke-rc.d":

   invoke-rc.d rabbitmq-server stop  > /dev/null 2>&1   # from erlang-base.prerm
   invoke-rc.d rabbitmq-server start > /dev/null 2>&1   # from 
erlang-base.postinst

But while the stop command succeeded, the start command did not, and
there isn't any evidence in the logs that it was ever issued. This is
the reason why I think this is a bug in the erlang package (or possibly
invoke-rc.d/init-system-helpers?), and not in rabbitmq-server:

# journalctl
Feb 16 06:30:03 rabbit-b systemd[1]: Starting Daily apt upgrade and clean 
activities...
Feb 16 06:30:48 rabbit-b systemd[1]: Reloading.
Feb 16 06:30:49 rabbit-b systemd[1]: Started ACPI event daemon.
Feb 16 06:30:49 rabbit-b systemd[1]: Stopping RabbitMQ Messaging Server...
Feb 16 06:30:50 rabbit-b rabbitmq[6596]: Stopping and halting node 
'rabbit@rabbit-b' ...
Feb 16 06:30:51 rabbit-b systemd[1]: Stopped RabbitMQ Messaging Server.
Feb 16 06:30:52 rabbit-b systemd[1]: Reloading.
Feb 16 06:30:52 rabbit-b systemd[1]: Started ACPI event daemon.
Feb 16 06:30:54 rabbit-b systemd[1]: Reloading.
Feb 16 06:30:54 rabbit-b systemd[1]: Started ACPI event daemon.
# ... and the next log entry is from after unattended-upgrades had ended at 
06:30:56

# /var/log/rabbitmq/rab...@rabbit-b.log
=INFO REPORT==== 16-Feb-2018::06:30:50 ===
Stopping RabbitMQ
#... lots of AMQP connection closures
=INFO REPORT==== 16-Feb-2018::06:30:51 ===
Halting Erlang VM
# ... and the next log entry is from 2h later when we manually started RabbitMQ 
again

This is Ubuntu 16.04.2 LTS with all security patches and the latest
rabbitmq-server (3.5.7-1ubuntu0.16.04.2)

PS: Where are the sources for erlang-base.prerm and erlang-
base.postinst? https://packages.debian.org/source/stretch/erlang points
to http://anonscm.debian.org/viewvc/pkg-erlang/erlang/trunk/, but that
link is dead

** Affects: erlang (Ubuntu)
     Importance: Undecided
         Status: New

** Description changed:

  Last night, unattended-upgrades upgraded the erlang packages on our
  RabbitMQ server from 1:18.3-dfsg-1ubuntu3 to 1:18.3-dfsg-1ubuntu3.1.
  erlang-base's prerm script successfully found and stopped rabbitmq-
  server, and the postinst script tried to start it again:
  
  # From /var/log/apt/term.log, same in 
/var/log/unattended-upgrades/unattended-upgrades-dpkg.log
  #...
  Preparing to unpack .../erlang-base_1%3a18.3-dfsg-1ubuntu3.1_amd64.deb ...
  Searching for services which depend on erlang and should be stopped...found: 
rabbitmq-server.
  Stopping services which depend on erlang
-   rabbitmq-server: stopping...done.
+   rabbitmq-server: stopping...done.
  Services stopped successfully.
  Killing epmd...it is not running.
  Unpacking erlang-base (1:18.3-dfsg-1ubuntu3.1) over (1:18.3-dfsg-1ubuntu3) ...
  Preparing to unpack .../erlang-nox_1%3a18.3-dfsg-1ubuntu3.1_all.deb ...
  Unpacking erlang-nox (1:18.3-dfsg-1ubuntu3.1) over (1:18.3-dfsg-1ubuntu3) ...
  Processing triggers for man-db (2.7.5-1) ...
  Setting up erlang-base (1:18.3-dfsg-1ubuntu3.1) ...
  Searching for services which depend on erlang and should be started...found: 
rabbitmq-server.
  Starting services which depend on erlang
-   rabbitmq-server: starting...done.
+   rabbitmq-server: starting...done.
  Services started successfully.
  #...
  
+ I looked into erlang-base.prerm and erlang-base.postinst and ran the
+ relevant snippets manually, and it looks like they would have used
+ "invoke-rc.d":
  
- I looked into erlang-base.prerm and erlang-base.postinst and ran the relevant 
snippets manually, and it looks like they would have used "invoke-rc.d":
- 
-    invoke-rc.d rabbitmq-server stop  > /dev/null 2>&1   # from 
erlang-base.prerm
-    invoke-rc.d rabbitmq-server start > /dev/null 2>&1   # from 
erlang-base.postinst
-   
+    invoke-rc.d rabbitmq-server stop  > /dev/null 2>&1   # from 
erlang-base.prerm
+    invoke-rc.d rabbitmq-server start > /dev/null 2>&1   # from 
erlang-base.postinst
  
  But while the stop command succeeded, the start command did not, and
  there isn't any evidence in the logs that it was ever issued. This is
- the reason why I think this is a but in erlang (or possibly invoke-rc.d
- /init-system-helpers?), and not in rabbitmq-server:
+ the reason why I think this is a bug in the erlang package (or possibly
+ invoke-rc.d/init-system-helpers?), and not in rabbitmq-server:
  
  # journalctl
  Feb 16 06:30:03 rabbit-b systemd[1]: Starting Daily apt upgrade and clean 
activities...
  Feb 16 06:30:48 rabbit-b systemd[1]: Reloading.
  Feb 16 06:30:49 rabbit-b systemd[1]: Started ACPI event daemon.
  Feb 16 06:30:49 rabbit-b systemd[1]: Stopping RabbitMQ Messaging Server...
  Feb 16 06:30:50 rabbit-b rabbitmq[6596]: Stopping and halting node 
'rabbit@rabbit-b' ...
  Feb 16 06:30:51 rabbit-b systemd[1]: Stopped RabbitMQ Messaging Server.
  Feb 16 06:30:52 rabbit-b systemd[1]: Reloading.
  Feb 16 06:30:52 rabbit-b systemd[1]: Started ACPI event daemon.
  Feb 16 06:30:54 rabbit-b systemd[1]: Reloading.
  Feb 16 06:30:54 rabbit-b systemd[1]: Started ACPI event daemon.
  # ... and the next log entry is from after unattended-upgrades had ended at 
06:30:56
  
  # /var/log/rabbitmq/rab...@rabbit-b.log
- =INFO REPORT==== 16-Feb-2018::06:30:50 === 
+ =INFO REPORT==== 16-Feb-2018::06:30:50 ===
  Stopping RabbitMQ
  #... lots of AMQP connection closures
  =INFO REPORT==== 16-Feb-2018::06:30:51 ===
  Halting Erlang VM
  # ... and the next log entry is from 2h later when we manually started 
RabbitMQ again
  
+ This is Ubuntu 16.04.2 LTS with all security patches and the latest
+ rabbitmq-server (3.5.7-1ubuntu0.16.04.2)
  
- This is Ubuntu 16.04.2 LTS with all security patches and the latest 
rabbitmq-server (3.5.7-1ubuntu0.16.04.2)
- 
- 
- PS: Where are the sources for erlang-base.prerm and erlang-base.postinst? 
https://packages.debian.org/source/stretch/erlang points to 
http://anonscm.debian.org/viewvc/pkg-erlang/erlang/trunk/, but that link is dead
+ PS: Where are the sources for erlang-base.prerm and erlang-
+ base.postinst? https://packages.debian.org/source/stretch/erlang points
+ to http://anonscm.debian.org/viewvc/pkg-erlang/erlang/trunk/, but that
+ link is dead

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1749959

Title:
  Upgrade of erlang-base left rabbitmq-server dead

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/erlang/+bug/1749959/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to