Error with one particular user

Hi,

I've had a config running for a while that has been working OK, but have started having trouble with one particular user. When I connect and ejabberd contacts their server it appears to go OK then fails with an error report:

=ERROR REPORT==== 2012-04-15 21:13:19 ===
** State machine <0.403.0> terminating
** Last event in was {xmlstreamelement,
{xmlelement,"auth",
[{"xmlns","urn:ietf:params:xml:ns:xmpp-sasl"},
{"mechanism","EXTERNAL"}],
[{xmlcdata,<<"cHJveHkuZXUuamFiYmVyLm9yZw==">>}]}}
** When State == wait_for_feature_request
** Data == {state,{socket_state,tls,
{tlssock,#Port<0.1984>,#Port<0.1986>},
<0.402.0>},
ejabberd_socket,"2131267262",s2s_shaper,true,true,
false,false,
[{certfile,"/etc/ejabberd/ejabberd.pem"}],
"hoyle.me.uk",false,undefined,
{dict,0,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],
[]},
{{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],
[]}}},
#Ref<0.0.0.10722>}
** Reason for termination =
** {undef,[{regexp,sh_to_awk,["*"],[]},
{ejabberd_s2s_in,match_labels,2,
[{file,"ejabberd_s2s_in.erl"},{line,834}]},
{lists,any,2,[{file,"lists.erl"},{line,1159}]},
{ejabberd_s2s_in,wait_for_feature_request,2,
[{file,"ejabberd_s2s_in.erl"},{line,340}]},
{p1_fsm,handle_msg,10,[{file,"p1_fsm.erl"},{line,544}]},
{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,227}]}]}

Unfortunately I know nothing of erlang, so can't parse this error report to work out whether it's an error in a config file somewhere, or a crash, or something else...

The only difference I can think of is the failing user is connecting over ipv4 and everyone else is ipv6. OTOH I can't imagine ejabberd has somehow become incompatible with ipv4 :p

Oh, how do people expect to

Oh, how do people expect to get help if they ignore the basic rules of asking? What are your ejabberd/erlang/OS versions?

Anyway, this error says that Erlang could not find function "regexp:sh_to_awk/1".
The regexp module is deprecated and, IIRC, is removed from Erlang/OTP R15. ejabberd addresses this in v2.1.10 and v3.

The problem you are experiencing may be because you use a recent Erlang version, and not-so-fresh ejabberd.

Quote: ** Reason for

Quote:
** Reason for termination =
** {undef,[{regexp,sh_to_awk,["*"],[]},
{ejabberd_s2s_in,match_labels,2,
[{file,"ejabberd_s2s_in.erl"},{line,834}]},

Here's the explanation: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=670307#10

Syndicate content