[Dovecot] server is not imap4 compatible
marco ghidinelli
marcogh at linux.it
Thu Apr 23 11:53:00 EEST 2009
On Wed, Apr 22, 2009 at 10:25:41AM -0400, Timo Sirainen wrote:
> On Apr 22, 2009, at 4:12 AM, marco ghidinelli wrote:
>
>>>> Apr 20 16:21:17 harlock dovecot: imap-login: Disconnected: Shutting
>>>> down: rip=192.168.0.194, lip=10.70.0.1, TLS handshake
>>>
>>> "Shutting down" means that Dovecot really is being shut down or
>>> restarted. Is this not an expected restart? Does it happen at the
>>> same
>>> time always? Maybe it's some cron job.
>>
>> no, of course this was NOT an expected restart.
>> i thought that it was a normal disconnection between the client and
>> the server.
>>
>> the "shutting down" messages appeared even on the previous 1.0.rc15
>> version, but not the "server not imap4 compatible" error.
>>
>> or maybe my users didn't tell me. :)
>>
>> any idea?
>
> My idea is still the same: Client gets unexpectedly disconnected due to
> Dovecot restart and the client thinks it's not connected to IMAP4
> server. Try to figure out why Dovecot is getting restarted.
dovecot doesn't restart, and nothing try to restart it.
> It's not doing it alone.
maybe it's not a 'whole' restart, but just it drops some connections.
> Do you see "starting up" lines in logs showing that the
> whole Dovecot was restarted?
no
> If not, do you see any "killed by signal"
> lines in logs?
no. i got those lines only when i issue the
/etc/init.d/postfix {start|restart}
commands.
> Perhaps the whole Dovecot isn't being restarted, but just
> some buggy script/program is sending SIGTERMs to imap-login processes
> more or less randomly for some reason..
i looked at the dovecot sources now, and i saw that:
# vi master/login-process.c +738
static int login_group_start_missings(struct login_group *group)
{
if (group->set->login_process_per_connection &&
group->processes >= group->set->login_max_processes_count &&
group->listening_processes == 0) {
/* destroy the oldest listening process. non-listening
processes are logged in users who we don't want to kick out
because someone's started flooding */
if (group->oldest_prelogin_process != NULL &&
group->oldest_prelogin_process->initialized)
login_process_destroy(group->oldest_prelogin_process);
}
my login_max_processes_count was 256, and my imap-login process is
about 240, now i enhanced it to 512.
am i going into the right direction?
More information about the dovecot
mailing list