[Bug 1784757] [rabbitmq-server/bionic] verification still needed

Brian Murray 1784757 at bugs.launchpad.net
Wed Oct 28 19:29:28 UTC 2020


The fix for this bug has been awaiting testing feedback in the -proposed
repository for bionic for more than 90 days.  Please test this fix and
update the bug appropriately with the results.  In the event that the
fix for this bug is still not verified 15 days from now, the package
will be removed from the -proposed repository.

** Tags added: removal-candidate

-- 
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to rabbitmq-server in Ubuntu.
https://bugs.launchpad.net/bugs/1784757

Title:
  [SRU] rabbitmq-server does not properly shutdown

Status in rabbitmq-server package in Ubuntu:
  Fix Released
Status in rabbitmq-server source package in Bionic:
  Fix Committed
Status in rabbitmq-server source package in Cosmic:
  Won't Fix
Status in rabbitmq-server package in Debian:
  Fix Released

Bug description:
  [Impact]

  The systemd file rabbitmq-server.service on Bionic uses "Type=simple"
  when defining the service, but unfortunately this doesn't work very
  well for rabbitmq-server. In certain situations, systemd will fail to
  keep track of a start/stop/restart event, and will hang for 90 seconds
  before giving the prompt back to the user. Another problem is that
  rabbitmq-server must start after the epmd service, so we need to
  explicitly declare this dependency in the service file.

  [Test Case]

  Although I was able to reproduce this almost 100% of the time, there
  were rare occasions when the restart procedure finished normally. I
  was also only able to reproduce it using a bionic VM, not a container.
  If you have multipass or lxd configured to launch VMs, that should be
  easy.

  The steps are:

  $ lxc launch ubuntu-daily:bionic --vm bug1784757-rabbitmq-server # or use multipass
  $ lxc shell bug1784757-rabbitmq-server
  # apt update
  # apt install rabbitmq-server -y
  # systemctl restart rabbitmq-server.service

  In a normal scenario, the restart should take around 3 seconds or
  less. With the bug, it takes around 90 seconds. If you can't reproduce
  it, try running "systemctl restart" again. A quick way to trigger it
  is to run a for loop like:

  # for i in $(seq 10); do time systemctl restart rabbitmq-
  server.service ; done

  [Regression Potential]

  * Because rabbitmq-server implements systemd's "Type=notify" using
  socat to communicate with systemd-notify over a socket, we will be
  introducing another point of failure (socat) in the mix.

  * So, albeit unlikely, there may be a problem when using socat.  That
  would not be a regression, though, since the outcome would be the same
  as we have today: "systemctl restart" would not properly work, even
  though the service did restart.

  [Original Report]

  When I run `systemctl restart rabbitmq-server` it waits for 90 seconds
  then systemd sends SIGKILL to it.

  Presumably the `epmd` process does not receive SIGTERM, since if I run
  `kill 1493` (or whatever pid it currently is) then restart happens
  straight after that successfully

  ● rabbitmq-server.service - RabbitMQ Messaging Server
     Loaded: loaded (/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: enabled)
     Active: deactivating (final-sigterm) since Wed 2018-08-01 01:17:04 UTC; 7s ago
    Process: 1183 ExecStop=/usr/sbin/rabbitmqctl stop (code=exited, status=0/SUCCESS)
    Process: 178 ExecStartPost=/usr/lib/rabbitmq/bin/rabbitmq-server-wait (code=exited, status=0/SUCCESS)
    Process: 177 ExecStart=/usr/sbin/rabbitmq-server (code=killed, signal=TERM)
   Main PID: 177 (code=killed, signal=TERM)
      Tasks: 1 (limit: 4915)
     CGroup: /system.slice/rabbitmq-server.service
             └─1493 /usr/lib/erlang/erts-9.2/bin/epmd -daemon

  Aug 01 01:11:20 rmq-1 systemd[1]: rabbitmq-server.service: Failed to reset devices.list: Operation not permitted
  Aug 01 01:11:20 rmq-1 systemd[1]: Starting RabbitMQ Messaging Server...
  Aug 01 01:11:25 rmq-1 rabbitmq[178]: Waiting for 'rabbit at rmq-1'
  Aug 01 01:11:25 rmq-1 rabbitmq[178]: pid is 204
  Aug 01 01:11:30 rmq-1 systemd[1]: Started RabbitMQ Messaging Server.
  Aug 01 01:17:04 rmq-1 systemd[1]: Stopping RabbitMQ Messaging Server...
  Aug 01 01:17:06 rmq-1 rabbitmq[1183]: Stopping and halting node 'rabbit at rmq-1'

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/rabbitmq-server/+bug/1784757/+subscriptions



More information about the Ubuntu-openstack-bugs mailing list