Re: Issues with user.sub files - subscription files hangs system.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux