1. My earlier patch to fix a typo in array.h was not good enough. Here's one that not only compiles, but also doesn't crash: --- dovecot-2.0.alpha2/src/lib/array.h 2009-10-08 10:04:35.000000000 -0500
+++ dovecot/src/lib/array.h     2009-10-29 20:47:47.000000000 -0500
@@ -72,8 +72,7 @@
             (elem)++)
 #  define array_foreach_modifiable(array, elem) \
        for (elem = ARRAY_TYPE_CAST_MODIFIABLE(array) \
-                       buffer_get_modifiable_data((array)->arr.buffer, NULL)) 
+ \
-                       (array)->arr.buffer->used; \
+                       buffer_get_modifiable_data((array)->arr.buffer, NULL); \
elem != CONST_PTR_OFFSET(*(array)->v, (array)->arr.buffer- >used); \
             (elem)++)
 #endif

2.  Sometimes I see a flood of these errors in the log:
[...]
Fri Oct 30 14:45:23 server dovecot[9585]: imap: service(imap): dup2s failed Fri Oct 30 14:45:23 server dovecot[9585]: imap-login: Login: user=<userX>, method=PLAIN, rip=192.168.1.8, lip=192.168.1.7, pid=11362 Fri Oct 30 14:45:23 server dovecot[9585]: imap(pid 11362 user userX): Connection closed bytes=118/934 Fri Oct 30 14:45:23 server dovecot[9585]: imap: dup2(-1, 5) failed: Bad file descriptor Fri Oct 30 14:45:23 server dovecot[9585]: imap: service(imap): dup2s failed Fri Oct 30 14:45:23 server dovecot[9585]: imap-login: Login: user=<userY>, method=PLAIN, rip=192.168.1.8, lip=192.168.1.7, pid=11363 Fri Oct 30 14:45:23 server dovecot[9585]: imap(pid 11363 user userY): Connection closed bytes=118/972 Fri Oct 30 14:45:23 server dovecot[9585]: imap: dup2(-1, 5) failed: Bad file descriptor Fri Oct 30 14:45:23 server dovecot[9585]: imap: service(imap): dup2s failed
[...]

3.  imap crashed when using mdbox:
Fri Oct 30 14:54:49 server dovecot[11491]: imap(pid 11938 user userZ): dbox /Volumes/Mail/userZ/mailboxes/INBOX/Sent/dbox-Mails: map uidvalidity mismatch (1256918863 vs 1256919073) Fri Oct 30 14:54:49 server dovecot[11491]: imap(pid 11938 user userZ): Disconnected: Internal error occurred. Refer to server log for more information. [2009-10-30 14:54:49] bytes=553447/2146313 Fri Oct 30 14:54:49 server dovecot[11491]: imap(pid 11938 user userZ): dbox /Volumes/Mail/userZ/storage: rebuilding indexes Fri Oct 30 14:54:49 server dovecot[11491]: imap(pid 11938 user user): Panic: file dbox-file.c: line 308 (dbox_file_get_mail_stream): assertion failed: (file->input != NULL)

0   libSystem.B.dylib                   0x00007fff875f4eba __kill + 10
1   libSystem.B.dylib                   0x00007fff875f4eac kill + 14
2   libSystem.B.dylib                   0x00007fff87683519 raise + 25
3   libSystem.B.dylib                   0x00007fff876a4e12 abort + 90
4 libdovecot.0.dylib 0x00000001000e8027 i_set_failure_file + 275 5 libdovecot.0.dylib 0x00000001000e6eef i_set_failure_internal + 103
6   libdovecot.0.dylib                  0x00000001000e76d2 i_debug + 0
7 libdovecot-storage.0.dylib 0x000000010005768a dbox_file_seek_next + 0 8 libdovecot-storage.0.dylib 0x000000010005772a dbox_file_seek_next + 160 9 libdovecot-storage.0.dylib 0x0000000100084266 mdbox_storage_rebuild + 1406 10 libdovecot-storage.0.dylib 0x0000000100085617 mdbox_mailbox_alloc + 1271 11 libdovecot-storage.0.dylib 0x00000001000271e1 mail_storage_unref + 93 12 libdovecot-storage.0.dylib 0x0000000100023386 mail_namespace_get_storage_name + 162 13 libdovecot-storage.0.dylib 0x0000000100023429 mail_namespaces_deinit + 35 14 libdovecot-storage.0.dylib 0x0000000100028c39 mail_user_alloc + 311 15 libdovecot-storage.0.dylib 0x000000010002889a mail_user_unref + 40 16 imap 0x0000000100007fa4 client_destroy + 404 17 imap 0x0000000100006eb3 client_input + 87 18 libdovecot.0.dylib 0x00000001000eca50 io_loop_handler_run + 224 19 libdovecot.0.dylib 0x00000001000ed55a io_loop_run + 56 20 libdovecot.0.dylib 0x00000001000e393d master_service_run + 27
21  imap                                0x000000010000fb45 main + 557
22  imap                                0x0000000100000dd0 start + 52

Hope this helps.

Reply via email to