can't save acls on disk

Bug #1605465 reported by sles
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ejabberd (Ubuntu)
New
Undecided
Unassigned

Bug Description

Just installed fresh ubuntu 16.04 and ejabberd 16.01 from it.

I configured (yml) ldap authentication and declared myself as admin:

acl:
  ##
  ## The 'admin' ACL grants administrative privileges to XMPP accounts.
  ## You can put here as many accounts as you want.
  ##
  admin:
     user:
         - "dm": "jabber.mydomain"

Then started ejabberd and login through web interface.

I see that in host config acl database is in RAM (I'm back translating from russian).

If I set it to RAM & disk then acl database file appears, but if I restart ejabberd it removes file and
I see RAM in database config via web interface.

If I set only disk, then ejabberd dies with errors:

2016-07-21 13:02:43 =CRASH REPORT====
  crasher:
    initial call: ejabberd_http:init/2
    pid: <0.920.0>
    registered_name: []
    exception error: bad argument: [{ets,lookup,[acl,{admin,global}],[]},{acl,get_aclspecs,2,[{file,"src/acl.erl"},{line,349}]},{acl,match_acl,3,[{file,"src/acl.erl"},{line,346}]},{acl,match_acls,3,[{file,"src/ac
l.erl"},{line,276}]},{ejabberd_web_admin,'-is_acl_match/3-fun-0-',3,[{file,"src/ejabberd_web_admin.erl"},{line,88}]},{lists,any,2,[{file,"lists.erl"},{line,1224}]},{ejabberd_web_admin,'-make_server_menu/4-lc$^0/1
-0-',3,[{file,"src/ejabberd_web_admin.erl"},{line,2890}]},{ejabberd_web_admin,make_server_menu,4,[{file,"src/ejabberd_web_admin.erl"},{line,2888}]}]
    ancestors: [<0.472.0>,ejabberd_listeners,ejabberd_sup,<0.38.0>]
    messages: []
    links: [#Port<0.8866>,#Port<0.8865>]
    dictionary: []
    trap_exit: false
    status: running
    heap_size: 28690
    stack_size: 27
    reductions: 53249
  neighbours:
2016-07-21 13:02:43 =CRASH REPORT====
  crasher:
    initial call: ejabberd_http:init/2
    pid: <0.1344.0>
    registered_name: []
    exception error: bad argument: [{ets,lookup,[acl,{admin,global}],[]},{acl,get_aclspecs,2,[{file,"src/acl.erl"},{line,349}]},{acl,match_acl,3,[{file,"src/acl.erl"},{line,346}]},{acl,match_acls,3,[{file,"src/ac
l.erl"},{line,276}]},{ejabberd_web_admin,'-is_acl_match/3-fun-0-',3,[{file,"src/ejabberd_web_admin.erl"},{line,88}]},{lists,any,2,[{file,"lists.erl"},{line,1224}]},{ejabberd_web_admin,get_auth_account,5,[{file,"s
rc/ejabberd_web_admin.erl"},{line,269}]},{ejabberd_web_admin,process,2,[{file,"src/ejabberd_web_admin.erl"},{line,222}]}]
    ancestors: [<0.472.0>,ejabberd_listeners,ejabberd_sup,<0.38.0>]
    messages: []
    links: [#Port<0.8879>,#Port<0.8880>]
    dictionary: []
    trap_exit: false
    status: running
    heap_size: 2586
    stack_size: 27
    reductions: 3836
  neighbours:

And

2016-07-21 13:02:43.963 [error] <0.1344.0> CRASH REPORT Process <0.1344.0> with 0 neighbours crashed with reason: bad argument in call to ets:lookup(acl, {admin,global}) in acl:get_aclspecs/2 line 349

Just because ejabberd 2 on ubuntu 12.04 runs with acls in RAM&disk just fine I think this is ejabberd bug.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.