You are not logged in.
After the latest update, ejabberd has started throwing crash messages like these:
2016-01-23 18:27:53 =ERROR REPORT====
Can't open file "/usr/lib/ejabberd/priv/bin/epam": enoent
2016-01-23 18:27:53 =CRASH REPORT====
crasher:
initial call: epam:init/1
pid: <0.368.0>
registered_name: epam
exception exit: {{bad_return_value,error},[{gen_server,init_it,6,[{file,"gen_server.erl"},{line,356}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]}
ancestors: [epam_sup,<0.366.0>]
messages: []
links: [<0.367.0>]
dictionary: []
trap_exit: false
status: running
heap_size: 376
stack_size: 27
reductions: 196
neighbours:
2016-01-23 18:27:53 =SUPERVISOR REPORT====
Supervisor: {local,epam_sup}
Context: start_error
Reason: {bad_return_value,error}
Offender: [{pid,undefined},{id,epam},{mfargs,{epam,start_link,[]}},{restart_type,permanent},{shutdown,brutal_kill},{child_type,worker}]
2016-01-23 18:27:53 =CRASH REPORT====
crasher:
initial call: application_master:init/4
pid: <0.365.0>
registered_name: []
exception exit: {{{shutdown,{failed_to_start_child,epam,{bad_return_value,error}}},{epam_app,start,[normal,[]]}},[{application_master,init,4,[{file,"application_master.erl"},{line,134}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]}
ancestors: [<0.364.0>]
messages: [{'EXIT',<0.366.0>,normal}]
links: [<0.364.0>,<0.7.0>]
dictionary: []
trap_exit: true
status: running
heap_size: 376
stack_size: 27
reductions: 115
neighbours:
The error is pretty obvious:
Can't open file "/usr/lib/ejabberd/priv/bin/epam": enoent
After the latest update, a lot of stuff was changed in the packaging:
[2016-01-20 23:44] [ALPM] warning: /etc/ejabberd/ejabberd.yml installed as /etc/ejabberd/ejabberd.yml.pacnew
[2016-01-20 23:44] [ALPM] upgraded ejabberd (15.11-1 -> 16.01-2)
[2016-01-20 23:44] [ALPM-SCRIPTLET] !!! ejabberd user changed to predefined jabber(uid=17)
[2016-01-20 23:44] [ALPM-SCRIPTLET] !!! check file permission and ownership in
[2016-01-20 23:44] [ALPM-SCRIPTLET] !!! /etc/ejabberd/
[2016-01-20 23:44] [ALPM-SCRIPTLET] !!! /var/{lib,log}/ejabberd/
I did go ahead and fix all those things, however another unmentioned change is that the path of ejabberd changed to /usr/lib/ejabberd-16.01 from /usr/lib/ejabberd - so perhaps the internal database (Mnesia) has a reference to the file on this old location? I see no reference to /usr/lib/ejabberd in any of the configuration files in /etc/ejabberd.
Since I'm no Erlang expert, I'm not sure how to fix this the right way. However, as a band-aid, I've just symlinked the old directory to the new directory:
# ln -s /usr/lib/ejabberd-16.01 /usr/lib/ejabberd
Of course this too much of a hack and too little "Arch", so I would like to have some advise on how to fix this issue the right way.
since 2009
Offline