-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hello,
using Dovecot v1.2 changeset: 9126:b745911012bb
ACL config: acl = vfile
# To let users LIST mailboxes shared by other users, Dovecot needs a # shared mailbox dictionary. For example: acl_shared_dict = file:/var/cache/dovecot/shared-mailboxes
telnet localhost imap 0 login .... 1 getacl Sent
- ACL "Sent" "testuser" lrwstipekxacd 1 OK Getacl completed. 2 setacl Sent timo +lrwtsd 2 OK Setacl complete. 3 setacl Sent timo -lrwtsd Aborted (core dumped)
cat /var/cache/dovecot/shared-mailboxes shared/shared-boxes/user/timo/testuser 1
===
The assert happens when the last right is to remove:
setacl I user +lwp setacl I user -l setacl I user -w setacl I user -p Abort
===
log: Panic: file ../../../src/lib/array.h: line 162 (array_idx_i): assertion failed: (idx * array->element_size < array->buffer->used) Raw backtrace: imap [0x80e9ed0] -> imap(i_syslog_fatal_handler+0x2d) [0x80e9f6d] -> imap [0x80e97da] -> /usr/local/dovecot-1.2.rc5unpatched/lib/dovecot/imap/lib01_acl_plugin.so [0xb7e4ede4] -> /usr/local/dovecot-1.2.rc5unpatched/lib/dovecot/imap/lib01_acl_plugin.so [0xb7e4ee40] -> /usr/local/dovecot-1.2.rc5unpatched/lib/dovecot/imap/lib01_acl_plugin.so [0xb7e50c3b] -> /usr/local/dovecot-1.2.rc5unpatched/lib/dovecot/imap/lib01_acl_plugin.so(acl_object_update+0x18) [0xb7e4de98] -> /usr/local/dovecot-1.2.rc5unpatched/lib/dovecot/imap/lib02_imap_acl_plugin.so [0xb7f951cf] -> imap [0x8063dbc] -> imap [0x8063e6b] -> imap(client_handle_input+0x3f) [0x8063fbf] -> imap(client_input+0x5f) [0x8064b2f] -> imap(io_loop_handler_run+0x110) [0x80f2a10] -> imap(io_loop_run+0x28) [0x80f1ad8] -> imap(main+0x764) [0x806cf34] -> /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xc8) [0xb7e6eea8] -> imap [0x805cb71]
(gdb) bt full #0 0xb7f99410 in ?? () No symbol table info available. #1 0xbfe106ac in ?? () No symbol table info available. #2 0x00000006 in ?? () No symbol table info available. #3 0x000054a6 in ?? () No symbol table info available. #4 0xb7e82811 in raise () from /lib/tls/i686/cmov/libc.so.6 No symbol table info available. #5 0xb7e83fb9 in abort () from /lib/tls/i686/cmov/libc.so.6 No symbol table info available. #6 0x080e9edd in default_fatal_finish (type=<value optimized out>, status=0) at failures.c:160 backtrace = 0x81205e0 "imap [0x80e9ed0] -> imap(i_syslog_fatal_handler+0x2d) [0x80e9f6d] -> imap [0x80e97da] -> /usr/local/dovecot-1.2.rc5unpatched/lib/dovecot/imap/lib01_acl_plugin.so [0xb7e4ede4] -> /usr/local/dovecot-1.2"... #7 0x080e9f6d in i_syslog_fatal_handler (type=LOG_TYPE_PANIC, status=0, fmt=0xb7e55714 "file %s: line %d (%s): assertion failed: (%s)", args=0xbfe10854 "\"Y?") at failures.c:315 No locals. #8 0x080e97da in i_panic ( format=0xb7e55714 "file %s: line %d (%s): assertion failed: (%s)") at failures.c:207 args = 0xbfe10854 "\"Y?" #9 0xb7e4ede4 in modify_right_list (pool=0x8154330, rightsp=0x8154450, modify_rights=0x8120338, modify_mode=ACL_MODIFY_MODE_REMOVE) at ../../../src/lib/array.h:162 old_rights = (const char * const *) 0x8154360 new_rights = (const char * const *) 0xbfe10894 null = 0x0 #10 0xb7e4ee40 in vfile_object_modify_right (aclobj=0x81542d0, idx=0, update=0xbfe10a2c) at acl-backend-vfile.c:940 c1 = 74 c2 = <value optimized out> #11 0xb7e50c3b in acl_backend_vfile_object_update (_aclobj=0x81542d0, update=0xbfe10a2c) at acl-backend-vfile.c:1099 str = <value optimized out> i = <value optimized out> ret = <value optimized out> output = <value optimized out> rights = <value optimized out> aclobj = (struct acl_object_vfile *) 0x0 dotlock = <value optimized out> path = <value optimized out> i = 0 fd = 7 changed = <value optimized out> __PRETTY_FUNCTION__ = "acl_backend_vfile_object_update" #12 0xb7e4de98 in acl_object_update (aclobj=0x81542d0, update=0xbfe10a2c) at acl-api.c:137 No locals. #13 0xb7f951cf in cmd_setacl (cmd=0x8130a10) at imap-acl-plugin.c:574 ns = (struct mail_namespace *) 0x8129988 storage = <value optimized out> box = (struct mailbox *) 0x8154f88 backend = (struct acl_backend *) 0x812e2f0 update = {rights = {id_type = ACL_ID_USER, identifier = 0x8135b18 "timo", rights = 0x8120338, neg_rights = 0x0, global = 0}, modify_mode = ACL_MODIFY_MODE_REMOVE, neg_modify_mode = ACL_MODIFY_MODE_REMOVE} mailbox = 0x8135b10 "Sent" identifier = 0x8135b18 "timo" rights = 0x8135b21 "lrwtsd" error = <value optimized out> negative = false #14 0x08063dbc in client_command_input (cmd=0x8130a10) at client.c:607 client = (struct client *) 0x812f748 command = <value optimized out> __PRETTY_FUNCTION__ = "client_command_input" #15 0x08063e6b in client_command_input (cmd=0x8130a10) at client.c:656 client = (struct client *) 0x812f748 command = (struct command *) 0x54a6 __PRETTY_FUNCTION__ = "client_command_input" #16 0x08063fbf in client_handle_input (client=0x812f748) at client.c:697 _data_stack_cur_id = 3 remove_io = <value optimized out> handled_commands = false __PRETTY_FUNCTION__ = "client_handle_input" #17 0x08064b2f in client_input (client=0x812f748) at client.c:748 cmd = <value optimized out> output = (struct ostream *) 0x813098c bytes = 27 __PRETTY_FUNCTION__ = "client_input" #18 0x080f2a10 in io_loop_handler_run (ioloop=0x8128ac8) at ioloop-epoll.c:208 ctx = <value optimized out> event = (const struct epoll_event *) 0x8128c10 list = (struct io_list *) 0x812f808 io = (struct io_file *) 0x812f7e0 tv = {tv_sec = 1789, tv_usec = 997764} t_id = 2 msecs = <value optimized out> ret = 1 i = 0 j = 0 call = <value optimized out> #19 0x080f1ad8 in io_loop_run (ioloop=0x8128ac8) at ioloop.c:338 No locals. #20 0x0806cf34 in main (argc=Cannot access memory at address 0x54a6 ) at main.c:323 buf = <value optimized out>
Steffen Kaiser -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux)
iQEVAwUBSjZLO3WSIuGy1ktrAQIiQQf+OVIEEnHua9i/f282/LLGyo48jQMQjq6b VsxUuS6pwPc6HNq16EUNfWOEA6F1/dItNLW0LbvG4bOFwtGv5HnfrzUkkf0WwZun RrVvuXCD+5vF9pMJMbilhGm4h+js+Ymu9dnl43Y64l+7t7lDMPl/JYhGgTYPFF2g 7AgNfwaRG0G4G6zQrjQr9TdefCpq9esZadQwiYMMTWTZA1krfj4QW2ITTeoKaEIL gOR6wjMWVCw6XTYYoLG9dXXJ989U3yhXEu8aXkjAZjdf6Pb/nSrrTluLDgawK65+ IlIIVD5Nx/sqsVQAZ9dK9WGNdG4i6RK/1MZH80bomJ8Ot+KrhW76oQ== =d3r4 -----END PGP SIGNATURE-----