Ejabberd 2.1.6 - sha_drv.dll missing

Hello,
I have set up an ejabberd (version 2.1.6)cluster on Windows network with two nodes namely mira1 and mira2.
Although I could configure the table copy settings of both nodes using the admin interface of mira1, after a restart, the second node does not start.
This node is complaining about the absence of a DLL = "sha_drv.dll".
I'm attaching the console output when the second node was run using "live" below this message.

It would be great if you could tell me what this means and how to solve this problem.
Thanks in advance
Sree

--------------------------------------------------------------------

Eshell V5.6.4 (abort with ^G)
(ejabberd@mira2)1>
=ERROR REPORT==== 15-Jan-2011::17:22:04 ===
C(<0.40.0>:sha:53) : unable to load driver '../lib/ejabberd-2.1.6/priv/windows/lib/sha_drv.dll': The specified module could not be found.
(ejabberd@mira2)1>
=ERROR REPORT==== 15-Jan-2011::17:22:04 ===
** Generic server pg2_backport terminating
** Last message in was {'$gen_cast',
{exchange,ejabberd@mira1,
[[{ejabberd_node_groups,backend},
[<9749.241.0>]],
[{ejabberd_node_groups,frontend},
[<9749.241.0>]]]}}
** When Server state == {state}
** Reason for termination ==
** {{badarg,[true]},
[{pg2_backport,'-store/1-lc$^0/1-0-',1},
{pg2_backport,store,1},
{pg2_backport,handle_cast,2},
{gen_server,handle_msg,5},
{proc_lib,init_p,5}]}
(ejabberd@mira2)1>
=ERROR REPORT==== 15-Jan-2011::17:22:04 ===
** Generic server pg2_backport terminating
** Last message in was {'$gen_cast',
{exchange,ejabberd@mira1,
[[{ejabberd_node_groups,backend},
[<9749.241.0>]],
[{ejabberd_node_groups,frontend},
[<9749.241.0>]]]}}
** When Server state == {state}
** Reason for termination ==
** {{badarg,[true]},
[{pg2_backport,'-store/1-lc$^0/1-0-',1},
{pg2_backport,store,1},
{pg2_backport,handle_cast,2},
{gen_server,handle_msg,5},
{proc_lib,init_p,5}]}
(ejabberd@mira2)1>
=ERROR REPORT==== 15-Jan-2011::17:22:04 ===
** Generic server pg2_backport terminating
** Last message in was {'$gen_cast',
{exchange,ejabberd@mira1,
[[{ejabberd_node_groups,backend},
[<9749.241.0>]],
[{ejabberd_node_groups,frontend},
[<9749.241.0>]]]}}
** When Server state == {state}
** Reason for termination ==
** {{badarg,[true]},
[{pg2_backport,'-store/1-lc$^0/1-0-',1},
{pg2_backport,store,1},
{pg2_backport,handle_cast,2},
{gen_server,handle_msg,5},
{proc_lib,init_p,5}]}
(ejabberd@mira2)1>
=ERROR REPORT==== 15-Jan-2011::17:22:04 ===
** Generic server pg2_backport terminating
** Last message in was {'$gen_cast',
{exchange,ejabberd@mira1,
[[{ejabberd_node_groups,backend},
[<9749.241.0>]],
[{ejabberd_node_groups,frontend},
[<9749.241.0>]]]}}
** When Server state == {state}
** Reason for termination ==
** {{badarg,[true]},
[{pg2_backport,'-store/1-lc$^0/1-0-',1},
{pg2_backport,store,1},
{pg2_backport,handle_cast,2},
{gen_server,handle_msg,5},
{proc_lib,init_p,5}]}
(ejabberd@mira2)1>
=ERROR REPORT==== 15-Jan-2011::17:22:04 ===
** Generic server pg2_backport terminating
** Last message in was {'$gen_cast',
{exchange,ejabberd@mira1,
[[{ejabberd_node_groups,backend},
[<9749.241.0>]],
[{ejabberd_node_groups,frontend},
[<9749.241.0>]]]}}
** When Server state == {state}
** Reason for termination ==
** {{badarg,[true]},
[{pg2_backport,'-store/1-lc$^0/1-0-',1},
{pg2_backport,store,1},
{pg2_backport,handle_cast,2},
{gen_server,handle_msg,5},
{proc_lib,init_p,5}]}
(ejabberd@mira2)1>
=ERROR REPORT==== 15-Jan-2011::17:22:04 ===
Mnesia(ejabberd@mira2): ** ERROR ** mnesia_controller got unexpected info: {'EXIT',
<0.99.0>,
shutdown}
(ejabberd@mira2)1>
=ERROR REPORT==== 15-Jan-2011::17:22:04 ===
Mnesia(ejabberd@mira2): ** ERROR ** mnesia_recover got unexpected info: {'EXIT',
<0.99.0>,
shutdown}
(ejabberd@mira2)1>
=INFO REPORT==== 15-Jan-2011::17:22:04 ===
I(<0.40.0>:ejabberd_app:202) : Adding machine's DNS IPs to Erlang system:
[]
(ejabberd@mira2)1>
=ERROR REPORT==== 15-Jan-2011::17:22:04 ===
E(<0.40.0>:gen_mod:73) : Problem starting the module mod_adhoc for host "sreekumar" with options:
[]
exit: {noproc,
{gen_server,call,
[ejabberd_iq_sup,
{start_child,["sreekumar",mod_adhoc,process_local_iq]},
infinity]}}
(ejabberd@mira2)1>
=INFO REPORT==== 15-Jan-2011::17:22:04 ===
application: ejabberd
exited: {bad_return,
{{ejabberd_app,start,[normal,[]]},
{'EXIT',
{noproc,
{gen_server,call,
[ejabberd_iq_sup,
{start_child,
["sreekumar",mod_adhoc,process_local_iq]},
infinity]}}}}}
type: temporary
(ejabberd@mira2)1> {error_logger,{{2011,1,15},{17,22,5}},std_info,[{application,kernel},{exited,shutdown},{type,permanent}]}
{error_logger,{{2011,1,15},{17,22,5}},"** gen_event handler ~p crashed.~n** Was installed in ~p~n** Last event was: ~p~n** When handler state == ~p~n** Reason == ~p~n",[mnesia_event,mnesia_event,{mnesia_system_event,{mnesia_info,"Failed syncing ~p to_disk reason ~p ~n",[latest_log,no_such_log]}},{state,[],false,[]},{badarg,[{ets,lookup,[global_names,mnesia_global_logger]},{global,where,1},{mnesia_event,report_info,2},{mnesia_event,handle_system_event,2},{gen_event,server_update,4},{gen_event,server_notify,4},{gen_event,handle_msg,5},{proc_lib,init_p,5}]}]}
{error_logger,{{2011,1,15},{17,22,17}},crash_report,[[{pid,<0.64.0>},{registered_name,mnesia_event},{error_info,{exit,killed,[{gen_event,terminate_server,4},{proc_lib,init_p,5}]}},{initial_call,{gen,init_it,[gen_event,<0.63.0>,<0.63.0>,{local,mnesia_event},[],[],[]]}},{ancestors,[mnesia_sup,<0.62.0>]},{messages,[{'EXIT',<0.67.0>,killed}]},{links,[]},{dictionary,[]},{trap_exit,true},{status,running},{heap_size,987},{stack_size,23},{reductions,814}],[]]}
{error_logger,{{2011,1,15},{17,22,17}},"** gen_event handler ~p crashed.~n** Was installed in ~p~n** Last event was: ~p~n** When handler state == ~p~n** Reason == ~p~n",[sasl_report_file_h,error_logger,{error_report,<0.61.0>,{<0.64.0>,crash_report,[[{pid,<0.64.0>},{registered_name,mnesia_event},{error_info,{exit,killed,[{gen_event,terminate_server,4},{proc_lib,init_p,5}]}},{initial_call,{gen,init_it,[gen_event,<0.63.0>,<0.63.0>,{local,mnesia_event},[],[],[]]}},{ancestors,[mnesia_sup,<0.62.0>]},{messages,[{'EXIT',<0.67.0>,killed}]},{links,[]},{dictionary,[]},{trap_exit,true},{status,running},{heap_size,987},{stack_size,23},{reductions,814}],[]]}},{<0.46.0>,"../logs/erlang.log",all},{ebadf,[{io,format,[<0.46.0>,["\n",61,"CRASH REPORT",61,61,61,61,32,"15",45,"Jan",45,"2011",58,58,"17",58,"22",58,"17",32,61,61,61,"\n",126,115],[[32,32,99,114,97,115,104,101,114,58,"\n",[[32,32,32,32,"pid",58,32,"<0.64.0>","\n"],[32,32,32,32,"registered_name",58,32,"mnesia_event","\n"],[" ",[["exception exit: ",["killed"]],10,[[[" ",32,32,32,32],"in function ",32,[["gen_event",58,"terminate_server"],47,"4"]]]],"\n"],[" initial call: ",[[],["gen",58,"init_it"],[40,"gen_event,<0.63.0>,<0.63.0>,\n {local,mnesia_event},\n [],[],[]",41]],"\n"],[32,32,32,32,"ancestors",58,32,[91,["mnesia_sup",44,"<0.62.0>"],93],"\n"],[32,32,32,32,"messages",58,32,[91,[[123,["'EXIT'",44,"<0.67.0>",44,"killed"],125]],93],"\n"],[32,32,32,32,"links",58,32,"[]","\n"],[32,32,32,32,"dictionary",58,32,"[]","\n"],[32,32,32,32,"trap_exit",58,32,"true","\n"],[32,32,32,32,"status",58,32,"running","\n"],[32,32,32,32,"heap_size",58,32,"987","\n"],[32,32,32,32,"stack_size",58,32,"23","\n"],[32,32,32,32,"reductions",58,32,"814","\n"]],32,32,110,101,105,103,104,98,111,117,114,115,58,"\n",[]]]]},{sasl_report_file_h,handle_event,2},{gen_event,server_update,4},{gen_event,server_notify,4},{gen_event,handle_msg,5},{proc_lib,init_p,5}]}]}
{"Kernel pid terminated",application_controller,"{application_terminated,kernel,shutdown}"}

Hello...

ideas anybody ?

Anyone ?

Badlop...you there ?

Sree wrote: =ERROR REPORT====

Sree wrote:

=ERROR REPORT==== 15-Jan-2011::17:22:04 ===
C(<0.40.0>:sha:53) : unable to load driver '../lib/ejabberd-2.1.6/priv/windows/lib/sha_drv.dll': The specified module could not be found.

For that problem I've created this ticket:
https://support.process-one.net/browse/EJAB-1387
Once a solution for it is found, I'll comment here.

Sree wrote:

=ERROR REPORT==== 15-Jan-2011::17:22:04 ===
** Generic server pg2_backport terminating
** Last message in was {'$gen_cast',
{exchange,ejabberd@mira1,
[[{ejabberd_node_groups,backend},
[<9749.241.0>]],
[{ejabberd_node_groups,frontend},
[<9749.241.0>]]]}}
** When Server state == {state}
** Reason for termination ==
** {{badarg,[true]},
[{pg2_backport,'-store/1-lc$^0/1-0-',1},
{pg2_backport,store,1},
{pg2_backport,handle_cast,2},
{gen_server,handle_msg,5},
{proc_lib,init_p,5}]}

Let's hope this problem is related to the previous one, and it will be fixed when the previous one gets fixed.

Interim solution?

Can a win 32 version of that DLL be provided (separately) as a quick fix...

fix ready...?

Hi Badlop, may I know the status of this fix..?
it would be great help from your side if a fix was provided a little early (as we are running short of time..)

Probably the fileswill be

Probably the fileswill be compiled early next week. Then I'll upload a zip with the dll

On tuesday I'll comment here the progress.

Sree wrote: This node is

Sree wrote:

This node is complaining about the absence of a DLL = "sha_drv.dll".

You can download sha_drv.dll and other updated DLL files from
https://support.process-one.net/browse/EJAB-1387

Please comment if that solves the problem.

similar issue, tried the dll

I am also testing a Windows cluster and had the same problem. I grabbed that dll, and while that message disappears, I still have what you see below, and the second node will not start. Any ideas or help would be greatly appreciated. I have pored over many posts here, and found some good things. I could initially not get replication working until I found this post. Thanks in advance!

Eshell V5.6.4 (abort with ^G)
(ejabberd@wnd1.blah.com)1>
=ERROR REPORT==== 13-Apr-2011::14:07:07 ===
** Generic server pg2_backport terminating
** Last message in was {'$gen_cast',
{exchange,'ejabberd@wnd2.blah.com',
[[{ejabberd_node_groups,backend},
[<9749.277.0>]],
[{ejabberd_node_groups,frontend},
[<9749.277.0>]]]}}
** When Server state == {state}
** Reason for termination ==
** {{badarg,[true]},
[{pg2_backport,'-store/1-lc$^0/1-0-',1},
{pg2_backport,store,1},
{pg2_backport,handle_cast,2},
{gen_server,handle_msg,5},
{proc_lib,init_p,5}]}
(ejabberd@wnd1.blah.com)1>
=ERROR REPORT==== 13-Apr-2011::14:07:07 ===
** Generic server pg2_backport terminating
** Last message in was {'$gen_cast',
{exchange,'ejabberd@wnd2.blah.com',
[[{ejabberd_node_groups,backend},
[<9749.277.0>]],
[{ejabberd_node_groups,frontend},
[<9749.277.0>]]]}}
** When Server state == {state}
** Reason for termination ==
** {{badarg,[true]},
[{pg2_backport,'-store/1-lc$^0/1-0-',1},
{pg2_backport,store,1},
{pg2_backport,handle_cast,2},
{gen_server,handle_msg,5},
{proc_lib,init_p,5}]}
(ejabberd@wnd1.blah.com)1>
=ERROR REPORT==== 13-Apr-2011::14:07:07 ===
** Generic server pg2_backport terminating
** Last message in was {'$gen_cast',
{exchange,'ejabberd@wnd2.blah.com',
[[{ejabberd_node_groups,backend},
[<9749.277.0>]],
[{ejabberd_node_groups,frontend},
[<9749.277.0>]]]}}
** When Server state == {state}
** Reason for termination ==
** {{badarg,[true]},
[{pg2_backport,'-store/1-lc$^0/1-0-',1},
{pg2_backport,store,1},
{pg2_backport,handle_cast,2},
{gen_server,handle_msg,5},
{proc_lib,init_p,5}]}
(ejabberd@wnd1.blah.com)1>
=ERROR REPORT==== 13-Apr-2011::14:07:07 ===
** Generic server pg2_backport terminating
** Last message in was {'$gen_cast',
{exchange,'ejabberd@wnd2.blah.com',
[[{ejabberd_node_groups,backend},
[<9749.277.0>]],
[{ejabberd_node_groups,frontend},
[<9749.277.0>]]]}}
** When Server state == {state}
** Reason for termination ==
** {{badarg,[true]},
[{pg2_backport,'-store/1-lc$^0/1-0-',1},
{pg2_backport,store,1},
{pg2_backport,handle_cast,2},
{gen_server,handle_msg,5},
{proc_lib,init_p,5}]}
(ejabberd@wnd1.blah.com)1>
=ERROR REPORT==== 13-Apr-2011::14:07:07 ===
** Generic server pg2_backport terminating
** Last message in was {'$gen_cast',
{exchange,'ejabberd@wnd2.blah.com',
[[{ejabberd_node_groups,backend},
[<9749.277.0>]],
[{ejabberd_node_groups,frontend},
[<9749.277.0>]]]}}
** When Server state == {state}
** Reason for termination ==
** {{badarg,[true]},
[{pg2_backport,'-store/1-lc$^0/1-0-',1},
{pg2_backport,store,1},
{pg2_backport,handle_cast,2},
{gen_server,handle_msg,5},
{proc_lib,init_p,5}]}
(ejabberd@wnd1.blah.com)1>
=ERROR REPORT==== 13-Apr-2011::14:07:07 ===
Mnesia('ejabberd@wnd1.blah.com'): ** ERROR ** mnesia_controller got unexpected info: {'EXIT',
<0.93.0>,
shutdown}
(ejabberd@wnd1.blah.com)1>
=ERROR REPORT==== 13-Apr-2011::14:07:07 ===
Mnesia('ejabberd@wnd1.blah.com'): ** ERROR ** mnesia_recover got unexpected info: {'EXIT',
<0.93.0>,
shutdown}
(ejabberd@wnd1.blah.com)1>
=INFO REPORT==== 13-Apr-2011::14:07:08 ===
I(<0.40.0>:ejabberd_app:202) : Adding machine's DNS IPs to Erlang system:
[]
(ejabberd@wnd1.blah.com)1>
=ERROR REPORT==== 13-Apr-2011::14:07:08 ===
E(<0.40.0>:gen_mod:73) : Problem starting the module mod_adhoc for host "blah.com" with options:
[]
exit: {noproc,
{gen_server,call,
[ejabberd_iq_sup,
{start_child,["blah.com",mod_adhoc,process_local_iq]},
infinity]}}
(ejabberd@wnd1.blah.com)1>
=INFO REPORT==== 13-Apr-2011::14:07:08 ===
application: ejabberd
exited: {bad_return,
{{ejabberd_app,start,[normal,[]]},
{'EXIT',
{noproc,
{gen_server,call,
[ejabberd_iq_sup,
{start_child,
["blah.com",mod_adhoc,process_local_iq]},
infinity]}}}}}
type: temporary
(ejabberd@wnd1.blah.com)1> {error_logger,{{2011,4,13},{14,7,8}},std_info,[{application,kernel},{exited,shutdown},{type
,permanent}]}
{error_logger,{{2011,4,13},{14,7,8}},"** gen_event handler ~p crashed.~n** Was installed in ~p~n** Last event was: ~p~n*
* When handler state == ~p~n** Reason == ~p~n",[mnesia_event,mnesia_event,{mnesia_system_event,{mnesia_info,"Failed sync
ing ~p to_disk reason ~p ~n",[latest_log,no_such_log]}},{state,[],false,[]},{badarg,[{ets,lookup,[global_names,mnesia_gl
obal_logger]},{global,where,1},{mnesia_event,report_info,2},{mnesia_event,handle_system_event,2},{gen_event,server_updat
e,4},{gen_event,server_notify,4},{gen_event,handle_msg,5},{proc_lib,init_p,5}]}]}
{error_logger,{{2011,4,13},{14,7,20}},crash_report,[[{pid,<0.64.0>},{registered_name,mnesia_event},{error_info,{exit,kil
led,[{gen_event,terminate_server,4},{proc_lib,init_p,5}]}},{initial_call,{gen,init_it,[gen_event,<0.63.0>,<0.63.0>,{loca
l,mnesia_event},[],[],[]]}},{ancestors,[mnesia_sup,<0.62.0>]},{messages,[]},{links,[]},{dictionary,[]},{trap_exit,true},
{status,running},{heap_size,987},{stack_size,23},{reductions,845}],[]]}
{error_logger,{{2011,4,13},{14,7,20}},"** gen_event handler ~p crashed.~n** Was installed in ~p~n** Last event was: ~p~n
** When handler state == ~p~n** Reason == ~p~n",[sasl_report_file_h,error_logger,{error_report,<0.61.0>,{<0.64.0>,crash_
report,[[{pid,<0.64.0>},{registered_name,mnesia_event},{error_info,{exit,killed,[{gen_event,terminate_server,4},{proc_li
b,init_p,5}]}},{initial_call,{gen,init_it,[gen_event,<0.63.0>,<0.63.0>,{local,mnesia_event},[],[],[]]}},{ancestors,[mnes
ia_sup,<0.62.0>]},{messages,[]},{links,[]},{dictionary,[]},{trap_exit,true},{status,running},{heap_size,987},{stack_size
,23},{reductions,845}],[]]}},{<0.46.0>,"../logs/erlang.log",all},{ebadf,[{io,format,[<0.46.0>,["\n",61,"CRASH REPORT",61
,61,61,61,32,"13",45,"Apr",45,"2011",58,58,"14",58,"07",58,"20",32,61,61,61,"\n",126,115],[[32,32,99,114,97,115,104,101,
114,58,"\n",[[32,32,32,32,"pid",58,32,"<0.64.0>","\n"],[32,32,32,32,"registered_name",58,32,"mnesia_event","\n"],[" "
,[["exception exit: ",["killed"]],10,[[[" ",32,32,32,32],"in function ",32,[["gen_event",58,"terminate_server"],47,"4"]
]]],"\n"],[" initial call: ",[[],["gen",58,"init_it"],[40,"gen_event,<0.63.0>,<0.63.0>,\n
{local,mnesia_event},\n [],[],[]",41]],"\n"],[32,32,32,32,"ancestors",58,32,[91,["mnesia_
sup",44,"<0.62.0>"],93],"\n"],[32,32,32,32,"messages",58,32,"[]","\n"],[32,32,32,32,"links",58,32,"[]","\n"],[32,32,32,3
2,"dictionary",58,32,"[]","\n"],[32,32,32,32,"trap_exit",58,32,"true","\n"],[32,32,32,32,"status",58,32,"running","\n"],
[32,32,32,32,"heap_size",58,32,"987","\n"],[32,32,32,32,"stack_size",58,32,"23","\n"],[32,32,32,32,"reductions",58,32,"8
45","\n"]],32,32,110,101,105,103,104,98,111,117,114,115,58,"\n",[]]]]},{sasl_report_file_h,handle_event,2},{gen_event,se
rver_update,4},{gen_event,server_notify,4},{gen_event,handle_msg,5},{proc_lib,init_p,5}]}]}
{"Kernel pid terminated",application_controller,"{application_terminated,kernel,shutdown}"}

Crash dump was written to: ../logs/erl_crash_20110413-140702.dump
Kernel pid terminated (application_controller) ({application_terminated,kernel,shutdown})

Download this beam and overwrite in your installation

You are using ejabberd 2.1.6 and Erlang/OTP R12B-4. This combination suffers a bug. You can download the fixed beam file from
https://support.process-one.net/browse/EJAB-1349
Overwrite the old installed beam file with that new one.

fixed

Great! Thank you very much for the help! That has me up and running.

Syndicate content