LMTP Timeout

Phil Chambers P.A.Chambers at exeter.ac.uk
Mon Oct 30 12:55:36 EST 2006


On Mon, 30 Oct 2006 12:30:35 -0500 Jorey Bump <list at joreybump.com> wrote:

> Phil Chambers wrote:
> > This is an update on progress with diagnosing my problem with LMTP/IMAP hanging.
> > 
> > My diagnosis with reconstruct was a red herring!  While I was patching 
> > reconstruct to give diagnostics Exim tried a delivery and lmtpd locked the 
> > user's cyrus.header file before hanging. When I killed the lmptd proces I found 
> > no problem with reconstruct.
> > 
> > So, back to square one.  I can't think of a way to debug this. It is imapd and 
> > lmtpd which are hanging and I cannot possibly put diagnostic code into those 
> > because the logs would explode on a live system.
> > 
> > I really need some suggestions!
> 
> Do you experience total failure after a delivery, or is this isolated to 
>   a specific user agent? What happens if the connection is allowed to 
> timeout? Can the user make another IMAP connection successfully?
> 
> The reason I ask is because I was experiencing similar problems with 
> Thunderbird that I could not reproduce with any other MUA. In fact, I 
> could not intentionally reproduce the problem with Thunderbird, either. 
> While tailing the logs, I noticed that the hangups were always preceded 
> by an LMTP delivery to the user experiencing the hangup, which always 
> resulted in a "Connection to server mail.example.com timed out" error. I 
> did not have enough evidence to conclude that this was more than a 
> coincidence, however, as deliveries are relatively constant.
> 
> In order to overcome the problem, I played with various Thunderbird 
> settings until something worked. I've experienced no more hangups since 
> I unchecked "Use IDLE command if the server supports it". This is not 
> the only setting I changed, but it is the only one that had an effect. 
> Perhaps this information will prove helpful to you, anecdotal as it is.
> 

For one of these users, the only log evidence is that Exim times out when 
trying to deliver, using LMTP. After that the lmtpd process remains running and 
it has locks open on the cyrus.header, cyrus.cashe and cyrus.index files in 
the INBOX. You can identify the process by using fuser on those files. If you 
don't kill it then other things lock up because they can't get a lock.

Other than LMPD, imap locks up in a similar way if the user tries to login, or 
if the cyrus user tries do various things on the account. For example if I use 
cyradm to set an ACL then it locks up. I then need to identify the imapd 
process by using fuser on the cyrus files so that I can kill it.

Phil.
---------------------------------------
Phil Chambers (postmaster at exeter.ac.uk)
University of Exeter



More information about the Info-cyrus mailing list