Hi,<br><br>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).<br><br>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. <br>
<br>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<br>-- rabbit boot start<br>
starting file handle cache server ...done<br>starting worker pool ...done<br>starting database ...done<br>
starting codec correctness check ...done<br>-- external infrastructure ready<br>starting statistics event manager ...done<br>starting logging server ...done<br>
starting plugin registry ...done<br>starting auth mechanism amqplain ...done<br>starting auth mechanism cr-demo ...done<br>
starting auth mechanism plain ...done<br>starting exchange type direct ...done<br>starting exchange type fanout ...done<br>
starting exchange type headers ...done<br>starting exchange type topic ...done<br>-- kernel ready<br>starting node monitor ...done<br>
starting cluster delegate ...done<br>starting guid generator ...done<br>starting alarm handler ...done<br>
starting memory monitor ...done<br>-- core initialized<br>starting empty DB check ...done<br>starting exchange, queue and binding recovery ...done<br>
-- message delivery logic ready<br>starting error log relay ...done<br>starting networking ...BOOT ERROR: FAILED<br>Reason: {badmatch,<br>
{error,<br> {shutdown,<br> {child,undefined,'rabbit_tcp_listener_sup_0.0.0.0:5672',<br> {tcp_listener_sup,start_link,<br> [{0,0,0,0},<br>
5672,<br> [inet,binary,<br> {packet,raw},<br> {reuseaddr,true},<br> {backlog,128},<br>
{nodelay,true},<br> {exit_on_close,false}],<br> {rabbit_networking,tcp_listener_started,[amqp]},<br> {rabbit_networking,tcp_listener_stopped,[amqp]},<br>
{rabbit_networking,start_client,[]},<br> "TCP Listener"]},<br> transient,infinity,supervisor,<br> [tcp_listener_sup]}}}}<br>
Stacktrace: [{rabbit_networking,start_listener0,4},<br> {rabbit_networking,'-start_listener/4-lc$^0/1-0-',4},<br> {rabbit_networking,start_listener,4},<br> {rabbit_networking,'-boot_tcp/0-lc$^0/1-0-',1},<br>
{rabbit_networking,boot_tcp,0},<br> {rabbit_networking,boot,0},<br> {rabbit,'-run_boot_step/1-lc$^1/1-1-',1},<br> {rabbit,run_boot_step,1}]<br>in message_loop<br>win32sysinfo:Erlang has closed.Eshell V5.8.4 (abort with ^G)<br>
(rabbit@UKFAST-QOB4QITU)1> {"Kernel pid terminated",application_controller,"{application_start_failure,rabbit,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',{rabbit,failure_during_boot}}}}}"}<br>
<br>The port is definitely not in use. Nor is there a firewall enabled.<br><br>Having looked though the archives we've tried passing in sname and name arguments to erl.exe with no luck.<br><br>The interesting thing is that we can get RabbitMQ to run as an application on this box, using the standard rabbitmq-server.bat. <br>
<br>After a bit of messing around we also found that if we set <span class="term">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 .<br>
<br>Does anyone have any thoughts on why the standard service install would fail but the application and modified install seem to work fine.<br><br>How safe is it to use erl.exe from </span><span class="term">erl5.8.4\bin\erl.exe rather than </span><span class="term">erl5.8.4\erts-5.8.4\bin\erl.exe? i.e is this an acceptable workaround.<br>
<br>Thanks in advance for any help.<br><br>Regards<br><br>Richard<br><br></span>