Hi Johanners Berg, I put the antispam plugin to work (some days ago) and now my imap daemon dies with segfault. I don't have nothing (wrong) in logs, just a lot of segfaults... Dec 10 15:37:21 curie kernel: printk: 22 messages suppressed. Dec 10 15:37:21 curie kernel: imap[4774]: segfault at 8 rip 2afe7fe7d7ff rsp 7fff2b9bdab0 error 6 Dec 10 15:37:21 curie kernel: imap[4779]: segfault at 8 rip 2ab0a1d777ff rsp 7fff09ac3bb0 error 6 Dec 10 15:37:22 curie kernel: imap[4784]: segfault at 8 rip 2ae348d837ff rsp 7fff62ab5bb0 error 6 Dec 10 15:37:22 curie kernel: imap[4790]: segfault at 8 rip 2b8744ede7ff rsp 7fff6695aa50 error 6 Dec 10 15:37:22 curie kernel: imap[4795]: segfault at 8 rip 2b400f6f67ff rsp 7fff9c142240 error 6 Dec 10 15:37:22 curie kernel: imap[4800]: segfault at 8 rip 2b00a4e7b7ff rsp 7fff069bd700 error 6 Dec 10 15:37:22 curie kernel: imap[4831]: segfault at 8 rip 2b95b8d9a7ff rsp 7ffff2a9eb90 error 6 Dec 10 15:37:23 curie kernel: imap[4841]: segfault at 8 rip 2ae6189f47ff rsp 7fff92e44f40 error 6 Dec 10 15:37:23 curie kernel: imap[4846]: segfault at 8 rip 2ab739e6f7ff rsp 7fff719cbac0 error 6 Dec 10 15:37:23 curie kernel: imap[4851]: segfault at 8 rip 2b08611a07ff rsp 7fff4a698790 error 6 Dec 10 15:37:26 curie kernel: printk: 11 messages suppressed. Dec 10 15:37:26 curie kernel: imap[4932]: segfault at 8 rip 2b228ab857ff rsp 7fff20cb3db0 error 6 Dec 10 15:37:31 curie kernel: printk: 17 messages suppressed. Dec 10 15:37:31 curie kernel: imap[5043]: segfault at 8 rip 2ac4c3bea7ff rsp 7fffe7c50d40 error 6 Dec 10 15:37:36 curie kernel: printk: 16 messages suppressed. Dec 10 15:37:36 curie kernel: imap[5196]: segfault at 8 rip 2b66601167ff rsp 7fff4b724820 error 6 Dec 10 15:37:41 curie kernel: printk: 15 messages suppressed. Dec 10 15:37:41 curie kernel: imap[5319]: segfault at 8 rip 2ad13a7b47ff rsp 7fff71086180 error 6 Dec 10 15:37:46 curie kernel: printk: 15 messages suppressed. Dec 10 15:37:46 curie kernel: imap[5427]: segfault at 8 rip 2b99f6b5b7ff rsp 7fffb4cdddd0 error 6 When I disable the antispam plugin, everithing works as normal... My config: AMD Opteron(tm) Processor 285 (x86_64) gcc (GCC) 4.2.4 20080512 (prerelease) (Debian 4.2.3-6) Linux 2.6.24-1-amd64 #1 SMP Fri Apr 18 23:08:22 UTC 2008 x86_64 GNU/Linux dovecot -n # 1.1.7: /etc/dovecot/dovecot.conf Warning: fd limit 1024 is lower than what Dovecot can use under full load (more than 1456). Either grow the limit or change login_max_processes_count and max_mail_processes settings # OS: Linux 2.6.24-1-amd64 x86_64 Debian lenny/sid base_dir: /var/run/dovecot/ protocols: imap imaps managesieve listen(default): * listen(imap): * listen(managesieve): *:2000 disable_plaintext_auth: no login_dir: /var/run/dovecot//login login_executable(default): /usr/libexec/dovecot/imap-login login_executable(imap): /usr/libexec/dovecot/imap-login login_executable(managesieve): /usr/libexec/dovecot/managesieve-login login_process_per_connection: no login_process_size: 512 login_processes_count: 10 login_max_connections: 120 max_mail_processes: 1200 first_valid_uid: 1010 last_valid_uid: 1010 mail_uid: vmail mail_gid: vmail mail_location: maildir:~/Maildir mail_cache_fields: flags, date.sent, date.received, size.virtual, size.physical mail_cache_min_mail_count: 30 mailbox_idle_check_interval: 10 mail_drop_priv_before_exec: yes mail_executable(default): /usr/libexec/dovecot/postlogin mail_executable(imap): /usr/libexec/dovecot/postlogin mail_executable(managesieve): /usr/libexec/dovecot/managesieve-fix.sh mail_plugins(default): quota imap_quota acl antispam mail_plugins(imap): quota imap_quota acl antispam mail_plugins(managesieve): mail_plugin_dir(default): /usr/lib/dovecot/imap mail_plugin_dir(imap): /usr/lib/dovecot/imap mail_plugin_dir(managesieve): /usr/lib/dovecot/managesieve managesieve_implementation_string(default): dovecot managesieve_implementation_string(imap): dovecot managesieve_implementation_string(managesieve): Dovecot ManageSieve 1.1 sieve_storage(default): sieve_storage(imap): sieve_storage(managesieve): ~/sieve sieve(default): sieve(imap): sieve(managesieve): ~/.dovecot.sieve namespace: type: private separator: . prefix: INBOX. inbox: yes list: yes subscriptions: yes auth default_with_listener: mechanisms: plain login cache_size: 512 cache_ttl: 30 cache_negative_ttl: 0 passdb: driver: ldap args: /etc/dovecot/dovecot-ldap.conf userdb: driver: ldap args: /etc/dovecot/dovecot-ldap.conf socket: type: listen client: path: /var/spool/postfix/private/auth mode: 432 user: postfix group: postfix master: path: /var/run/dovecot/auth-master mode: 384 user: vmail group: vmail plugin: sieve: ~/.dovecot.sieve acl: vfile:/etc/dovecot/dovecot-acls quota: maildir quota_exceeded_message: Quota excedida (caixa de entrada cheia) quota_rule: *:storage=100MB quota_rule2: Trash:storage=20%% quota_rule3: Spam:ignore quota_warning: storage=95%% /usr/libexec/dovecot/quota_warning.sh %u 95 quota_warning2: storage=80%% /usr/libexec/dovecot/quota_warning.sh %u 80 antispam_spam: Bloqueados antispam_mail_sendmail: /usr/libexec/dovecot/blockthis.py antispam_mail_sendmail_args: -u;%u antispam_mail_spam: -a antispam_mail_notspam: -d mail_log_events: delete undelete expunge copy mailbox_delete mailbox_rename mail_log_group_events: mail_log_fields: uid box msgid size I can't increase these number! I already alter the limits.conf, the ulimit.. and nothing seens to work... Warning: fd limit 1024 is lower than what Dovecot can use under full load (more than 1456). Either grow the limit or change login_max_processes_count and max_mail_processes settings Regards.
On Wed, Dec 10, 2008 at 3:46 PM, Allan Cassaro <allan.cassaro at gmail.com> wrote:> Hi Johanners Berg, > > I put the antispam plugin to work (some days ago) and now my imap > daemon dies with segfault. > I don't have nothing (wrong) in logs, just a lot of segfaults... > > Dec 10 15:37:21 curie kernel: printk: 22 messages suppressed. > Dec 10 15:37:21 curie kernel: imap[4774]: segfault at 8 rip > 2afe7fe7d7ff rsp 7fff2b9bdab0 error 6 > Dec 10 15:37:21 curie kernel: imap[4779]: segfault at 8 rip > 2ab0a1d777ff rsp 7fff09ac3bb0 error 6 > Dec 10 15:37:22 curie kernel: imap[4784]: segfault at 8 rip > 2ae348d837ff rsp 7fff62ab5bb0 error 6 > Dec 10 15:37:22 curie kernel: imap[4790]: segfault at 8 rip > 2b8744ede7ff rsp 7fff6695aa50 error 6 > Dec 10 15:37:22 curie kernel: imap[4795]: segfault at 8 rip > 2b400f6f67ff rsp 7fff9c142240 error 6 > Dec 10 15:37:22 curie kernel: imap[4800]: segfault at 8 rip > 2b00a4e7b7ff rsp 7fff069bd700 error 6 > Dec 10 15:37:22 curie kernel: imap[4831]: segfault at 8 rip > 2b95b8d9a7ff rsp 7ffff2a9eb90 error 6 > Dec 10 15:37:23 curie kernel: imap[4841]: segfault at 8 rip > 2ae6189f47ff rsp 7fff92e44f40 error 6 > Dec 10 15:37:23 curie kernel: imap[4846]: segfault at 8 rip > 2ab739e6f7ff rsp 7fff719cbac0 error 6 > Dec 10 15:37:23 curie kernel: imap[4851]: segfault at 8 rip > 2b08611a07ff rsp 7fff4a698790 error 6 > Dec 10 15:37:26 curie kernel: printk: 11 messages suppressed. > Dec 10 15:37:26 curie kernel: imap[4932]: segfault at 8 rip > 2b228ab857ff rsp 7fff20cb3db0 error 6 > Dec 10 15:37:31 curie kernel: printk: 17 messages suppressed. > Dec 10 15:37:31 curie kernel: imap[5043]: segfault at 8 rip > 2ac4c3bea7ff rsp 7fffe7c50d40 error 6 > Dec 10 15:37:36 curie kernel: printk: 16 messages suppressed. > Dec 10 15:37:36 curie kernel: imap[5196]: segfault at 8 rip > 2b66601167ff rsp 7fff4b724820 error 6 > Dec 10 15:37:41 curie kernel: printk: 15 messages suppressed. > Dec 10 15:37:41 curie kernel: imap[5319]: segfault at 8 rip > 2ad13a7b47ff rsp 7fff71086180 error 6 > Dec 10 15:37:46 curie kernel: printk: 15 messages suppressed. > Dec 10 15:37:46 curie kernel: imap[5427]: segfault at 8 rip > 2b99f6b5b7ff rsp 7fffb4cdddd0 error 6 > > When I disable the antispam plugin, everithing works as normal... > > My config: > AMD Opteron(tm) Processor 285 (x86_64) > gcc (GCC) 4.2.4 20080512 (prerelease) (Debian 4.2.3-6) > Linux 2.6.24-1-amd64 #1 SMP Fri Apr 18 23:08:22 UTC 2008 x86_64 GNU/Linux > > dovecot -n > # 1.1.7: /etc/dovecot/dovecot.conf > Warning: fd limit 1024 is lower than what Dovecot can use under full > load (more than 1456). Either grow the limit or change > login_max_processes_count and max_mail_processes settings > # OS: Linux 2.6.24-1-amd64 x86_64 Debian lenny/sid > base_dir: /var/run/dovecot/ > protocols: imap imaps managesieve > listen(default): * > listen(imap): * > listen(managesieve): *:2000 > disable_plaintext_auth: no > login_dir: /var/run/dovecot//login > login_executable(default): /usr/libexec/dovecot/imap-login > login_executable(imap): /usr/libexec/dovecot/imap-login > login_executable(managesieve): /usr/libexec/dovecot/managesieve-login > login_process_per_connection: no > login_process_size: 512 > login_processes_count: 10 > login_max_connections: 120 > max_mail_processes: 1200 > first_valid_uid: 1010 > last_valid_uid: 1010 > mail_uid: vmail > mail_gid: vmail > mail_location: maildir:~/Maildir > mail_cache_fields: flags, date.sent, date.received, size.virtual, > size.physical > mail_cache_min_mail_count: 30 > mailbox_idle_check_interval: 10 > mail_drop_priv_before_exec: yes > mail_executable(default): /usr/libexec/dovecot/postlogin > mail_executable(imap): /usr/libexec/dovecot/postlogin > mail_executable(managesieve): /usr/libexec/dovecot/managesieve-fix.sh > mail_plugins(default): quota imap_quota acl antispam > mail_plugins(imap): quota imap_quota acl antispam > mail_plugins(managesieve): > mail_plugin_dir(default): /usr/lib/dovecot/imap > mail_plugin_dir(imap): /usr/lib/dovecot/imap > mail_plugin_dir(managesieve): /usr/lib/dovecot/managesieve > managesieve_implementation_string(default): dovecot > managesieve_implementation_string(imap): dovecot > managesieve_implementation_string(managesieve): Dovecot ManageSieve > 1.1 > sieve_storage(default): > sieve_storage(imap): > sieve_storage(managesieve): ~/sieve > sieve(default): > sieve(imap): > sieve(managesieve): ~/.dovecot.sieve > namespace: > type: private > separator: . > prefix: INBOX. > inbox: yes > list: yes > subscriptions: yes > auth default_with_listener: > mechanisms: plain login > cache_size: 512 > cache_ttl: 30 > cache_negative_ttl: 0 > passdb: > driver: ldap > args: /etc/dovecot/dovecot-ldap.conf > userdb: > driver: ldap > args: /etc/dovecot/dovecot-ldap.conf > socket: > type: listen > client: > path: /var/spool/postfix/private/auth > mode: 432 > user: postfix > group: postfix > master: > path: /var/run/dovecot/auth-master > mode: 384 > user: vmail > group: vmail > plugin: > sieve: ~/.dovecot.sieve > acl: vfile:/etc/dovecot/dovecot-acls > quota: maildir > quota_exceeded_message: Quota excedida (caixa de entrada cheia) > quota_rule: *:storage=100MB > quota_rule2: Trash:storage=20%% > quota_rule3: Spam:ignore > quota_warning: storage=95%% /usr/libexec/dovecot/quota_warning.sh %u 95 > quota_warning2: storage=80%% /usr/libexec/dovecot/quota_warning.sh %u 80 > antispam_spam: Bloqueados > antispam_mail_sendmail: /usr/libexec/dovecot/blockthis.py > antispam_mail_sendmail_args: -u;%u > antispam_mail_spam: -a > antispam_mail_notspam: -d > mail_log_events: delete undelete expunge copy mailbox_delete mailbox_rename > mail_log_group_events: > mail_log_fields: uid box msgid size > > I can't increase these number! I already alter the limits.conf, the > ulimit.. and nothing seens to work... > Warning: fd limit 1024 is lower than what Dovecot can use under full > load (more than 1456). Either grow the limit or change > login_max_processes_count and max_mail_processes settings >After some tests, I discover that this error only occurs when the number of process excced file descriptors. So, I can do anything to fix this? (Raise FD? Yes, but why? Sugestions? I do everything that I found on google...) Regards.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Thu, 11 Dec 2008, Allan Cassaro wrote: On Thu, 11 Dec 2008, Allan Cassaro wrote:> I don?t have SELinux, or any type or hardening... The ulimit (when > logged with dovecot user) is "unlimited"...Yes, but when Dovecot is spawned as service, the user dovecot does not log in (through PAM anyway to have pam_limits invoked), therefore I assume that limits.conf does not take effect.> Dovecot ran with a lot of proccess here, something about 800~900 imap > proccess and 5~10 login-proccess to 300~400 simultaneous users...Hmm, I do remember something similiar when the new students arrived and the number of simultaneous logins increased above some limit. I added the ulimit command to init.d. Bye, - -- Steffen Kaiser -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFJQNqWVJMDrex4hCIRArcYAJ9RtA6w89oc7H8AKOIJYOEKFGE+owCfYoaO sLQIEHrdSUDIaAYW7YmpQoM=d5Sh -----END PGP SIGNATURE-----
On Thu, Dec 11, 2008 at 7:49 AM, Allan Cassaro <allan.cassaro at gmail.com> wrote:> On Thu, Dec 11, 2008 at 7:17 AM, Steffen Kaiser > <skdovecot at smail.inf.fh-brs.de> wrote: >> -----BEGIN PGP SIGNED MESSAGE----- >> Hash: SHA1 >> >> On Thu, 11 Dec 2008, Allan Cassaro wrote: >> >> On Thu, 11 Dec 2008, Allan Cassaro wrote: >> >>> I don?t have SELinux, or any type or hardening... The ulimit (when >>> logged with dovecot user) is "unlimited"... >> >> Yes, but when Dovecot is spawned as service, the user dovecot does not log >> in (through PAM anyway to have pam_limits invoked), therefore I assume >> that limits.conf does not take effect. >> >>> Dovecot ran with a lot of proccess here, something about 800~900 imap >>> proccess and 5~10 login-proccess to 300~400 simultaneous users... >> >> Hmm, I do remember something similiar when the new students arrived and >> the number of simultaneous logins increased above some limit. >> I added the ulimit command to init.d. > > After our conversation, I made some tests: > 1) Adding this line to /etc/pam.d/common-session (Debian system) > > session required pam_limits.so > > # cat /etc/security/limits.conf > dovecot hard nofile 2048 > dovecot soft nofile 2048 > > The limits.conf is respected now. > # su -c 'ulimit -n' dovecot > 2048 (The value of limits.conf) > (no login) > > # /etc/init.d/dovecot restart > Warning: fd limit 1024 is lower than what Dovecot can use under full > load (more than 1456). Either grow the limit or change > login_max_processes_count and max_mail_processes settings > > (Problem persists) > > 2) Change the ulimit for root user (as you saw): > # ulimit -n 2048 > > # /etc/init.d/dovecot restart > (no errors) > > # cat /etc/security/limits.conf > dovecot hard nofile 2048 > dovecot soft nofile 2048 > root hard nofile 2048 > root soft nofile 2048 > > So, I think that dovecot uses the limit from the "root" user, not dovecot... > Now I will wait 20 minutes and see what happens :D > > Hooo.. another (ugly) think: > When imap crashes, the antispam plugin don't erase the > /tmp/antispam-plugin-XXXXX dir (obviously). So this is possibly to > "delay" or avoid creation of temp dirs? >Hi Steffen, after some others tests, I don't have problem with file descriptors any more, but the plugin make the imap proccess dies with segfault yet... How can I help more to find this issue? Regards.