RabbitMQ 3.4.1 on windows - service install wipes out registry

833 views
Skip to first unread message

stephen....@gmail.com

unread,
Aug 24, 2015, 7:16:00 PM8/24/15
to rabbitmq-users
I'm having an issue installing RabbitMQ 3.4.1. on Windows Server 2008. I have two machines in a cluster and i'm going to create a RabbitMQ cluster with one node on each machine. I am running RabbitMQ server as a windows service.

I've installed RabbitMQ individually on both machines. One installation has worked fine but on the other i'm not able to send messages to the node. 

I have two environment variables set:

RABBITMQ_BASE
RABBITMQ_CONFIG_FILE

On the machine that's failing i've found that the HKLM\software\ericsson\erlang\erlsrv\1.1\rabbitmq registry settings are not being set correctly. The Args, Comment, Env, Machine settings are empty (the keys are there, but not the value). The SName is set to 'RabbitMQ'.

If I manually populate the registry settings I can get the service to work correctly and send messages to a queue. But if I remove and install the service (using sbin\rabbitmq-service.bat) it wipes out the registry settings again.

Has anyone seen this behaviour before?

Michael Klishin

unread,
Aug 24, 2015, 7:19:50 PM8/24/15
to rabbitm...@googlegroups.com, stephen....@gmail.com
On 25 August 2015 at 02:16:03, stephen....@gmail.com (stephen....@gmail.com) wrote:
> If I manually populate the registry settings I can get the service
> to work correctly and send messages to a queue. But if I remove
> and install the service (using sbin\rabbitmq-service.bat)
> it wipes out the registry settings again.
>
> Has anyone seen this behaviour before?

I don't recall anything similar.

While not really related, even if you need to run 3.4.x, please use 3.4.4, which
has several CVEs fixed among other things. 
--
MK

Staff Software Engineer, Pivotal/RabbitMQ


stephen....@gmail.com

unread,
Aug 24, 2015, 7:24:53 PM8/24/15
to rabbitmq-users, stephen....@gmail.com
Is there any logging I can turn on to determine why the registry settings are being overridden?

Michael Klishin

unread,
Aug 24, 2015, 7:28:22 PM8/24/15
to rabbitm...@googlegroups.com, stephen....@gmail.com, stephen....@gmail.com
On 25 August 2015 at 02:24:55, stephen....@gmail.com (stephen....@gmail.com) wrote:
> Is there any logging I can turn on to determine why the registry
> settings are being overridden?

There is no logging in the installer. Here are the relevant files in 3.4.4:

https://github.com/rabbitmq/rabbitmq-server/blob/rabbitmq_v3_4_4/packaging/windows-exe/rabbitmq_nsi.in
https://github.com/rabbitmq/rabbitmq-server/blob/rabbitmq_v3_4_4/scripts/rabbitmq-service.bat 

stephen....@gmail.com

unread,
Aug 24, 2015, 7:57:10 PM8/24/15
to rabbitmq-users, stephen....@gmail.com
Thanks, i'll take a look.

Jared Kauppila

unread,
Aug 25, 2015, 1:59:12 PM8/25/15
to rabbitmq-users
Has the machine been rebooted after creating the environment variables?

It sounds like they're not visible to the session that is attempting to install the service.

stephen....@gmail.com

unread,
Aug 25, 2015, 6:30:32 PM8/25/15
to rabbitmq-users, stephen....@gmail.com
I've discovered what the issue was. There was a trailing slash on the path for the RABBITMQ_BASE environment variable.  

Running rabbitmq_service.bat gave us a couple of errors where it was calling erlsrv.exe to set the registry arguments. The errors are:

erlsrv: Could not retrieve any registered data for RabbitMQ.

erlsrv: Unrecognized option robust.

Unfortunately the installer fails silently on this and i'd missed it because we'd initially used the windows start menu to execute the commands.

Removing the trailing slash from the environment variable solved the problem.

Thanks for your help.

Michael Klishin

unread,
Aug 25, 2015, 6:32:08 PM8/25/15
to rabbitm...@googlegroups.com, stephen....@gmail.com
On 26 August 2015 at 01:30:34, stephen....@gmail.com (stephen....@gmail.com) wrote:
> I've discovered what the issue was. There was a trailing slash
> on the path for the RABBITMQ_BASE environment variable.
>
> Running rabbitmq_service.bat gave us a couple of errors where
> it was calling erlsrv.exe to set the registry arguments. The
> errors are:
>
> erlsrv: Could not retrieve any registered data for RabbitMQ.
>
> erlsrv: Unrecognized option robust.
>
> Unfortunately the installer fails silently on this and i'd missed
> it because we'd initially used the windows start menu to execute
> the commands.
>
> Removing the trailing slash from the environment variable solved
> the problem.

Ugh. I wonder how much we can improve there, given that Windows command line options
use slashes.

Thank you for following-up!
Reply all
Reply to author
Forward
0 new messages