Startup fails: crypto_server_table port message.

ejabberd 1.1.1, erlang 11, NetBSD 3.0.1. erlang is built from pkgsrc, which is normally quite reliable.

Ejabberd can register accounts, but attempts to log in fail. The sasl log file (sasl.log) has this:

error_info: {badarg,[{ets,lookup,[crypto_server_table,port]},
{crypto,control,2},
{cyrsasl_digest,response,6},
{cyrsasl_digest,mech_step,2},
{cyrsasl,server_step,2},
{ejabberd_c2s,wait_for_sasl_response,2},
{gen_fsm,handle_msg,7},
{proc_lib,init_p,5}]}

Looking around, there is some implication that the server may not be correctly finding a crypto library it needs. I have both the openssl normally installed, and a package copy of openssl JUST IN CASE, but they seem to be identical for everything else.

Any suggestions? What is it trying to look up? Where do I go to debug this further? I can't find a single reference to this error that doesn't come from ejabberd users or source, so I have no clue where "crypto_server_table" should be coming from.

I found more information.

I found more information. Earlier in the log file:

=PROGRESS REPORT==== 23-Sep-2006::21:35:22 ===
supervisor: {local,crypto_sup}
started: [{pid,<0.165.0>},
{name,crypto_server},
{mfa,{crypto_server,start_link,[]}},
{restart_type,permanent},
{shutdown,2000},
{child_type,worker}]

=PROGRESS REPORT==== 23-Sep-2006::21:35:22 ===
application: crypto
started_at: ejabberd@guild

=CRASH REPORT==== 23-Sep-2006::21:35:22 ===
crasher:
pid: <0.165.0>
registered_name: crypto_server
error_info: {port_died,normal}
initial_call: {gen,init_it,
[gen_server,
<0.164.0>,
<0.164.0>,
{local,crypto_server},
crypto_server,
[],
[]]}
ancestors: [crypto_sup,<0.163.0>]
messages: []
links: [<0.164.0>]
dictionary: []
trap_exit: true
status: running
heap_size: 610
stack_size: 21
reductions: 774
neighbours:

=SUPERVISOR REPORT==== 23-Sep-2006::21:35:22 ===
Supervisor: {local,crypto_sup}
Context: child_terminated
Reason: {port_died,normal}
Offender: [{pid,<0.165.0>},
{name,crypto_server},
{mfa,{crypto_server,start_link,[]}},
{restart_type,permanent},
{shutdown,2000},
{child_type,worker}]

So it looks as though the real problem is that, for some reason, the crypto server isn't staying up, but I don't know much about erlang's crypto server.

Thanks! I will see whether

You got it in one. Erlang R10 fixes the problem. THANK YOU!

crypto_server

I have right a problem described above:

Quote:

=PROGRESS REPORT==== 26-May-2007::11:19:40 ===
application: mnesia
started_at: ejabberd@localhost

=PROGRESS REPORT==== 26-May-2007::11:19:41 ===
supervisor: {local,crypto_sup}
started: [{pid,<0.192.0>},
{name,crypto_server},
{mfa,{crypto_server,start_link,[]}},
{restart_type,permanent},
{shutdown,2000},
{child_type,worker}]

=CRASH REPORT==== 26-May-2007::11:19:41 ===
crasher:
pid: <0.192.0>
registered_name: crypto_server
error_info: {port_died,normal}
initial_call: {gen,init_it,
[gen_server,
<0.191.0>,
<0.191.0>,
{local,crypto_server},
crypto_server,
[],
[]]}
ancestors: [crypto_sup,<0.190.0>]
messages: []
links: [<0.191.0>]
dictionary: []
trap_exit: true
status: running
heap_size: 987
stack_size: 21
reductions: 691
neighbours:

Therefore nobody can log in, though one can register. Apps:
ejabberd-1.1.3
otp_src_R11B-4

crypto_serv crashes

Though it works quite well with ejabberd-1.1.2

Can you try with Erlang R10

Can you try with Erlang R10 instead of R11? R11 is a relative new Erlang release that is not yet so well tested with ejabberd.

--
sander

here:

here: https://launchpad.net/ubuntu/+source/erlang/+bug/68163 comment from p2k tells exactely what to do ;)

I've taken packages sources from ubuntu repository (apt-get source erlang-base), added "-fno-stack-protector" to CFLAGS in debian/rules file and recompiled the package (dpkg-buildpackage). Install packages erlang-base and erlang-nox and then install ejabberd. Should work.

To prevent automatic update of these two packages you could do something like this:

echo "erlang-base hold" | dpkg --set-selections
echo "erlang-nox hold" | dpkg --set-selections

works for me :) good luck!

Syndicate content