Hi Timo, upgrading from 2.03 to 2.04 broke folder sharing at my setup double checked this with tests reverting versions etc setting acl and subcriptions are working with 2.04, but in difference to 2.03 no shared subfolder is created at acl/subscription set time so subscribing afterwards fail with ignore message by bad subscription the mails store is on drbd with ocfs2 i didnt change any other config parameter during the tests so some patch must have changed folder sharing behavior from 2.03 to 2.04 speculate something with default hardlinks etc? any idea ? -- Best Regards MfG Robert Schetterer Germany/Munich/Bavaria
Robert Schetterer
2010-Sep-30 10:45 UTC
[Dovecot] dovecot 2.04 broke folder sharing / panic: dict-client: Only one iteration supported
Am 30.09.2010 10:32, schrieb Robert Schetterer:> Hi Timo, > upgrading from 2.03 to 2.04 > broke folder sharing at my setup > double checked this with tests reverting versions etc > setting acl and subcriptions are working > with 2.04, but in difference to > 2.03 no shared subfolder is created > at acl/subscription set time > so subscribing afterwards fail with ignore message by bad subscription > the mails store is on drbd with ocfs2 > i didnt change any other config parameter during the tests > so some patch must have changed folder sharing behavior from 2.03 to 2.04 > speculate something with default hardlinks etc? > any idea ?i dont know if its exactly the reason but dict seems involved to this Panic: dict-client: Only one iteration supported Sep 30 12:42:02 mail01 dovecot: imap(postmaster at schetterer.name): Error: Raw backtrace: /usr/lib/dovecot/libdovecot.so.0(+0x3562a) [0x7f8c4b32862a] -> /usr/lib/dovecot/libdovecot.so.0(+0x3567a) [0x7f8c4b32867a] -> /usr/lib/dovecot/libdovecot.so.0(i_error+0) [0x7f8c4b305476] -> /usr/lib/dovecot/libdovecot.so.0(+0x18f85) [0x7f8c4b30bf85] -> /usr/lib/dovecot/libdovecot.so.0(dict_iterate_init+0x19) [0x7f8c4b30a7e9] -> /usr/lib/dovecot/modules/lib01_acl_plugin.so(acl_lookup_dict_rebuild+0x39b) [0x7f8c4a740c1b] -> /usr/lib/dovecot/modules/lib01_acl_plugin.so(acl_backend_vfile_acllist_rebuild+0x484) [0x7f8c4a73f4d4] -> /usr/lib/dovecot/modules/lib01_acl_plugin.so(acl_backend_vfile_acllist_refresh+0x233) [0x7f8c4a73f873] -> /usr/lib/dovecot/modules/lib01_acl_plugin.so(acl_backend_vfile_acllist_verify+0x55) [0x7f8c4a73fa05] -> /usr/lib/dovecot/modules/lib01_acl_plugin.so(+0x77a8) [0x7f8c4a73e7a8] -> /usr/lib/dovecot/modules/lib01_acl_plugin.so(acl_backend_get_default_rights+0x1e) [0x7f8c4a73c55e] -> /usr/lib/dovecot/modules/lib01_acl_plugin.so(+0xbea4) [0x7f8c4a742ea4] -> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_list_iter_init+0x19) [0x7f8c4b592c19] -> /usr/lib/dovecot/modules/lib01_acl_plugin.so(acl_shared_namespaces_add+0x24e) [0x7f8c4a74328e] -> /usr/lib/dovecot/modules/lib01_acl_plugin.so(+0xb270) [0x7f8c4a742270] -> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_list_iter_init+0x19) [0x7f8c4b592c19] -> dovecot/imap [postmaster at schetterer.name 88.217.137.181 list]() [0x40bafe] -> dovecot/imap [postmaster at schetterer.name 88.217.137.181 list]() [0x40c7a4] -> dovecot/imap [postmaster at schetterer.name 88.217.137.181 list](cmd_list_full+0x43e) [0x40cc9e] -> dovecot/imap [postmaster at schetterer.name 88.217.137.181 list]() [0x41035d] -> dovecot/imap [postmaster at schetterer.name 88.217.137.181 list]() [0x41043d] -> dovecot/imap [postmaster at schetterer.name 88.217.137.181 list](client_handle_input+0x135) [0x410665] -> dovecot/imap [postmaster at schetterer.name 88.217.137.181 list](client_input+0x5f) [0x410f8f] -> /usr/ -- Best Regards MfG Robert Schetterer Germany/Munich/Bavaria
Timo Sirainen
2010-Sep-30 19:29 UTC
[Dovecot] dovecot 2.04 broke folder sharing / panic: dict-client: Only one iteration supported
On Thu, 2010-09-30 at 12:45 +0200, Robert Schetterer wrote:> Panic: dict-client: Only one iteration supported > /usr/lib/dovecot/modules/lib01_acl_plugin.so(acl_lookup_dict_rebuild+0x39b)This should help: http://hg.dovecot.org/dovecot-2.0/rev/ecc0bc80288c
Robert Schetterer
2010-Sep-30 19:44 UTC
[Dovecot] dovecot 2.04 broke folder sharing / panic: dict-client: Only one iteration supported
Am 30.09.2010 21:29, schrieb Timo Sirainen:> On Thu, 2010-09-30 at 12:45 +0200, Robert Schetterer wrote: > >> Panic: dict-client: Only one iteration supported >> /usr/lib/dovecot/modules/lib01_acl_plugin.so(acl_lookup_dict_rebuild+0x39b) > > This should help: http://hg.dovecot.org/dovecot-2.0/rev/ecc0bc80288c > >thx Timo, i will try test asap and report -- Best Regards MfG Robert Schetterer Germany/Munich/Bavaria
Robert Schetterer
2010-Sep-30 22:19 UTC
[Dovecot] dovecot 2.04 broke folder sharing / panic: dict-client: Only one iteration supported
Am 30.09.2010 21:44, schrieb Robert Schetterer:> Am 30.09.2010 21:29, schrieb Timo Sirainen: >> On Thu, 2010-09-30 at 12:45 +0200, Robert Schetterer wrote: >> >>> Panic: dict-client: Only one iteration supported >>> /usr/lib/dovecot/modules/lib01_acl_plugin.so(acl_lookup_dict_rebuild+0x39b) >> >> This should help: http://hg.dovecot.org/dovecot-2.0/rev/ecc0bc80288c >> >> > thx Timo, i will try test asap > and report >Hi Timo, i see no dict errors now, but acl folder sharing is still broken, i will try to do more debug tommorow any idea what changed that much and might broke it beetween 2.03 and 2.04? for short looks i have no errors in debug logs the symptom stays that subdir shared/user at domain.de/folder gets not created so subscription failed
Am 01.10.2010 00:19, schrieb Robert Schetterer:> Am 30.09.2010 21:44, schrieb Robert Schetterer: >> Am 30.09.2010 21:29, schrieb Timo Sirainen: >>> On Thu, 2010-09-30 at 12:45 +0200, Robert Schetterer wrote: >>> >>>> Panic: dict-client: Only one iteration supported >>>> /usr/lib/dovecot/modules/lib01_acl_plugin.so(acl_lookup_dict_rebuild+0x39b) >>>> >>> >>> This should help: http://hg.dovecot.org/dovecot-2.0/rev/ecc0bc80288c >>> >>> >> thx Timo, i will try test asap >> and report >> > > Hi Timo, > i see no dict errors now, but acl > folder sharing is still broken, i will try to do more debug tommorow > any idea what changed that much and might broke it beetween 2.03 and 2.04? > for short looks i have no errors in debug logs > the symptom stays that subdir shared/user at domain.de/folder > gets not created so subscription failedi tested a lot but didnt found any solution or bugs in debug logs comparing same setup dove 2.03 vs 2.04 folder sharing simply seems broken in 2.04 heres dovecot -n # 2.0.4 (ecc0bc80288c): /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-25-server x86_64 Ubuntu 10.04.1 LTS auth_debug = yes auth_debug_passwords = yes auth_master_user_separator = * auth_mechanisms = plain login auth_socket_path = /var/run/dovecot/auth-userdb auth_verbose = yes auth_verbose_passwords = plain dict { acl = mysql:/etc/dovecot/dovecot-dict-acl-sql.conf.ext expire = mysql:/etc/dovecot/dovecot-dict-expire-sql.conf.ext quotadict = mysql:/etc/dovecot/dovecot-dict-quota-sql.conf.ext } disable_plaintext_auth = no first_valid_gid = 1001 first_valid_uid = 1001 hostname = mail01.mailspooler.com last_valid_gid = 1001 last_valid_uid = 1001 listen = * login_greeting = imap, pop ready mail_access_groups = vmail mail_debug = yes mail_fsync = always mail_gid = 1001 mail_location = maildir:~/ mail_nfs_index = yes mail_nfs_storage = yes mail_plugins = expire virtual fts fts_squat mail_log autocreate notify mail_privileged_group = vmail mail_uid = 1001 managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date mmap_disable = yes namespace { hidden = no inbox = yes list = yes location prefix separator = / subscriptions = yes type = private } namespace { hidden = yes list = no location = virtual:/etc/dovecot/virtual:LAYOUT=maildir++ prefix = virtual/ separator = / subscriptions = no type = private } namespace { hidden = yes list = no location prefix = RealMails/ separator = / type = private } namespace { inbox = no list = children location = maildir:/usr/local/virtual/%%d/%%u/:INDEX=~/shared/%%d/%%u/ prefix = shared/%%u/ separator = / subscriptions = no type = shared } passdb { args = /etc/dovecot/dovecot-sql-master.conf.ext driver = sql master = yes pass = yes } passdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } plugin { acl = vfile acl_anyone = allow acl_shared_dict = proxy::acl autocreate = Trash autocreate2 = Junk autocreate3 = Sent autocreate4 = Drafts autocreate5 = Templates autosubscribe = Trash autosubscribe2 = Junk autosubscribe3 = Sent autosubscribe4 = Drafts autosubscribe5 = Templates expire = Trash expire2 = Trash/* expire3 = Junk expire4 = Junk/* expire_dict = proxy::expire fts = squat home = /usr/local/virtual/%d/%u mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename mail_log_fields = uid box msgid size mail_log_group_events = yes quota = dict:::proxy::quotadict quota_warning = storage=95%% quota-warning 95 %u quota_warning2 = storage=80%% quota-warning 80 %u sieve = /usr/local/virtual/%d/%u/dovecot.sieve sieve_before = /etc/dovecot/sieve/global.sieve sieve_dir = /usr/local/virtual/%d/%u/sieve sieve_global_dir = /etc/dovecot/sieve/ sieve_global_path = /etc/dovecot/sieve/global.sieve } postmaster_address = hostmaster at mail01.mailspooler.com protocols = imap pop3 lmtp sieve sendmail_path = /usr/lib/sendmail service auth-worker { user = root } service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0666 user = postfix } unix_listener auth-userdb { group = vmail mode = 0600 user = vmail } } service dict { extra_groups = vmail unix_listener dict { group = vmail mode = 0660 } } service imap-login { inet_listener imap { port = 143 } inet_listener imaps { port = 993 ssl = yes } process_min_avail = 0 service_count = 1 } service imap-postlogin { executable = script-login /usr/local/bin/postlogin_imap.sh user = root } service imap { executable = imap imap-postlogin process_limit = 1024 vsz_limit = 268435456 } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0660 user = postfix } } service managesieve-login { inet_listener { address = 127.0.0.1 port = 2000 } } service pop3-login { inet_listener pop3 { port = 110 } inet_listener pop3s { port = 995 ssl = yes } } service pop3-postlogin { executable = script-login /usr/local/bin/postlogin_pop3.sh user = root } service pop3 { executable = pop3 pop3-postlogin } service quota-warning { executable = script /usr/local/bin/quota-warning.sh unix_listener quota-warning { mode = 0666 user = vmail } user = dovecot } ssl_cert = </etc/postfix/wildcard.crt ssl_key = </etc/postfix/wildcard.key userdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } userdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } verbose_proctitle = yes verbose_ssl = yes protocol lda { mail_plugins = quota sieve virtual acl mail_log notify expire } protocol imap { imap_client_workarounds = delay-newmail imap_id_log = * imap_id_send = * imap_idle_notify_interval = 120 s imap_logout_format = bytes=%i/%o imap_max_line_length = 65536 mail_max_userip_connections = 10 mail_plugins = imap_acl acl fts fts_squat mail_log autocreate notify expire virtual quota imap_quota } protocol lmtp { mail_plugins = quota sieve virtual acl fts fts_squat mail_log notify expire } protocol sieve { managesieve_implementation_string = Dovecot } protocol pop3 { mail_max_userip_connections = 3 mail_plugins = expire virtual quota mail_log fts fts_squat notify pop3_client_workarounds = outlook-no-nuls oe-ns-eoh pop3_enable_last = yes pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s pop3_save_uidl = yes pop3_uidl_format = %g } -- Best Regards MfG Robert Schetterer Germany/Munich/Bavaria