<div>I'm running RabbitMQ 3.0.1 on a Windows Server 2008 x64 machine with Erlang R15B01, but from time to time RabbitMQ crashes and corrupts its database.</div><div><br></div><div>When starting, I get the following error in my log file.</div><div><br></div><div>Error description:</div><div>&nbsp; &nbsp;{could_not_start,rabbit,</div><div>&nbsp; &nbsp; {bad_return,</div><div>&nbsp; &nbsp; &nbsp;{{rabbit,start,[normal,[]]},</div><div>&nbsp; &nbsp; &nbsp; {'EXIT',</div><div>&nbsp; &nbsp; &nbsp; &nbsp;{rabbit,failure_during_boot,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; {badmatch,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{error,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {{{function_clause,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[{rabbit_queue_index,journal_minus_segment1,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[{no_pub,no_del,ack},undefined],</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[]},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {rabbit_queue_index,'-journal_minus_segment/2-fun-0-',4,[]},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {array,sparse_foldl_3,7,[{file,"array.erl"},{line,1675}]},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {array,sparse_foldl_2,9,[{file,"array.erl"},{line,1669}]},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {rabbit_queue_index,'-recover_journal/1-fun-0-',1,[]},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {lists,map,2,[{file,"lists.erl"},{line,1173}]},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {rabbit_queue_index,segment_map,2,[]},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {rabbit_queue_index,recover_journal,1,[]}]},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {gen_server2,call,[&lt;0.211.0&gt;,out,infinity]}},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{child,undefined,msg_store_persistent,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {rabbit_msg_store,start_link,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[msg_store_persistent,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "c:/Users/RabbitUser/AppData/Roaming/RabbitMQ/db/rabbit@RH-PORTAL-mnesia",</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [],</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {#Fun&lt;rabbit_queue_index.2.89252852&gt;,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{start,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [{resource,&lt;&lt;"rexholmmcb"&gt;&gt;,queue,&lt;&lt;"DynamicsNav_control"&gt;&gt;},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{resource,&lt;&lt;"rexholmmcb"&gt;&gt;,queue,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;&lt;"RexholmService_control"&gt;&gt;},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{resource,&lt;&lt;"rexholmmcb"&gt;&gt;,queue,&lt;&lt;"RexholmService"&gt;&gt;},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{resource,&lt;&lt;"rexholmmcb"&gt;&gt;,queue,&lt;&lt;"DynamicsNav"&gt;&gt;},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{resource,&lt;&lt;"rexholmmcb"&gt;&gt;,queue,&lt;&lt;"McbService"&gt;&gt;},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{resource,&lt;&lt;"rexholmmcb"&gt;&gt;,queue,&lt;&lt;"McbService_error"&gt;&gt;},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{resource,&lt;&lt;"rexholmmcb"&gt;&gt;,queue,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;&lt;"McbService_control"&gt;&gt;}]}}]},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; transient,4294967295,worker,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [rabbit_msg_store]}}}}}}}}}</div><div><br></div><div>Log files (may contain more information):</div><div>&nbsp; &nbsp;C:/Users/RabbitUser/AppData/Roaming/RabbitMQ/log/rabbit@RH-PORTAL.log</div><div>&nbsp; &nbsp;C:/Users/RabbitUser/AppData/Roaming/RabbitMQ/log/rabbit@RH-PORTAL-sasl.log</div><div><br></div><div>Just before that badmatch error, I have these two entries in the log:</div><div><div>=ERROR REPORT==== 7-Jan-2013::13:50:35 ===</div><div>** Generic server &lt;0.165.0&gt; terminating</div><div>** Last message in was {'$gen_cast',</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{submit_async,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#Fun&lt;rabbit_queue_index.26.17658518&gt;}}</div><div>** When Server state == 1</div><div>** Reason for termination ==&nbsp;</div><div>** {function_clause,</div><div>&nbsp; &nbsp; &nbsp; &nbsp;[{rabbit_queue_index,journal_minus_segment1,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [{no_pub,no_del,ack},undefined],</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; []},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; {rabbit_queue_index,'-journal_minus_segment/2-fun-0-',4,[]},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; {array,sparse_foldl_3,7,[{file,"array.erl"},{line,1675}]},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; {array,sparse_foldl_2,9,[{file,"array.erl"},{line,1669}]},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; {rabbit_queue_index,'-recover_journal/1-fun-0-',1,[]},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; {lists,map,2,[{file,"lists.erl"},{line,1173}]},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; {rabbit_queue_index,segment_map,2,[]},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; {rabbit_queue_index,recover_journal,1,[]}]}</div><div><br></div><div>=ERROR REPORT==== 7-Jan-2013::13:50:35 ===</div><div>** Generic server &lt;0.216.0&gt; terminating</div><div>** Last message in was {'$gen_cast',</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{submit_async,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#Fun&lt;rabbit_queue_index.26.17658518&gt;}}</div><div>** When Server state == 1</div><div>** Reason for termination ==&nbsp;</div><div>** {noproc,[{erlang,link,[&lt;0.215.0&gt;],[]},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {rabbit_queue_index,'-queue_index_walker/1-fun-0-',2,[]},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {worker_pool_worker,handle_cast,2,[]},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {gen_server2,handle_msg,2,[]},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,227}]}]}</div><div><br></div><div>=ERROR REPORT==== 7-Jan-2013::13:50:35 ===</div><div>** Generic server &lt;0.217.0&gt; terminating</div><div>** Last message in was {'$gen_cast',</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{submit_async,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#Fun&lt;rabbit_queue_index.26.17658518&gt;}}</div><div>** When Server state == 2</div><div>** Reason for termination ==&nbsp;</div><div>** {noproc,[{erlang,link,[&lt;0.215.0&gt;],[]},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {rabbit_queue_index,'-queue_index_walker/1-fun-0-',2,[]},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {worker_pool_worker,handle_cast,2,[]},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {gen_server2,handle_msg,2,[]},</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,227}]}]}</div></div><div><br></div><div>Is this a known problem, and what could I do to resolve it?</div><div>I don't know how to provoke it. It happens sporadically with several weeks between.</div><div><br></div><div>Best Regards</div><div>Kenneth</div>