1

I stopped RabbitMQ for a short time on my Windows (2012) server. However, when I tried to restart it, it would shut down again within about 30 seconds.

The Windows Event Log had the following message:

RabbitMQ: Erlang machine voluntarily stopped. The service is not restarted as OnFail is set to ignore.

The RabbitMQ error log had the following message:

=ERROR REPORT==== 12-Aug-2013::13:16:59 ===
** Generic server rabbit_web_dispatch_registry terminating 
** Last message in was {add,rabbit_mgmt,
                            [{port,15672}],
                            #Fun<rabbit_web_dispatch.1.31447083>,
                            #Fun<rabbit_mgmt_app.2.5043001>,
                            {[],"RabbitMQ Management"}}
** When Server state == undefined
** Reason for termination == 
** {could_not_start_listener,[{port,15672}],eaddrinuse}

However, I know that there is very little running on the machine, and nothing else should be trying to bind to that port.

What could be causing this?

Moshe Katz
  • 3,112
  • 5
  • 28
  • 43

3 Answers3

3

If you reinstall RabbitMQ and have issues running it as a windows service, a workaround could be the following:

In cmd.exe, run from the rabbit sbin folder:

rabbitmq-service.bat remove
rabbitmq-service.bat install
net start rabbitmq

It worked for me on windows 7.

alinnemet
  • 139
  • 4
  • That may be true, but it has absolutely nothing to do with this question. This question says nothing about reinstalling RabbitMQ. – Moshe Katz May 01 '14 at 15:34
  • True, actually what I meant to say is that "if you get errors from rabbit service, after stopping it and then it fails to start, for instance, and somehow opt for a re install, but then get errors from Erlang machine, then..." I think that, at least on Win7, because of some admin privileges, nothing but the above commands seemed to be putting rabbit service back on track. – alinnemet May 21 '14 at 09:29
1

The command netstat -ab can be used to see what program is using each port. (Note that these arguments are only for Windows. The similar linux command would be netstat -lp. Both platforms require the user to be an administrator to execute these commands.)

In this case, I had left a Google Chrome window open to the RabbitMQ management console (http://localhost:15672/) and Chrome was somehow keeping the port in use. After I closed the browser tab, I was able to start RabbitMQ.

Moshe Katz
  • 3,112
  • 5
  • 28
  • 43
0

Stop RabbitMQ Services, got to C:\RabbitMQ\rabbit@XXXXXX-mnesia\ folder. If the file recovery.dets is 0kb, backup and delete it, then restart RabbitMQ. This should recreate a new recovery.dets which is 6kb or more in size.