[Dovecot] v1.1.beta11 released
http://dovecot.org/releases/1.1/beta/dovecot-1.1.beta11.tar.gz http://dovecot.org/releases/1.1/beta/dovecot-1.1.beta11.tar.gz.sig
This one should be the last beta release before the first v1.1 release candidate.
I'll try to stay away from this list and Dovecot in general for the next 1,5 weeks. I've several exams coming up and I should have started studying for them days ago already.. :)
The main things left in my TODO are:
- Squat indexes should handle expunges
- Lucene indexes are broken
- See if \recent flag handling could be fixed for maildir/mbox (it works for dbox though)
- Some other minor things which I'll do if I have time, but won't block v1.1.0 release.
Changes since beta10:
- One major performance issue found and fixed. This was the main reason why we weren't yet in release candidate stage.
- configure --with-package now gives an error if it can't find the necessary libs/headers for the package. Use --with-package=auto for the old behavior.
- Memory leak fixes
- Convert plugin fixes. Conversion is now done to namespace with INBOX.
- Changes to handling group adding/removing to processes. Hopefully didn't break anything.
- Message flag/keyword searches are now faster
- Fixes/optimizations to handling SORT. After building initial indexes, my 260k mail mailbox sorts in about 0.01 seconds. :)
- Fixes to searching mails with unknown charsets/invalid data
- deliver_log_format setting
Hello Timo!
Looks like that dovecot-1.1.beta11 is pretty buggy. deliver cored after the first run.
Do you need any further information? (As usual I tried my procmail testcase which cored)
Ciao, Gerhard
On Sun, 9 Dec 2007, Timo Sirainen wrote:
http://dovecot.org/releases/1.1/beta/dovecot-1.1.beta11.tar.gz http://dovecot.org/releases/1.1/beta/dovecot-1.1.beta11.tar.gz.sig
This one should be the last beta release before the first v1.1 release candidate.
Hi,
Since installing v1.1.beta11, I am now getting these errors in our syslog anytime I move messages between two folders:
Dec 9 16:12:19 star dovecot: [ID 107833 mail.error] IMAP(dean): Cached message offset lost for seq 4 in mbox file /home/dean/Mail/Trash
This was not happening with beta 10. It happens for all users on our system moving messages between any two folders. Removing the index files does not help.
Here is output of dovecot -n, running under Solaris 8 (64 bit):
base_dir: /var/run/dovecot/ protocols: imap ssl_disable: yes disable_plaintext_auth: no login_dir: /var/run/dovecot//login login_executable: /usr/local/adm/dovecot/libexec/dovecot/imap-login login_user: daemon mail_extra_groups: mail mail_location: mbox:~/Mail:INBOX=/var/mail/%u:INDEX=/var/indexes/local/%u mail_nfs_storage: yes mbox_write_locks: fcntl mail_plugins: quota imap_quota auth default: mechanisms: plain login passdb: driver: shadow userdb: driver: passwd plugin: quota: fs
-- Dean Brooks dean@iglou.com
On Sun, 2007-12-09 at 16:17 -0500, Dean Brooks wrote:
Since installing v1.1.beta11, I am now getting these errors in our syslog anytime I move messages between two folders:
Dec 9 16:12:19 star dovecot: [ID 107833 mail.error] IMAP(dean): Cached message offset lost for seq 4 in mbox file /home/dean/Mail/Trash
Could you try if latest nightly snapshot has fixed this? http://dovecot.org/nightly/dovecot-latest.tar.gz
I'd like to get a usable beta13 release out. :)
Hello Timo!
Backtrace is here: #0 str_sanitize_append (dest=0x0, src=0x0, max_len=80) at str-sanitize.c:11 #1 0x080bfba9 in str_sanitize (src=0x0, max_len=80) at str-sanitize.c:35 #2 0x08059411 in get_log_var_expand_table (mail=0x1, message=0x8a5a840 "`¨¥\b") at deliver.c:120 #3 0x08059453 in deliver_log (mail=0x8a71b20, fmt=0x80c2790 "saved mail to %s") at deliver.c:137 #4 0x0805962b in deliver_save (namespaces=0x8a625f8, storage_r=0xbfee34c4, mailbox=0xbff38cad "testmail", mail=0x8a71b20, flags=0, keywords=0x0) at deliver.c:222 #5 0x0805aaaa in main (argc=-1074907952, argv=0x8a64cf0) at deliver.c:954
If you need a full backtrace please let me know it.
Sorry for the delay.
Ciao, Gerhard
On Sun, 9 Dec 2007, Timo Sirainen wrote:
On 9.12.2007, at 21.32, Gerhard Wiesinger wrote:
Looks like that dovecot-1.1.beta11 is pretty buggy. deliver cored after the first run.
Do you need any further information? (As usual I tried my procmail testcase which cored)
Doesn't core here. So gdb backtrace would be helpful.
On Wed, 2007-12-12 at 18:37 +0100, Gerhard Wiesinger wrote:
Hello Timo!
Backtrace is here: #0 str_sanitize_append (dest=0x0, src=0x0, max_len=80) at str-sanitize.c:11 #1 0x080bfba9 in str_sanitize (src=0x0, max_len=80) at str-sanitize.c:35 #2 0x08059411 in get_log_var_expand_table (mail=0x1, message=0x8a5a840 "`¨¥\b") at deliver.c:120 #3 0x08059453 in deliver_log (mail=0x8a71b20, fmt=0x80c2790 "saved mail to %s") at deliver.c:137
Thanks, this fixes it: http://hg.dovecot.org/dovecot/rev/f359a0a9407f
On Sun, Dec 09, 2007 at 08:29:49PM +0200, Timo Sirainen wrote:
http://dovecot.org/releases/1.1/beta/dovecot-1.1.beta11.tar.gz http://dovecot.org/releases/1.1/beta/dovecot-1.1.beta11.tar.gz.sig
This one should be the last beta release before the first v1.1 release candidate.
Looks like the fix to Solaris dirent handling didn't make it into beta11. Here is a recap of the problem:
This affects anyone under Solaris 8, and probably all other versions of Solaris as well and breaks many mailbox LIST commands.
In src/lib-storage/list/mailbox-list-fs-iter.c, in the function fs_list_dir_next(), the following code near the end of the function is the culprit:
if (i_strocpy(dir->dirent.d_name, fname,
sizeof(dir->dirent.d_name)) < 0) {
/* name too large.. shouldn't happen. */
continue;
}
To fix it, I changed it to:
if (i_strocpy(dir->dirent.d_name, fname, MAXNAMLEN) < 0) {
/* name too large.. shouldn't happen. */
continue;
}
It appears that sizeof(dir->dirent.d_name) always returns "1" under Solaris. This is a common dirent portability issue that affects a few operating systems, including Solaris. I googled around and found other authors who have done crazy stuff like this:
#ifdef BROKEN_ONE_BYTE_DIRENT_D_NAME strcpy(dirent->d_name, filename, MAXPATHLEN); #else strcpy(dirent->d_name, filename, sizeof(dirent->d_name)); #endif
There is probably a cleaner way to deal with this though. From what I can tell, this is the only place in Dovecot where a sizeof() is done on d_name.
Unfortunately, Dovecot beta11 is not usable in a production environment under Solaris until this issue is resolved.
-- Dean Brooks dean@iglou.com
On Sun, 2007-12-09 at 14:38 -0500, Dean Brooks wrote:
On Sun, Dec 09, 2007 at 08:29:49PM +0200, Timo Sirainen wrote:
http://dovecot.org/releases/1.1/beta/dovecot-1.1.beta11.tar.gz http://dovecot.org/releases/1.1/beta/dovecot-1.1.beta11.tar.gz.sig
This one should be the last beta release before the first v1.1 release candidate.
Looks like the fix to Solaris dirent handling didn't make it into beta11.
participants (3)
-
Dean Brooks
-
Gerhard Wiesinger
-
Timo Sirainen