ACL in web admin interface

I'm running a 14.12 server inside a docker container on a vagrant virtual machine for testing. I can access and login to the http web admin interface. Everything except the ACLs work perfectly. Whenever I access any ACLs (global) or for a host, the server returns no data and I get the following error in the log.

2015-01-16 20:39:19.878 [error] <0.389.0> CRASH REPORT Process <0.389.0> with 0 neighbours crashed with reason: {badxml,{xmlel,<<"html">>,[{<<"xmlns">>,<<"http://www.w3.org/1999/xhtml">>},{<<"xml:lang">>,<<"en-US">>},{<<"lang">>,<<"en-US">>}],[{xmlel,<<"head">>,[],[{xmlel,<<"title">>,[],[{xmlcdata,<<"ejabberd Web Admin">>}]},{xmlel,<<"meta">>,[{<<"http-equiv">>,<<"Content-Type">>},{<<"content">>,<<"text/html; charset=utf-8">>}],[]},{xmlel,<<"script">>,[{<<"src">>,<<"/admin//additions.js">>},{<<"type">>,<<"text/javascript">>}],[{xmlcdata,<<" ">>}]},{xmlel,<<"link">>,[{<<"href">>,<<"/admin/favicon.ico">>},...],...},...]},...]},...} in xml:element_to_string/1 line 122
2015-01-16 20:39:19.880 [error] <0.282.0> Supervisor ejabberd_http_sup had child undefined started with {ejabberd_http,start_link,undefined} at <0.389.0> exit with reason {badxml,{xmlel,<<"html">>,[{<<"xmlns">>,<<"http://www.w3.org/1999/xhtml">>},{<<"xml:lang">>,<<"en-US">>},{<<"lang">>,<<"en-US">>}],[{xmlel,<<"head">>,[],[{xmlel,<<"title">>,[],[{xmlcdata,<<"ejabberd Web Admin">>}]},{xmlel,<<"meta">>,[{<<"http-equiv">>,<<"Content-Type">>},{<<"content">>,<<"text/html; charset=utf-8">>}],[]},{xmlel,<<"script">>,[{<<"src">>,<<"/admin//additions.js">>},{<<"type">>,<<"text/javascript">>}],[{xmlcdata,<<" ">>}]},{xmlel,<<"link">>,[{<<"href">>,<<"/admin/favicon.ico">>},...],...},...]},...]},...} in context child_terminated
2015-01-16 20:39:19.889 [error] <0.388.0> CRASH REPORT Process <0.388.0> with 0 neighbours crashed with reason: {badxml,{xmlel,<<"html">>,[{<<"xmlns">>,<<"http://www.w3.org/1999/xhtml">>},{<<"xml:lang">>,<<"en-US">>},{<<"lang">>,<<"en-US">>}],[{xmlel,<<"head">>,[],[{xmlel,<<"title">>,[],[{xmlcdata,<<"ejabberd Web Admin">>}]},{xmlel,<<"meta">>,[{<<"http-equiv">>,<<"Content-Type">>},{<<"content">>,<<"text/html; charset=utf-8">>}],[]},{xmlel,<<"script">>,[{<<"src">>,<<"/admin//additions.js">>},{<<"type">>,<<"text/javascript">>}],[{xmlcdata,<<" ">>}]},{xmlel,<<"link">>,[{<<"href">>,<<"/admin/favicon.ico">>},...],...},...]},...]},...} in xml:element_to_string/1 line 122
2015-01-16 20:39:19.889 [info] <0.370.0>@ejabberd_listener:accept:309 (#Port<0.6793>) Accepted connection 10.0.2.2:53509 -> 172.17.0.2:5280
2015-01-16 20:39:19.891 [info] <0.390.0>@ejabberd_http:init:154 started: {gen_tcp,#Port<0.6793>}
2015-01-16 20:39:19.891 [error] <0.282.0> Supervisor ejabberd_http_sup had child undefined started with {ejabberd_http,start_link,undefined} at <0.388.0> exit with reason {badxml,{xmlel,<<"html">>,[{<<"xmlns">>,<<"http://www.w3.org/1999/xhtml">>},{<<"xml:lang">>,<<"en-US">>},{<<"lang">>,<<"en-US">>}],[{xmlel,<<"head">>,[],[{xmlel,<<"title">>,[],[{xmlcdata,<<"ejabberd Web Admin">>}]},{xmlel,<<"meta">>,[{<<"http-equiv">>,<<"Content-Type">>},{<<"content">>,<<"text/html; charset=utf-8">>}],[]},{xmlel,<<"script">>,[{<<"src">>,<<"/admin//additions.js">>},{<<"type">>,<<"text/javascript">>}],[{xmlcdata,<<" ">>}]},{xmlel,<<"link">>,[{<<"href">>,<<"/admin/favicon.ico">>},...],...},...]},...]},...} in context child_terminated
2015-01-16 20:39:19.900 [error] <0.390.0> CRASH REPORT Process <0.390.0> with 0 neighbours crashed with reason: {badxml,{xmlel,<<"html">>,[{<<"xmlns">>,<<"http://www.w3.org/1999/xhtml">>},{<<"xml:lang">>,<<"en-US">>},{<<"lang">>,<<"en-US">>}],[{xmlel,<<"head">>,[],[{xmlel,<<"title">>,[],[{xmlcdata,<<"ejabberd Web Admin">>}]},{xmlel,<<"meta">>,[{<<"http-equiv">>,<<"Content-Type">>},{<<"content">>,<<"text/html; charset=utf-8">>}],[]},{xmlel,<<"script">>,[{<<"src">>,<<"/admin//additions.js">>},{<<"type">>,<<"text/javascript">>}],[{xmlcdata,<<" ">>}]},{xmlel,<<"link">>,[{<<"href">>,<<"/admin/favicon.ico">>},...],...},...]},...]},...} in xml:element_to_string/1 line 122
2015-01-16 20:39:19.902 [error] <0.282.0> Supervisor ejabberd_http_sup had child undefined started with {ejabberd_http,start_link,undefined} at <0.390.0> exit with reason {badxml,{xmlel,<<"html">>,[{<<"xmlns">>,<<"http://www.w3.org/1999/xhtml">>},{<<"xml:lang">>,<<"en-US">>},{<<"lang">>,<<"en-US">>}],[{xmlel,<<"head">>,[],[{xmlel,<<"title">>,[],[{xmlcdata,<<"ejabberd Web Admin">>}]},{xmlel,<<"meta">>,[{<<"http-equiv">>,<<"Content-Type">>},{<<"content">>,<<"text/html; charset=utf-8">>}],[]},{xmlel,<<"script">>,[{<<"src">>,<<"/admin//additions.js">>},{<<"type">>,<<"text/javascript">>}],[{xmlcdata,<<" ">>}]},{xmlel,<<"link">>,[{<<"href">>,<<"/admin/favicon.ico">>},...],...},...]},...]},...} in context child_terminated
2015-01-16 20:39:20.259 [info] <0.370.0>@ejabberd_listener:accept:309 (#Port<0.6794>) Accepted connection 10.0.2.2:53511 -> 172.17.0.2:5280
2015-01-16 20:39:20.259 [info] <0.391.0>@ejabberd_http:init:154 started: {gen_tcp,#Port<0.6794>}
2015-01-16 20:39:20.267 [error] <0.391.0> CRASH REPORT Process <0.391.0> with 0 neighbours crashed with reason: {badxml,{xmlel,<<"html">>,[{<<"xmlns">>,<<"http://www.w3.org/1999/xhtml">>},{<<"xml:lang">>,<<"en-US">>},{<<"lang">>,<<"en-US">>}],[{xmlel,<<"head">>,[],[{xmlel,<<"title">>,[],[{xmlcdata,<<"ejabberd Web Admin">>}]},{xmlel,<<"meta">>,[{<<"http-equiv">>,<<"Content-Type">>},{<<"content">>,<<"text/html; charset=utf-8">>}],[]},{xmlel,<<"script">>,[{<<"src">>,<<"/admin//additions.js">>},{<<"type">>,<<"text/javascript">>}],[{xmlcdata,<<" ">>}]},{xmlel,<<"link">>,[{<<"href">>,<<"/admin/favicon.ico">>},...],...},...]},...]},...} in xml:element_to_string/1 line 122
2015-01-16 20:39:20.270 [error] <0.282.0> Supervisor ejabberd_http_sup had child undefined started with {ejabberd_http,start_link,undefined} at <0.391.0> exit with reason {badxml,{xmlel,<<"html">>,[{<<"xmlns">>,<<"http://www.w3.org/1999/xhtml">>},{<<"xml:lang">>,<<"en-US">>},{<<"lang">>,<<"en-US">>}],[{xmlel,<<"head">>,[],[{xmlel,<<"title">>,[],[{xmlcdata,<<"ejabberd Web Admin">>}]},{xmlel,<<"meta">>,[{<<"http-equiv">>,<<"Content-Type">>},{<<"content">>,<<"text/html; charset=utf-8">>}],[]},{xmlel,<<"script">>,[{<<"src">>,<<"/admin//additions.js">>},{<<"type">>,<<"text/javascript">>}],[{xmlcdata,<<" ">>}]},{xmlel,<<"link">>,[{<<"href">>,<<"/admin/favicon.ico">>},...],...},...]},...]},...} in context child_terminated
2015-01-16 20:39:25.268 [info] <0.370.0>@ejabberd_listener:accept:309 (#Port<0.6795>) Accepted connection 10.0.2.2:53514 -> 172.17.0.2:5280
2015-01-16 20:39:25.268 [info] <0.392.0>@ejabberd_http:init:154 started: {gen_tcp,#Port<0.6795>}
2015-01-16 20:39:25.272 [error] <0.392.0> CRASH REPORT Process <0.392.0> with 0 neighbours crashed with reason: {badxml,{xmlel,<<"html">>,[{<<"xmlns">>,<<"http://www.w3.org/1999/xhtml">>},{<<"xml:lang">>,<<"en-US">>},{<<"lang">>,<<"en-US">>}],[{xmlel,<<"head">>,[],[{xmlel,<<"title">>,[],[{xmlcdata,<<"ejabberd Web Admin">>}]},{xmlel,<<"meta">>,[{<<"http-equiv">>,<<"Content-Type">>},{<<"content">>,<<"text/html; charset=utf-8">>}],[]},{xmlel,<<"script">>,[{<<"src">>,<<"/admin//additions.js">>},{<<"type">>,<<"text/javascript">>}],[{xmlcdata,<<" ">>}]},{xmlel,<<"link">>,[{<<"href">>,<<"/admin/favicon.ico">>},...],...},...]},...]},...} in xml:element_to_string/1 line 122
2015-01-16 20:39:25.274 [error] <0.282.0> Supervisor ejabberd_http_sup had child undefined started with {ejabberd_http,start_link,undefined} at <0.392.0> exit with reason {badxml,{xmlel,<<"html">>,[{<<"xmlns">>,<<"http://www.w3.org/1999/xhtml">>},{<<"xml:lang">>,<<"en-US">>},{<<"lang">>,<<"en-US">>}],[{xmlel,<<"head">>,[],[{xmlel,<<"title">>,[],[{xmlcdata,<<"ejabberd Web Admin">>}]},{xmlel,<<"meta">>,[{<<"http-equiv">>,<<"Content-Type">>},{<<"content">>,<<"text/html; charset=utf-8">>}],[]},{xmlel,<<"script">>,[{<<"src">>,<<"/admin//additions.js">>},{<<"type">>,<<"text/javascript">>}],[{xmlcdata,<<" ">>}]},{xmlel,<<"link">>,[{<<"href">>,<<"/admin/favicon.ico">>},...],...},...]},...]},...} in context child_terminated

The server and interface continue working, but I am unable to access the ACL. Anyone know anything that could cause this or experience a similar problem?

ACL in web admin interface

I have no problem using that ejabberd version with default configuration. Maybe you set custom ACLs in the configuration file, or using the web browser, or in older ejabberd2, and now the web admin is unable to show them correctly.

To know the exact ACLs, enter an erlang shell attached to the ejabberd node (for example using "ejabberdctl debug"), and then get the acl table like this:

(ejabberd@localhost)1> ets:tab2list(acl).
[{acl,{loopback,<<"localhost">>},{ip,{{127,0,0,0},8}}},
 {acl,{local,<<"localhost">>},{user_regexp,<<>>}},
 {acl,{local,global},{user_regexp,<<>>}},
 {acl,{admin,<<"localhost">>},
      {user,{<<"user1">>,<<"localhost">>}}},
 {acl,{admin,global},{user,{<<"user1">>,<<"localhost">>}}},
 {acl,{loopback,global},{ip,{{127,0,0,0},8}}},
 {acl,{mucbots,global},
      {user,{<<"mucadminuser">>,<<"localhost">>}}},
 {acl,{mucbots,<<"localhost">>},
      {user,{<<"mucadminuser">>,<<"localhost">>}}}]

And show here the results. Maybe you have some ACL that triggers a bug in ejabberd.

Syndicate content