[rabbitmq-discuss] Problems starting RabbitMQ as a windows service.
Richard Hudson
richard.hudson at paragon.co.nz
Mon Aug 15 00:26:32 BST 2011
Hi,
We've recently moved over to using RabbitMQ from MSMQ and have generally had
success in running RabbitMQ as a windows service on a number of different
OSes (XP, Windows2003, Windows 7).
However, we've come across a strange problem when starting up a rabbitMQ
service on Windows 2003 SP2 on a VM, using RabbitMQ 2.51 and Erlang 5.8.4.
Not sure if the VM aspect is relevant.
Using the rabbitmq-service.bat to install the service, the service (running
under the local system account) starts and stops pretty much straight away.
Here's the output from rabbitMQ.debug
-- rabbit boot start
starting file handle cache server
...done
starting worker pool
...done
starting database
...done
starting codec correctness check
...done
-- external infrastructure ready
starting statistics event manager
...done
starting logging server
...done
starting plugin registry
...done
starting auth mechanism amqplain
...done
starting auth mechanism cr-demo
...done
starting auth mechanism plain
...done
starting exchange type direct
...done
starting exchange type fanout
...done
starting exchange type headers
...done
starting exchange type topic
...done
-- kernel ready
starting node monitor
...done
starting cluster delegate
...done
starting guid generator
...done
starting alarm handler
...done
starting memory monitor
...done
-- core initialized
starting empty DB check
...done
starting exchange, queue and binding recovery
...done
-- message delivery logic ready
starting error log relay
...done
starting networking
...BOOT ERROR: FAILED
Reason: {badmatch,
{error,
{shutdown,
{child,undefined,'rabbit_tcp_listener_sup_0.0.0.0:5672',
{tcp_listener_sup,start_link,
[{0,0,0,0},
5672,
[inet,binary,
{packet,raw},
{reuseaddr,true},
{backlog,128},
{nodelay,true},
{exit_on_close,false}],
{rabbit_networking,tcp_listener_started,[amqp]},
{rabbit_networking,tcp_listener_stopped,[amqp]},
{rabbit_networking,start_client,[]},
"TCP Listener"]},
transient,infinity,supervisor,
[tcp_listener_sup]}}}}
Stacktrace: [{rabbit_networking,start_listener0,4},
{rabbit_networking,'-start_listener/4-lc$^0/1-0-',4},
{rabbit_networking,start_listener,4},
{rabbit_networking,'-boot_tcp/0-lc$^0/1-0-',1},
{rabbit_networking,boot_tcp,0},
{rabbit_networking,boot,0},
{rabbit,'-run_boot_step/1-lc$^1/1-1-',1},
{rabbit,run_boot_step,1}]
in message_loop
win32sysinfo:Erlang has closed.Eshell V5.8.4 (abort with ^G)
(rabbit at UKFAST-QOB4QITU)1> {"Kernel pid
terminated",application_controller,"{application_start_failure,rabbit,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',{rabbit,failure_during_boot}}}}}"}
The port is definitely not in use. Nor is there a firewall enabled.
Having looked though the archives we've tried passing in sname and name
arguments to erl.exe with no luck.
The interesting thing is that we can get RabbitMQ to run as an application
on this box, using the standard rabbitmq-server.bat.
After a bit of messing around we also found that if we set
HKEY_LOCAL_MACHINE\SOFTWARE\Ericsson\Erlang\ErlSrv\1.1\RabbitMQ\Machine
to point to D:\Program Files\erl5.8.4\bin\erl.exe rather than D:\Program
Files\erl5.8.4\erts-5.8.4\bin\erl.exe then the service also runs. Queues get
created and we can successfully publish/subscribe to queues .
Does anyone have any thoughts on why the standard service install would fail
but the application and modified install seem to work fine.
How safe is it to use erl.exe from erl5.8.4\bin\erl.exe rather than
erl5.8.4\erts-5.8.4\bin\erl.exe?
i.e is this an acceptable workaround.
Thanks in advance for any help.
Regards
Richard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20110815/90cb0e8c/attachment.htm>
More information about the rabbitmq-discuss
mailing list