[Dovecot] timeout_remove and "Timeout leak" problems

David Friedlander dpf at milkyway.gsfc.nasa.gov
Mon May 1 23:31:40 EEST 2006


Hello,

I have run into troubles trying to jump from 1.0alpha5 (basically 
running smoothly) to 1.0beta5 and/or beta7.


I am seeing errors such as the following set for nearly every user.

dovecot: May 01 16:21:02 Info: IMAP(joeuser): Disconnected: Logged out
dovecot: May 01 16:21:02 Error: IMAP(joeuser): file ioloop.c: line 153 (timeout_remove): assertion failed: (*timeout != NULL)
dovecot: May 01 16:21:03 Info: IMAP(joeuser): Disconnected: Logged out
dovecot: May 01 16:21:03 Warning: IMAP(joeuser): Timeout leak: 0x111acc
dovecot: May 01 16:21:03 Error: child 20607 (imap) killed with signal 6

(INBOX is on local RAID disks while home directory (hence, ~/Maildir) is
on a NetApp NFS file server.)

While I tweaked settings for the differences between the 1.0a5 conf file
and the beta conf file, things are fundamentally the same between them.

The other critical element to this is that imap-login sessions are being
left around and the load average climbs inexorably. (It reached 50 on this
dual dual-core machine before I killed things off and started the daemon
from scratch.) 

This occurs for users using a whole array of clients: Thunderbird,
SquirrelMail, Eudora, Apple Mail, etc.

How can I track this down or can someone please help me figure out what is
happening here? (I have been unable to find answers between the mailing
list archives and Google.)

Thanks in advance,

	David

P.S. The only item of note from examining ioloop.c was the differences
between the alpha and beta source code:

alpha5:
void timeout_remove(struct timeout *timeout)
{
        i_assert(timeout != NULL);

        timeout->destroyed = TRUE;
}

beta7:
void timeout_remove(struct timeout **timeout)
{
	i_assert(*timeout != NULL);

	(*timeout)->destroyed = TRUE;
	*timeout = NULL;
}


More information about the dovecot mailing list