Hi,
I have yet another problem with Dovecot: sometimes (rarely, maybe once every few days) one of the imap processes will 'hang', consuming all available CPU time. It does not seem to 'finish' in any reasonable amount of time (in one instance I waited a few days). This process will not even exit gracefully, it needs to be killed with 'kill -9 <PID>'.
It has just happened again. The output from gdb is:
# gdb attach 29401 GNU gdb 6.3 Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i586-suse-linux"...attach: No such file or directory.
Attaching to process 29401 Reading symbols from /usr/local/libexec/dovecot/imap...done. Using host libthread_db library "/lib/tls/libthread_db.so.1". Reading symbols from /lib/libdl.so.2...done. Loaded symbols for /lib/libdl.so.2 Reading symbols from /lib/tls/libc.so.6...done. Loaded symbols for /lib/tls/libc.so.6 Reading symbols from /lib/ld-linux.so.2...done. Loaded symbols for /lib/ld-linux.so.2 0x0806049d in imap_sync_more (ctx=0x80d9770) at imap-sync.c:104 104 if (ctx->seq == 0) { (gdb) bt full #0 0x0806049d in imap_sync_more (ctx=0x80d9770) at imap-sync.c:104 flags = 1075042320 keywords = <value optimized out> str = (string_t *) 0x80c31e0 ret = 1 #1 0x08060797 in cmd_sync_continue (cmd=0x80ccdbc) at imap-sync.c:207 ctx = (struct cmd_sync_context *) 0x80cf000 ret = <value optimized out> #2 0x0805ad5a in _client_output (context=0x80ccd78) at client.c:465 cmd = (struct client_command_context *) 0x80ccdbc ret = 0 #3 0x080af0bd in stream_send_io (context=0x80cceb0) at ostream-file.c:356 ostream = (struct ostream *) 0x80ccee0 ret = <value optimized out> #4 0x080aa441 in io_loop_handler_run (ioloop=0x80cb9b0) at ioloop-epoll.c:203 ctx = (struct ioloop_handler_context *) 0x80cb9d8 list = (struct io_list *) 0x80d7780 io = (struct io *) 0x80dc430 tv = {tv_sec = 2, tv_usec = 540048} events_count = 4 t_id = 2 msecs = <value optimized out> ret = 1 i = 0 j = 1 call = <value optimized out> #5 0x080a9889 in io_loop_run (ioloop=0x80cb9b0) at ioloop.c:329 No locals. #6 0x08062087 in main (argc=1, argv=0xbffffaf4, envp=0xbffffafc) at main.c:290 plugin_dir = <value optimized out>
Mail log does not reveal anything immediately interesting.
Thoughts?
Server config ('dovecot -n -c /etc/dovecot/dovecot.conf'):
# 1.0.3: /etc/dovecot/dovecot.conf base_dir: /var/run/dovecot/ protocols: imap imaps pop3 pop3s ssl_ca_file: /etc/ssl/current/cacert.pem ssl_cert_file: /etc/ssl/current/server.pem ssl_key_file: /etc/ssl/current/private.pem disable_plaintext_auth: no login_dir: /var/run/dovecot//login login_executable(default): /usr/local/libexec/dovecot/imap-login login_executable(imap): /usr/local/libexec/dovecot/imap-login login_executable(pop3): /usr/local/libexec/dovecot/pop3-login first_valid_uid: 50 mail_debug: yes mail_drop_priv_before_exec: yes mail_executable(default): /usr/local/libexec/dovecot/imap mail_executable(imap): /usr/local/libexec/dovecot/imap mail_executable(pop3): /usr/local/libexec/dovecot/pop3 mail_plugin_dir(default): /usr/local/lib/dovecot/imap mail_plugin_dir(imap): /usr/local/lib/dovecot/imap mail_plugin_dir(pop3): /usr/local/lib/dovecot/pop3 mail_log_prefix: %Us(%u)(%p): pop3_uidl_format(default): pop3_uidl_format(imap): pop3_uidl_format(pop3): %08Xu%08Xv auth default: debug_passwords: yes passdb: driver: passwd-file args: /etc/dovecot/passwd userdb: driver: passwd-file args: /etc/dovecot/passwd socket: type: listen client: path: /var/spool/postfix/private/auth mode: 432 user: postfix group: postfix
-- Best regards, Robert Tomanek mailto:rth23@poczta.onet.pl