On Wed, Oct 01, 2008 at 02:07:23AM -0700, Adam D wrote: > Simon Matter wrote: > >> [snip] > >> Has anyone else had this same issue and have been able to fix it? I > >> really do not know why when deleting the username.sub.NEW file it is > >> recreated and when making changes to the subscriptions an imapd process > >> is spawned and freezes. > >> > > > > I didn't follow the thread but, did you reconstruct your mailspool? Things > > like that are usually a filesystem full problem or some kind of corruption > > in the mailspool. > > > > Simon > > > Yes, we ran reconstruct as cyrus user for all mailboxes. It did take a > while but does reconstruct, reconstructs the sub and seen files? Would > the corruption be in the mboxlist_db or in the subscription_db? *sigh* It looks a whole lot like this old cow rearing its ugly head again: http://lkml.org/lkml/2008/6/17/9 Here's the interesting bit: niov = 0; if (offset) { WRITEV_ADD_TO_IOVEC(iov, niov, (char *) db->base, offset); } if (data) { /* new entry */ WRITEV_ADD_TO_IOVEC(iov, niov, (char *) key, keylen); WRITEV_ADD_TO_IOVEC(iov, niov, "\t", 1); WRITEV_ADD_TO_IOVEC(iov, niov, (char *) data, datalen); WRITEV_ADD_TO_IOVEC(iov, niov, "\n", 1); } if (db->size - (offset + len) > 0) { WRITEV_ADD_TO_IOVEC(iov, niov, (char *) db->base + offset + len, db->size - (offset + len)); } See that last one - it's being written from mmapped memory that's probably not yet paged in. It will be replaced with a bunch of zeros. Yay zeros. Looks remarkably like the bug that I saw in the copies of the admin.sub and admin.sub.NEW files that were emailed to me. Fix: use a kernel since 2.6.25.7. 2.6.25.8 contains the patch: x86-64: Fix "bytes left to copy" return value for copy_from_user() from Linus which fixes the issue. Bron ( it was also harder to trigger before 2.6.22, but still existed ) ---- Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html