[rabbitmq-discuss] RabbitMQ on Fedora 12 with default Erlang packages

Tony Garnock-Jones tonyg at lshift.net
Sat May 15 00:21:30 BST 2010


Hi all,

In an IRC discussion yesterday it came to light that Fedora's most recent
Erlang packaging is a little buggy. The erlang-os_mon-R13B-04.10.fc12.x86_64
package includes an os_mon.app which refers to the nteventlog module (a
standard Erlang module) in its {modules,[]} clause, but in a change from
previous releases, does not include the module itself. This causes the
following error when starting RabbitMQ:

{"init terminating in
do_boot",{{nocatch,{error,{cannot_start_application,rabbit,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',{undef,[{nteventlog,module_info,[attributes]},{rabbit,'-boot_steps/0-fun-0-',1},{lists,flatmap,2},{lists,flatmap,2},{rabbit,boot_steps,0},{rabbit,start,2},{application_master,start_it_old,4}]}}}}}}},[{init,start_it,1},{init,start_em,1}]}}

Arguably, RabbitMQ should not be affected by such bugs in the hosting Erlang
environment, so I'm going to change the code to ignore missing modules like
that, but in the meantime, affected users will need to edit the file

     /usr/lib/erlang/lib/os_mon-2.2.5/ebin/os_mon.app
or /usr/lib64/erlang/lib/os_mon-2.2.5/ebin/os_mon.app

depending on whether your Fedora is 32- or 64-bit. Edit the clause

{modules, [os_mon, os_mon_mib, os_sup,
           disksup, memsup, cpu_sup, os_mon_sysinfo, nteventlog]},

so that it reads

{modules, [os_mon, os_mon_mib, os_sup,
           disksup, memsup, cpu_sup, os_mon_sysinfo]},

save it, and quit. After this change, RabbitMQ should start normally.

Regards,
  Tony




More information about the rabbitmq-discuss mailing list