followup: stuck lmtpd processes
Scott Adkins
adkinss at ohio.edu
Wed Sep 24 17:14:26 EDT 2003
Well, that could definitely be a problem... Next time we see a lock problem
occur, I will look based on the information below to see if it is really a
lock problem on the quota file.
Thanks,
Scott
--On Wednesday, September 24, 2003 12:32 PM -0700 Andrew Morgan
<morgan at orst.edu> wrote:
>
>
> On Wed, 24 Sep 2003, Scott Adkins wrote:
>
>> When looking at what file the processes are all waiting to get a lock on,
>> it usually turns out to be the cyrus.header file and not the quota file.
>> Is this still the same bug described by Rob on bugzilla? Does it have to
>> be the quota file?
>>
>> Also, when we find the specific imaps process that happens to have the
>> cyrus.header lock file opened for writing and has it locked, if we kill
>> it off, we find that the write lock goes to another imaps process or to
>> one of the LMTP processes and gets stuck there... we kill that one off
>> and it goes to the next one and gets stuck. We never saw a case where
>> all the other processes became unstuck and the problem went away.
>
> Are you sure that the processes are hung on the cyrus.header lock? That's
> what I originally thought when I was only looking at the output of lsof
> and /proc/locks (linux). When I actually ran a gdb backtrace on one of
> the stuck processes, it became obvious that the lock was on the quota file
> instead:
>
> (gdb) bt
># 0 0x402ae5fb in fcntl () from /lib/libc.so.6
># 1 0x08077504 in lock_reopen (fd=16, filename=0xbfffa098
># "/var/spool/cyrus/config/quota/k/user.krolickp", sbuf=0xbfffa040,
> failaction=0xbfffa03c) at lock_fcntl.c:87
># 2 0x080570b6 in mailbox_lock_quota (quota=0xbfffc3c4) at mailbox.c:1016
># 3 0x08053f73 in append_setup (as=0xbfffc118, name=0xbfffb114
># "user.krolickp", format=0, userid=0x0, auth_state=0x0,
> aclcheck=0, quotacheck=0) at append.c:209
>
>
> I also saw exactly the behavior you describe when killing processes. I
> originally tried killing all the lmtpd process that were stuck because I
> believed that one of the lmtpd process was stuck holding the lock on
> cyrus.header. When I killed the one holding the lock on cyrus.header,
> another lmtpd process would grab the lock but still be stuck.
>
> When I finally killed the process holding the quota file lock (an imaps
> process), all the lmtpd processes got unstuck and delivered the waiting
> mail.
>
> It sounds to me like you're not actually killing the process that has the
> lock that all the other processes are waiting for.
>
> Andy
>
--
+-----------------------------------------------------------------------+
Scott W. Adkins http://www.cns.ohiou.edu/~sadkins/
UNIX Systems Engineer mailto:adkinss at ohio.edu
ICQ 7626282 Work (740)593-9478 Fax (740)593-1944
+-----------------------------------------------------------------------+
PGP Public Key available at http://www.cns.ohiou.edu/~sadkins/pgp/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 231 bytes
Desc: not available
Url : https://lists.andrew.cmu.edu/mailman/private/info-cyrus/attachments/20030924/1ac86ffb/attachment.bin
More information about the Info-cyrus
mailing list