On Thu, Nov 08, 2007 at 04:17:57PM -0500, Adam McDougall wrote:
On Thu, Nov 08, 2007 at 09:55:48PM +0200, Timo Sirainen wrote:
On Sun, 2007-11-04 at 11:28 -0500, Adam McDougall wrote:
> fstat(13,{mode=-rw------- ,inode=5656735,size=817368,blksize=4096}) = 0 (0x0)
> fchown(0xd,0x5321,0xffffffff) = 0 (0x0)
> madvise(0x10649000,0x82000,0x4) = 0 (0x0)
> fstat(13,{mode=-rw------- ,inode=5656735,size=817368,blksize=4096}) = 0 (0x0)
> fchown(0xd,0x5321,0xffffffff) = 0 (0x0)
> madvise(0x10649000,0x82000,0x4) = 0 (0x0)
..
This should fix it: http://hg.dovecot.org/dovecot/rev/de67ceff3199
I applied the patch to beta7, the IMAP client "feels" the same as before the patch (several second stalls on each message) but kdump and truss reveal different behavior from the process, lots of the following. Going back to a previously selected message in the same folder is fast, but not if I select another folder then come back to the first. No errors in log except for a few "dovecot: IMAP(mcdouga9): fchown(/egr/mail/shared/decs/temp.boomhauer.49823.6b66a5e5f1b24d07) failed: Operation not permitted" which I doubt is part of the same issue. Not every mail folder is slow, it seems like perhaps just some of my archive folders with around 1000-3000 emails. I haven't established a strong pattern yet. Let me know if you want me to try to. Thanks.
49823 imap RET pwrite 4 49823 imap CALL pwrite(0xd,0x7fffffffcb44,0x4,0,0xaf648) 49823 imap GIO fd 13 wrote 4 bytes 0x0000 e89c 0800 |....|
49823 imap RET pwrite 4 49823 imap CALL pwrite(0xd,0x7fffffffcb44,0x4,0,0xaf680) 49823 imap GIO fd 13 wrote 4 bytes 0x0000 b89e 0800 |....|
49823 imap RET pwrite 4 49823 imap CALL pwrite(0xd,0x7fffffffcb44,0x4,0,0xaf690) 49823 imap GIO fd 13 wrote 4 bytes 0x0000 fc9f 0800 |....|
49823 imap RET pwrite 4 49823 imap CALL pwrite(0xd,0x7fffffffcb44,0x4,0,0xaf6a0) 49823 imap GIO fd 13 wrote 4 bytes 0x0000 5ca1 0800 |\...|
pwrite(0xd,0x7fffffffcb44,0x4,0x0,0xc6f3c) = 4 (0x4) pwrite(0xd,0x7fffffffcb44,0x4,0x0,0xc6f74) = 4 (0x4) pwrite(0xd,0x7fffffffcb44,0x4,0x0,0xc6fac) = 4 (0x4) pwrite(0xd,0x7fffffffcb44,0x4,0x0,0xc6fe4) = 4 (0x4) pwrite(0xd,0x7fffffffcb44,0x4,0x0,0xc701c) = 4 (0x4)
I did a little more checking to confirm that the filehandle being written to is dovecot.index.cache.