Hi,<br><br>We&#39;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&#39;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&#39;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,&#39;rabbit_tcp_listener_sup_0.0.0.0:5672&#39;,<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>                             &quot;TCP Listener&quot;]},<br>                        transient,infinity,supervisor,<br>                        [tcp_listener_sup]}}}}<br>
Stacktrace: [{rabbit_networking,start_listener0,4},<br>             {rabbit_networking,&#39;-start_listener/4-lc$^0/1-0-&#39;,4},<br>             {rabbit_networking,start_listener,4},<br>             {rabbit_networking,&#39;-boot_tcp/0-lc$^0/1-0-&#39;,1},<br>
             {rabbit_networking,boot_tcp,0},<br>             {rabbit_networking,boot,0},<br>             {rabbit,&#39;-run_boot_step/1-lc$^1/1-1-&#39;,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&gt; {&quot;Kernel pid terminated&quot;,application_controller,&quot;{application_start_failure,rabbit,{bad_return,{{rabbit,start,[normal,[]]},{&#39;EXIT&#39;,{rabbit,failure_during_boot}}}}}&quot;}<br>
<br>The port is definitely not in use. Nor is there a firewall enabled.<br><br>Having looked though the archives we&#39;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>