I'm seeing a crash in 1.1alpha2 when trying to expunge a folder when "lazy_expunge" is enabled:
namespace private { separator = . prefix = .EXPUNGED/ location = maildir:/mailstore/%u/Expunged hidden = yes } ... lazy_expunge = .EXPUNGED/ .EXPUNGED/ .EXPUNGED/
Commenting out "lazy_expunge" prevents the crash and mail is expunged.
It happens with and without ACL's. Attached is the log output.
The messages never actually get moved to the "Expunged" directory, but there is a "temp" file created each time:
/mailstore/testuser/Expunged/
drwx------ 6 testuser users 4096 Aug 9 11:39 . drwxr-xr-x 4 testuser users 4096 Aug 9 10:59 .. drwx------ 2 testuser users 4096 Aug 9 10:59 cur -rw------- 1 testuser users 24 Aug 9 11:39 dovecot.list.index.log -rw------- 1 testuser users 28 Aug 9 11:39 dovecot.list.index.uidmap drwx------ 5 testuser users 4096 Aug 9 11:02 .Junk -rw------- 1 testuser users 0 Aug 9 10:59 maildirfolder drwx------ 2 testuser users 4096 Aug 9 10:59 new -rw------- 1 testuser users 0 Aug 9 11:04 temp.mail4.whidbey.net.8596.7b344a891b2c6691 -rw------- 1 testuser users 0 Aug 9 11:32 temp.mail4.whidbey.net.8761.bfe04f5457e4ba7e -rw------- 1 testuser users 0 Aug 9 11:33 temp.mail4.whidbey.net.8765.44e803d87275348a -rw------- 1 testuser users 0 Aug 9 11:37 temp.mail4.whidbey.net.9031.f4a972591af59e05 -rw------- 1 testuser users 0 Aug 9 11:39 temp.mail4.whidbey.net.9125.d67b160254a01631 drwx------ 2 testuser users 4096 Aug 9 10:59 tmp
Lazy expunge works on our production 1.0.0 systems. Anyone else seen this?
Rich
dovecot: Aug 09 11:04:25 Info: imap-login: Login: user=<testuser>, method=PLAIN, rip=209.166.64.35, lip=172.16.125.4 dovecot: Aug 09 11:04:25 Info: IMAP(testuser): Loading modules from directory: /usr/local/lib/dovecot/imap dovecot: Aug 09 11:04:25 Info: IMAP(testuser): Module loaded: /usr/local/lib/dovecot/imap/lib01_acl_plugin.so dovecot: Aug 09 11:04:25 Info: IMAP(testuser): Module loaded: /usr/local/lib/dovecot/imap/lib02_lazy_expunge_plugin.so dovecot: Aug 09 11:04:25 Info: IMAP(testuser): Module loaded: /usr/local/lib/dovecot/imap/lib10_quota_plugin.so dovecot: Aug 09 11:04:25 Info: IMAP(testuser): Module loaded: /usr/local/lib/dovecot/imap/lib11_imap_quota_plugin.so dovecot: Aug 09 11:04:25 Info: IMAP(testuser): Effective uid=40308, gid=100, home=/var/mail/testuser dovecot: Aug 09 11:04:25 Info: IMAP(testuser): Quota rule: root=storage=102400 mailbox= storage=256000kB messages=0 dovecot: Aug 09 11:04:25 Info: IMAP(testuser): Namespace: type=private, prefix=, sep=., inbox=yes, hidden=no, list=yes dovecot: Aug 09 11:04:25 Info: IMAP(testuser): maildir: data=/mailstore/testuser/Maildir:INDEX=MEMORY dovecot: Aug 09 11:04:25 Info: IMAP(testuser): maildir++: root=/mailstore/testuser/Maildir, index=, control=, inbox=/mailstore/testuser/Maildir dovecot: Aug 09 11:04:25 Info: IMAP(testuser): acl: initializing backend with data: vfile:/adminstore/configs/dovecot-acls:cache_secs=600 dovecot: Aug 09 11:04:25 Error: IMAP(testuser): Sending log messages too fast, throttling.. dovecot: Aug 09 11:04:26 Info: IMAP(testuser): acl: acl username = testuser dovecot: Aug 09 11:04:26 Info: IMAP(testuser): acl: owner = 1 dovecot: Aug 09 11:04:26 Info: IMAP(testuser): acl vfile: Global ACL directory: /adminstore/configs/dovecot-acls dovecot: Aug 09 11:04:26 Info: IMAP(testuser): Namespace: type=private, prefix=.EXPUNGED/, sep=., inbox=no, hidden=yes, list=no dovecot: Aug 09 11:04:26 Info: IMAP(testuser): maildir: data=/mailstore/testuser/Expunged:INDEX=MEMORY dovecot: Aug 09 11:04:26 Info: IMAP(testuser): maildir++: root=/mailstore/testuser/Expunged, index=, control=, inbox=/mailstore/testuser/Expunged dovecot: Aug 09 11:04:26 Info: IMAP(testuser): acl: initializing backend with data: vfile:/adminstore/configs/dovecot-acls:cache_secs=600 dovecot: Aug 09 11:04:26 Info: IMAP(testuser): acl: acl username = testuser dovecot: Aug 09 11:04:26 Info: IMAP(testuser): acl: owner = 1 dovecot: Aug 09 11:04:26 Info: IMAP(testuser): acl vfile: Global ACL directory: /adminstore/configs/dovecot-acls dovecot: Aug 09 11:04:28 Info: IMAP(testuser): acl vfile: reading file /adminstore/configs/dovecot-acls/Junk dovecot: Aug 09 11:04:28 Info: IMAP(testuser): acl vfile: file /mailstore/testuser/Maildir/.Junk/dovecot-acl not found dovecot: Aug 09 11:04:41 Info: IMAP(testuser): acl vfile: reading file /adminstore/configs/dovecot-acls/Junk dovecot: Aug 09 11:04:41 Info: IMAP(testuser): acl vfile: file /mailstore/testuser/Expunged/.Junk/dovecot-acl not found dovecot: Aug 09 11:04:41 Error: IMAP(testuser): file mailbox-list-maildir.c: line 161 (maildir_list_get_path): assertion failed: (mailbox_list_is_valid_existing_name(_list, name)) dovecot: Aug 09 11:04:41 Error: IMAP(testuser): Raw backtrace: imap [0x80c5df1] -> imap [0x80c5d0c] -> imap [0x806ba2d] -> /usr/local/lib/dovecot/imap/lib01_acl_plugin.so [0x46cfab] -> /usr/local/lib/dovecot/imap/lib01_acl_plugin.so(acl_object_init_from_name+0x1d) [0x46b93d] -> /usr/local/lib/dovecot/imap/lib01_acl_plugin.so(acl_backend_vfile_acllist_rebuild+0x1c7) [0x46d627] -> /usr/local/lib/dovecot/imap/lib01_acl_plugin.so(acl_backend_vfile_acllist_refresh+0x1fd) [0x46db5d] -> /usr/local/lib/dovecot/imap/lib01_acl_plugin.so(acl_backend_vfile_acllist_verify+0x1f) [0x46dcdf] -> /usr/local/lib/dovecot/imap/lib01_acl_plugin.so [0x46cf13] -> /usr/local/lib/dovecot/imap/lib01_acl_plugin.so(acl_object_have_right+0x2d) [0x46bc6d] -> /usr/local/lib/dovecot/imap/lib01_acl_plugin.so(acl_storage_rights_ctx_have_right+0x5a) [0x4703aa] -> /usr/local/lib/dovecot/imap/lib01_acl_plugin.so [0x470466] -> /usr/local/lib/dovecot/imap/lib01_acl_plugin.so [0x4707d8] -> /usr/local/lib/dovecot/imap/lib02_lazy_expunge_plugin.so [0xf5ad3a] -> /usr/local/lib/dovecot/imap/lib10_q dovecot: Aug 09 11:04:41 Error: IMAP(testuser): uota_plugin.so [0x51b92a] -> imap(mailbox_open+0x46) [0x80b6ff6] -> /usr/local/lib/dovecot/imap/lib02_lazy_expunge_plugin.so [0xf5b092] -> /usr/local/lib/dovecot/imap/lib10_quota_plugin.so [0x51b0e8] -> imap(imap_expunge+0xb4) [0x8060034] -> imap(cmd_expunge+0x43) [0x805a4d3] -> imap [0x805e649] -> imap [0x805e6e3] -> imap(_client_input+0x65) [0x805ecb5] -> imap(io_loop_handler_run+0x10f) [0x80cba3f] -> imap(io_loop_run+0x28) [0x80cb3a8] -> imap(main+0x4ec) [0x806637c] -> /lib/libc.so.6(__libc_start_main+0xdc) [0x707dec] -> imap [0x8058e41] dovecot: Aug 09 11:04:41 Error: child 8596 (imap) killed with signal 6