Hello all,<div><br></div><div>Today my ejabberd crashed quite suddenly with the following error:</div><div><br></div><div><div>=ERROR REPORT==== 2012-04-16 15:59:31 ===</div><div>Mnesia('<a href="mailto:ejabberd@10.0.0.100">ejabberd@10.0.0.100</a>'): ** ERROR ** (could not write core file: emfile)</div>
<div> ** FATAL ** Cannot open log file "/var/lib/ejabberd/roster.DCL": {file_error,</div><div>                                                                   "/var/lib/ejabberd/roster.DCL",</div><div>
                                                                   emfile}</div><div><br></div><div>=ERROR REPORT==== 2012-04-16 15:59:32 ===</div><div>** Generic server ejabberd_mod_muc_sostest terminating </div><div>** Last message in was {mnesia_system_event,</div>
<div>                           {mnesia_down,'<a href="mailto:ejabberd@10.0.0.100">ejabberd@10.0.0.100</a>'}}</div><div>** When Server state == {state,"conference.sostest","sostest",</div><div>
                               {muc,muc_admin,muc_admin,muc},</div><div>                               20,[],none}</div><div>** Reason for termination == </div><div>** {badarg,[{ets,lookup,</div><div>                 [local_config,</div>
<div>                  {domain_balancing_component_number,"conference.sostest"}]},</div><div>            {ejabberd_config,get_local_option,1},</div><div>            {ejabberd_router,get_component_number,1},</div>
<div>            {ejabberd_router,unregister_route,1},</div><div>            {mod_muc,terminate,2},</div><div>            {gen_server,terminate,6},</div><div>            {proc_lib,init_p_do_apply,3}]}</div><div><br></div>
<div>=INFO REPORT==== 2012-04-16 15:59:32 ===</div><div>    application: mnesia</div><div>    exited: shutdown</div><div>    type: permanent</div><div><br></div><div>=ERROR REPORT==== 2012-04-16 15:59:32 ===</div><div>    application_master: shutdown_error</div>
<div>    ejabberd_app: {prep_stop,[[]]}</div><div>    error_info: {badarg,[{ets,lookup,[config,hosts]},</div><div>                         {ejabberd_config,get_global_option,1},</div><div>                         {ejabberd_app,stop_modules,0},</div>
<div>                         {ejabberd_app,prep_stop,1},</div><div>                         {application_master,prep_stop,2},</div><div>                         {application_master,loop_it,4}]}</div><div><br></div></div>
<div><br></div><div>Followed by a whole bunch of knock-on errors in various sessions, connections and other processes due to being unable to read various mnesia tables. </div><div><br></div><div>It's hard for me to guess what could have caused this. The node was running in a two-node cluster on Linux, and should have had at most 20-30 actual user sessions, and a couple of hundred mostly idle MUC processes, two ejabberd_service connections. The MUCs should have been each running an instance of mod_muc_log but that doesn't persist any open filehandles as far as I can see.</div>
<div><br></div><div>So I have three questions:</div><div><br></div><div>1) Has anyone else encountered this crash type with ejabberd, and what was the root cause?</div><div>2) Is there any other place I should look for more information about the crash? I don't see anything that looks like a dump file in /var/log/ejabberd, but I can look further. </div>
<div>3) The node restarted just fine, but is there any way I can monitor it to see what the open files are looking like in a live manner so I can prevent this in the future?</div><div><br></div><div>thanks,</div><div>Dan</div>
<div><br></div>