[ejabberd] ACL setup question

Shaun Kruger shaun.kruger at gmail.com
Mon Mar 19 20:44:27 MSK 2012

 exception error: bad argument
     in operator  ++/2
        called as error ++ "@jabtest.easynet.global"

In this instance the badarg error is an erlang level error, not an
ejabberd level error.  It is doing a list append operation and it is
possible that the list that is being appended to is not a list type.
Check your access control lists and make sure that where you are
supposed to have a username you have a string username and not an atom

If I recall this is the format of a username ACL entry:
{acl, NameAtom, {user, UsernameString, DomainString}}.

If you have {user, usernameatom, "domain.com"} then that may cause a
badarg error when trying to append everything together.  Also
remember, that single quotes force something to be an atom literal and
double quotes force something to be a string literal.

I could be way off, but this is my first theory.


On Mon, Mar 19, 2012 at 8:24 AM, Christopher Bodenstein
<christopher.bodenstein at mail.noc.be.easynet.net> wrote:
> On Mon, Mar 19, 2012 at 07:51:08AM -0600, Shaun Kruger wrote:
>> > I keep getting an error saying the server returned no data.
>> Whenever I get an error like this in the web admin interface it is
>> because there was a crash in the process handling my page request.  I
>> almost always find the answer to what went wrong in the supervisor
>> crash reports in sasl.log or erlang.log (depending on your version of
>> ejabberd).
> Ah, thanks for pointing it out. I used to look at the sasl.log but it
> changed to erlang.log and I missed it...
> I forgot to mention I'm using ejabberd 2.1.10
> Here is what I get in the erlang.log:
> =CRASH REPORT==== 19-Mar-2012::15:07:21 ===
>  crasher:
>    initial call: ejabberd_http:init/2
>    pid: <0.17177.0>
>    registered_name: []
>    exception error: bad argument
>      in operator  ++/2
>         called as error ++ "@jabtest.easynet.global"
>      in call from ejabberd_web_admin:acl_spec_to_text/1 (ejabberd_web_admin.erl, line 1186)
>      in call from ejabberd_web_admin:acl_spec_to_xhtml/2 (ejabberd_web_admin.erl, line 1219)
>      in call from ejabberd_web_admin:'-acls_to_xhtml/1-fun-0-'/1 (ejabberd_web_admin.erl, line 1168)
>      in call from lists:map/2 (lists.erl, line 1173)
>      in call from lists:map/2 (lists.erl, line 1173)
>      in call from ejabberd_web_admin:acls_to_xhtml/1 (ejabberd_web_admin.erl, line 1161)
>      in call from ejabberd_web_admin:process_admin/2 (ejabberd_web_admin.erl, line 880)
>    ancestors: [ejabberd_http_sup,ejabberd_sup,<0.40.0>]
>    messages: []
>    links: [<0.313.0>,#Port<0.5969>]
>    dictionary: []
>    trap_exit: false
>    status: running
>    heap_size: 4181
>    stack_size: 24
>    reductions: 6569
>  neighbours:
> =SUPERVISOR REPORT==== 19-Mar-2012::15:07:21 ===
>     Supervisor: {local,ejabberd_http_sup}
>     Context:    child_terminated
>     Reason:     badarg
>     Offender:   [{pid,<0.17177.0>},
>                  {name,undefined},
>                  {mfargs,{ejabberd_http,start_link,undefined}},
>                  {restart_type,temporary},
>                  {shutdown,brutal_kill},
>                  {child_type,worker}]
> My setup goes is based on two nodes (jabtest.easynet.global and
> jabtest2.easynet.global) for the domain jabber.easynet.global
> What could be the "bad argument"?
> Could the hostname (with .global) be the cause of the issue?
> (it's the only thing that might look suspicious compared to the
> other working setups I have...)
> Thanks for your help.
>> Shaun
> Best regards,
> Chris
> --
> Christopher Bodenstein   -   christopher.bodenstein at be.easynet.net
>           CB8461-RIPE   -   Systems Administrator
>    Easynet Belgium SA   -   http://www.be.easynet.net/
>     "Great acts are made up of small deeds." Lao Tsu
> _______________________________________________
> ejabberd mailing list
> ejabberd at jabber.ru
> http://lists.jabber.ru/mailman/listinfo/ejabberd

More information about the ejabberd mailing list