Hi, Thank you for pointing me about -xc99 flag, I have compiled and installed dovecot inplace of version 1.0.5 without any special actions on the upgrade. And after starting it immediately got in it's log file messages like: --- dovecot: Oct 16 23:10:18 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/.git-altlinux-ru/dovecot.index.cache: Invalid argument --- I have tried to delete dovecot.index.cache files from imap directories, but this did not helped: --- dovecot: Oct 16 23:52:24 Error: IMAP(seriv): Corrupted transaction log file /var/spool/imap/seriv/.imap/dovecot.index.log: indexid changed 1189182277 -> 1192593117 dovecot: Oct 16 23:52:24 Error: IMAP(seriv): Index file /var/spool/imap/seriv/.imap/dovecot.index: indexid changed: 1189182277 -> 1192593117 dovecot: Oct 16 23:52:24 Error: IMAP(seriv): Corrupted transaction log file /var/spool/imap/seriv/.imap/dovecot.index.log: indexid changed: 1189182277 -> 1192593117 dovecot: Oct 16 23:52:28 Error: IMAP(seriv): /var/spool/imap/seriv/.imap/dovecot.index view is inconsistent dovecot: Oct 16 23:52:28 Panic: IMAP(seriv): file client.c: line 105: assertion failed: (!client->destroyed) dovecot: Oct 16 23:52:28 Error: IMAP(seriv): Raw backtrace: /opt/dovecot/libexec/dovecot/imap'i_internal_fatal_handler+0x48 [0x8135118] -> /opt/dovecot/libexec/dovecot/imap'i _panic+0x23 [0x8134b03] -> /opt/dovecot/libexec/dovecot/imap'client_destroy+0x33 [0x808ee43] -> /opt/dovecot/libexec/dovecot/imap'client_continue_pending_input+0x5d [0x808fac d] -> /opt/dovecot/libexec/dovecot/imap'idle_finish+0xfa [0x808348a] -> /opt/dovecot/libexec/dovecot/imap'cmd_idle_continue+0x46 [0x8083776] -> /opt/dovecot/libexec/dovecot/i map'client_command_cancel+0x4a [0x808ec6a] -> /opt/dovecot/libexec/dovecot/imap'client_destroy+0x10b [0x808ef1b] -> /opt/dovecot/libexec/dovecot/imap'client_continue_pending_ input+0x5d [0x808facd] -> /opt/dovecot/libexec/dovecot/imap'idle_finish+0xfa [0x808348a] -> /opt/dovecot/libexec/dovecot/imap'cmd_idle_continue+0x202 [0x8083932] -> /opt/dove cot/libexec/dovecot/imap'idle_sync_now+0x84 [0x80836b4] -> /opt/dovecot/libexec/dovecot/imap'idle_callback+0x5b [0x808371b] -> /opt/dovecot/libexec/dovecot/imap'check_timeout +0x14c [0x80e323c] -> / dovecot: Oct 16 23:52:28 Error: IMAP(seriv): opt/dovecot/libexec/dovecot/imap'io_loop_handle_timeouts+0x217 [0x813d057] -> /opt/dovecot/libexec/dovecot/imap'io_loop_handler_r un+0x8d [0x813d9dd] -> /opt/dovecot/libexec/dovecot/imap'io_loop_run+0x4b [0x813d14b] -> /opt/dovecot/libexec/dovecot/imap'main+0x9a [0x809f18a] -> /opt/dovecot/libexec/dovec ot/imap'_start+0x7d [0x807c95d] dovecot: Oct 16 23:52:28 Error: child 7529 (imap) killed with signal 6 --- Then I have tried to delete all dovecot.index* files from there, but the messages in dovecot.log are almost the same: --- deliver(seriv): Oct 18 14:59:49 Error: file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/dovecot.index.cache: Invalid argument dovecot: Oct 18 15:01:35 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/.Drafts/dovecot.index.cache: Invalid argument dovecot: Oct 18 15:01:35 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/.Drafts/dovecot.index.cache: Invalid argument dovecot: Oct 18 15:01:35 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/.Drafts/dovecot.index.cache: Invalid argument dovecot: Oct 18 15:01:35 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/.Drafts/dovecot.index.cache: Invalid argument dovecot: Oct 18 15:01:35 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/.Drafts/dovecot.index.cache: Invalid argument dovecot: Oct 18 15:01:35 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/.Drafts/dovecot.index.cache: Invalid argument dovecot: Oct 18 15:01:35 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/.Drafts/dovecot.index.cache: Invalid argument dovecot: Oct 18 15:01:35 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/.Drafts/dovecot.index.cache: Invalid argument dovecot: Oct 18 15:01:35 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/.Drafts/dovecot.index.cache: Invalid argument dovecot: Oct 18 15:01:35 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/.Drafts/dovecot.index.cache: Invalid argument dovecot: Oct 18 15:01:35 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/.Drafts/dovecot.index.cache: Invalid argument dovecot: Oct 18 15:01:35 Error: IMAP(seriv): Sending log messages too fast, throttling.. dovecot: Oct 18 15:01:36 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/.Drafts/dovecot.index.cache: Invalid argument deliver(seriv): Oct 18 15:01:38 Error: file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/.sisyphus-cybertalk-lists-altlinux-org/dovecot.index.cache: In valid argument dovecot: Oct 18 15:02:57 Warning: SIGHUP received - reloading configuration dovecot: Oct 18 15:02:58 Warning: fd limit 256 is lower than what Dovecot can use under full load (more than 384). Either grow the limit or change login_max_processes_count a nd max_mail_processes settings dovecot: Oct 18 15:03:13 Warning: Killed with signal 15 deliver(seriv): Oct 18 15:04:07 Error: file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/.community-lists-altlinux-org/dovecot.index.cache: Invalid arg ument deliver(seriv): Oct 18 15:04:23 Error: file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/.Trash/dovecot.index.cache: Invalid argument deliver(seriv): Oct 18 15:04:50 Error: file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/.community-lists-altlinux-org/dovecot.index.cache: Invalid arg ument dovecot: Oct 18 15:06:36 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/dovecot.index.cache: Invalid argument dovecot: Oct 18 15:06:36 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/dovecot.index.cache: Invalid argument dovecot: Oct 18 15:06:36 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/dovecot.index.cache: Invalid argument dovecot: Oct 18 15:06:36 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/dovecot.index.cache: Invalid argument dovecot: Oct 18 15:06:36 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/dovecot.index.cache: Invalid argument dovecot: Oct 18 15:06:36 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/dovecot.index.cache: Invalid argument dovecot: Oct 18 15:06:36 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/dovecot.index.cache: Invalid argument dovecot: Oct 18 15:06:36 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/dovecot.index.cache: Invalid argument dovecot: Oct 18 15:06:36 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/dovecot.index.cache: Invalid argument dovecot: Oct 18 15:06:36 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/dovecot.index.cache: Invalid argument dovecot: Oct 18 15:06:36 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/dovecot.index.cache: Invalid argument dovecot: Oct 18 15:06:36 Error: IMAP(seriv): Sending log messages too fast, throttling.. dovecot: Oct 18 15:06:37 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/dovecot.index.cache: Invalid argument --- One more problem is with fd limit: I have a small dovecot installation, so don't want to increase fd limit. I tried to decreasee max_mail_processes, login_max_processes_count and login_max_connections, but still I have --- # /opt/dovecot/sbin/dovecot -n # 1.1.beta3: /opt/dovecot/etc/dovecot.conf Warning: fd limit 256 is lower than what Dovecot can use under full load (more than 384). Either grow the limit or change login_max_processes_count and max_mail_processes settings log_path: /tmp/dovecot.log info_log_path: /tmp/dovecot.debug protocols: pop3 pop3s imap imaps ssl_cert_file: /etc/ssl/parkheights.cert ssl_key_file: /etc/ssl/parkheights.key login_dir: /opt/dovecot/var/run/dovecot/login login_executable(default): /opt/dovecot/libexec/dovecot/imap-login login_executable(imap): /opt/dovecot/libexec/dovecot/imap-login login_executable(pop3): /opt/dovecot/libexec/dovecot/pop3-login login_max_connections: 120 max_mail_processes: 128 mail_extra_groups: mail mail_location: maildir:/var/spool/imap/%n/.imap mail_executable(default): /opt/dovecot/libexec/dovecot/imap mail_executable(imap): /opt/dovecot/libexec/dovecot/imap mail_executable(pop3): /opt/dovecot/libexec/dovecot/pop3 mail_plugin_dir(default): /opt/dovecot/lib/dovecot/imap mail_plugin_dir(imap): /opt/dovecot/lib/dovecot/imap mail_plugin_dir(pop3): /opt/dovecot/lib/dovecot/pop3 auth default: verbose: yes debug: yes debug_passwords: yes passdb: driver: ldap args: /opt/dovecot/etc/dovecot-ldap.conf userdb: driver: ldap args: /opt/dovecot/etc/dovecot-ldap.conf userdb: driver: prefetch socket: type: listen master: path: /opt/dovecot/var/run/dovecot/auth-master mode: 384 user: vmail group: vmail bash-3.00# grep login_max /opt/dovecot/etc/dovecot.conf login_max_processes_count = 128 # 16 + login_max_connections * 2 available file descriptors. login_max_connections = 120 bash-3.00# grep max_mail /opt/dovecot/etc/dovecot.conf max_mail_processes = 128 --- So I reverted to 1.0.5 which works fine for me. -- WBR, Sergey Ivanov.
On Thu, 2007-10-18 at 15:16 -0400, Sergey wrote:> Thank you for pointing me about -xc99 flag, I have compiled and > installed dovecot inplace of version 1.0.5 without any special actions > on the upgrade. And after starting it immediately got in it's log file > messages like: > --- > dovecot: Oct 16 23:10:18 Error: IMAP(seriv): file_set_size() failed with > index cache file > /var/spool/imap/seriv/.imap/.git-altlinux-ru/dovecot.index.cache: > Invalid argumentCould you apply this patch and see what it logs then: http://hg.dovecot.org/dovecot/rev/b7d8695d864d> dovecot: Oct 16 23:52:28 Panic: IMAP(seriv): file client.c: line 105: > assertion failed: (!client->destroyed)Fixed: http://hg.dovecot.org/dovecot/rev/86e964111b1f> dovecot: Oct 18 15:02:58 Warning: fd limit 256 is lower than what > Dovecot can use under full load (more than 384). Either grow the limit > or change login_max_processes_count a > nd max_mail_processes settings..> One more problem is with fd limit: I have a small dovecot installation, > so don't want to increase fd limit. I tried to decreasee > max_mail_processes, login_max_processes_count and login_max_connections, > but still I have..> login_max_connections: 120 > max_mail_processes: 128Changing login_max_connections doesn't affect anything because you're using login_process_per_connection=yes. The needed fd count is calculated from login_max_processes_count(pop3) + login_max_processes_count(imap) + max_mail_processes. So in your case 128+128+128. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: <http://dovecot.org/pipermail/dovecot/attachments/20071020/e39846c2/attachment-0002.bin>
Hi Timo, thanks for explaining how amount of the file descriptor may be counted. Timo Sirainen wrote:> On Thu, 2007-10-18 at 15:16 -0400, Sergey wrote: > >> Thank you for pointing me about -xc99 flag, I have compiled and >> installed dovecot inplace of version 1.0.5 without any special actions >> on the upgrade. And after starting it immediately got in it's log file >> messages like: >> --- >> dovecot: Oct 16 23:10:18 Error: IMAP(seriv): file_set_size() failed with >> index cache file >> /var/spool/imap/seriv/.imap/.git-altlinux-ru/dovecot.index.cache: >> Invalid argument >> > > Could you apply this patch and see what it logs then: > http://hg.dovecot.org/dovecot/rev/b7d8695d864d >I have applied the patch and now I have in the dovecot.log after just 'make install in the new dovecot-1.1 and dovecot-sieve-1.1 dirs, on the opening of the imap Maildir folder: --- dovecot: Oct 21 04:00:30 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/.dovecot-cvs-dovecot-org/dovecot.index.cache: Invalid argument dovecot: Oct 21 04:00:30 Error: IMAP(seriv): posix_fallocate() failed: Invalid argument ... --- about 10 times a second. Then I pkill'ed dovecot and did --- find /var/spool/imap/ -name 'dovecot.index*' | xargs rm -rf --- but got similar messages with new string added before each of them: --- dovecot: Oct 21 04:17:35 Error: IMAP(seriv): posix_fallocate() failed: Invalid argument dovecot: Oct 21 04:17:35 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/dovecot.index.cache: Invalid argument --- And, after I enabled smtp service and sent email to myself, I see in dovecot.log --- deliver(seriv): Oct 21 04:17:05 Error: posix_fallocate() failed: Invalid argument deliver(seriv): Oct 21 04:17:06 Error: posix_fallocate() failed: Invalid argument ---> >> dovecot: Oct 16 23:52:28 Panic: IMAP(seriv): file client.c: line 105: >> assertion failed: (!client->destroyed) >> > > Fixed: http://hg.dovecot.org/dovecot/rev/86e964111b1f >Yes, no anything like this after applying the patch.> >> dovecot: Oct 18 15:02:58 Warning: fd limit 256 is lower than what >> Dovecot can use under full load (more than 384). Either grow the limit >> or change login_max_processes_count a >> nd max_mail_processes settings >> > .. > >> One more problem is with fd limit: I have a small dovecot installation, >> so don't want to increase fd limit. I tried to decreasee >> max_mail_processes, login_max_processes_count and login_max_connections, >> but still I have >> > .. > >> login_max_connections: 120 >> max_mail_processes: 128 >> > > Changing login_max_connections doesn't affect anything because you're > using login_process_per_connection=yes. > > The needed fd count is calculated from login_max_processes_count(pop3) + > login_max_processes_count(imap) + max_mail_processes. > > So in your case 128+128+128. >-- With best regards, Sergey Ivanov