When delete message I have sometimes (often) problems with opening next message from the list. Roundcube hangs. When deleting or moving message are made two connections to imap server. One for delete/move action and one for next message read. See log fragment:
1.[24-Jul-2008 15:09:05 +0200]: [Resource id #41] C: flg STORE 7 +FLAGS (\Deleted) 2.[24-Jul-2008 15:09:06 +0200]: [Resource id #46] S: * 6 FETCH (UID 14 RFC822.SIZE 573 FLAGS (\Seen) INTERNALDATE "22-Jul-2008 11:37:42 +0200") 3.[24-Jul-2008 15:09:06 +0200]: [Resource id #46] S: fh1 OK Fetch completed. 4.[24-Jul-2008 15:09:06 +0200]: [Resource id #46] C: F1247 FETCH 6 (BODYSTRUCTURE) 5.[24-Jul-2008 15:09:06 +0200]: [Resource id #41] S: * 7 FETCH (FLAGS (\Deleted \Seen)) 6.[24-Jul-2008 15:09:06 +0200]: [Resource id #41] S: flg OK Store completed. 7.[24-Jul-2008 15:09:06 +0200]: [Resource id #46] S: * 6 FETCH (BODYSTRUCTURE (("text" "html" ("charset" "iso-8859-2") NIL NIL "7bit" 226 8 NIL NIL NIL) "alternative" ("boundary" "b1_4547603c33fa601e4b546c824b8d50be") NIL NIL)) 8.[24-Jul-2008 15:09:06 +0200]: [Resource id #46] S: * 7 FETCH (FLAGS (\Deleted \Seen)) 9.[24-Jul-2008 15:09:06 +0200]: [Resource id #46] S: F1247 OK Fetch completed.
Problem is with line no.8 which is readed by both connections #41 and #46. In #46 wthis line is joined with line no.7 and then BODYSTRUCTURE reply becomes malformed and is not properly parsed by iil_C_FetchStructureString(). I'm not sure where's the problem in PHP or in dovecot. Maybe someone knows something about that before I'll write workaround?
gentoo PHP 5.2.6-r2 dovecot 1.0.13-r1