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?