[Dovecot] SIGSEGV login process
Hi all. I recently upgraded from 1.0.0 to 1.0.7 version and found that process imap-login begins randomly crash:
pid 29997 (imap-login), uid 143: exited on signal 11 (core dumped) pid 32189 (imap-login), uid 143: exited on signal 11 (core dumped) pid 32121 (imap-login), uid 143: exited on signal 11 (core dumped) pid 31309 (imap-login), uid 143: exited on signal 11 (core dumped)
i guess that it happens during high load on CPU (but just guess) no anything upon upgrade changed - traffic, config are the same. can anyone help me? running FreeBSD 6.2, compiled from port with mysql, lda, kqueue, pop3 support.
mail# dovecot -n # 1.0.7: /usr/local/etc/dovecot.conf protocols: imap pop3 pop3s imaps listen(default): *:143 listen(imap): *:143 listen(pop3): *:110 ssl_listen(default): *:993 ssl_listen(imap): *:993 ssl_listen(pop3): *:995 ssl_cert_file: /usr/local/etc/ssl_mail/dovecot.pem ssl_key_file: /usr/local/etc/ssl_mail/dovecot.pem ssl_cipher_list: ALL:!LOW 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 verbose_proctitle: yes first_valid_uid: 26 last_valid_uid: 26 mail_extra_groups: mail mail_location: maildir:~/Maildir mmap_disable: 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_plugins(default): quota imap_quota mail_plugins(imap): quota imap_quota mail_plugins(pop3): quota 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 imap_client_workarounds(default): delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep imap_client_workarounds(imap): delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep imap_client_workarounds(pop3): outlook-idle pop3_uidl_format(default): pop3_uidl_format(imap): pop3_uidl_format(pop3): %08Xu%08Xv pop3_client_workarounds(default): pop3_client_workarounds(imap): pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh auth default: mechanisms: plain cram-md5 digest-md5 apop login default_realm: proc.ru passdb: driver: sql args: /usr/local/etc/dovecot-sql.conf userdb: driver: sql args: /usr/local/etc/dovecot-sql.conf
mail# grep -v '^ *\(#.*\)\?$' /usr/local/etc/dovecot-sql.conf driver = mysql connect = host=/tmp/mysql.sock dbname=exim_users user=exim password=** default_pass_scheme = PLAIN password_query = SELECT concat(pw_name, '@', domain) as user, pw_clear_passwd as password FROM vusers WHERE pw_name = '%n' AND domain = '%d' user_query = SELECT pw_dir AS home, 26 AS uid, 26 AS gid, concat('maildir:storage=', quota*1024) AS quota FROM vusers WHERE pw_name = '%n' AND domain = '%d'
backtrace from core file:
mail# gdb ./work/dovecot-1.0.7/src/imap-login/imap-login /var/run/dovecot/login/tmp/imap-login.core GNU gdb 6.1.1 [FreeBSD] 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 "i386-marcel-freebsd"...(no debugging symbols found)...
warning: exec file is newer than core file. Core was generated by `imap-login'. Program terminated with signal 11, Segmentation fault. Reading symbols from /usr/lib/libssl.so.4...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libssl.so.4 Reading symbols from /lib/libcrypto.so.4...(no debugging symbols found)...done. Loaded symbols for /lib/libcrypto.so.4 Reading symbols from /lib/libc.so.6...(no debugging symbols found)...done. Loaded symbols for /lib/libc.so.6 Reading symbols from /libexec/ld-elf.so.1...(no debugging symbols found)...done. Loaded symbols for /libexec/ld-elf.so.1 #0 0x08051e2d in auth_client_request_continue () (gdb) bt #0 0x08051e2d in auth_client_request_continue () #1 0x0804b8db in client_auth_input () #2 0x080562ec in io_loop_handler_run () #3 0x0805599d in io_loop_run () #4 0x0804d963 in main () (gdb)
or what anything info should i provide?
On Thu, 2007-11-22 at 21:16 +0300, Maxim wrote:
Any chance of getting the backtrace with debug symbols enabled? If you compile from sources, they're in the binaries by default.
Also it sometimes helps backtraces if optimizations are disabled. You can do this with:
CFLAGS=-g ./configure
On Mon, 26 Nov 2007 15:04:06 +0200, Timo Sirainen <tss@iki.fi> wrote:
i found problem.
i have installed exim with self delivery (not dovecot LDA) and just install from port mail/dovecot-sieve and have these crashes. e.g. finally case is:
- install exim with Maildir delivery
- install dovecot
- start both of them
- install mail/dovecot-sieve
- not touch anything, just wait high load (LA~10..20)
- login processes begins randomly crashes
did you still need debug core+bt?
On Mon, 2007-11-26 at 16:13 +0300, Maxim Lougovsky wrote:
So the high load is the point I guess.
It would help a lot. Otherwise it'll probably take me quite a lot of time to reproduce it, if I'm able to do it at all (it could be that some clients do something special that causes it).
On Mon, 26 Nov 2007 16:35:46 +0300, Maxim Lougovsky <h-k@proc.ru> wrote:
Hmm, really strange. now bt shown other function rather previous:
mail# gdb ./work/dovecot-1.0.7/src/imap-login/imap-login /tmp/imap-login.core GNU gdb 6.1.1 [FreeBSD] 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 "i386-marcel-freebsd"...
warning: exec file is newer than core file. Core was generated by `imap-login'. Program terminated with signal 11, Segmentation fault. #0 0x08051e2d in imap_parser_read_arg (parser=0x0) at imap-parser.c:518 518 data = i_stream_get_data(parser->input, &data_size); (gdb) bt #0 0x08051e2d in imap_parser_read_arg (parser=0x0) at imap-parser.c:518 #1 0x0804b8db in client_unref (client=0x806ea00) at client.c:536 #2 0x080562ec in fd_debug_verify_leaks (first_fd=134705600, last_fd=134598854) at fd-close-on-exec.c:56 #3 0x0805599d in i_error (format=0x80771c0 "") at failures.c:210 #4 0x0804d963 in login_proxy_free (proxy=0x1) at login-proxy.c:207 #5 0x0804a6a6 in _start () #6 0x00000001 in ?? () (gdb)
On Thu, 2007-11-22 at 21:16 +0300, Maxim wrote:
Actually does this patch fix it? http://hg.dovecot.org/dovecot-1.0/raw-rev/73a3a6b1af36
On Wed, 28 Nov 2007 10:50:01 +0300, Maxim Lougovsky <h-k@proc.ru> wrote:
got it:
mail# gdb /usr/local/libexec/dovecot/imap-login /var/run/dovecot/login/tmp/imap-login.core GNU gdb 6.1.1 [FreeBSD] 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 "i386-marcel-freebsd"... Core was generated by `imap-login'. Program terminated with signal 11, Segmentation fault. Reading symbols from /usr/lib/libssl.so.4...done. Loaded symbols for /usr/lib/libssl.so.4 Reading symbols from /lib/libcrypto.so.4...done. Loaded symbols for /lib/libcrypto.so.4 Reading symbols from /lib/libc.so.6...done. Loaded symbols for /lib/libc.so.6 Reading symbols from /libexec/ld-elf.so.1...done. Loaded symbols for /libexec/ld-elf.so.1 #0 0x08054096 in auth_client_request_continue (request=0x0, data_base64=0x808806b "ns1 NAMESPACE") at auth-server-request.c:377 377 auth-server-request.c: No such file or directory. in auth-server-request.c (gdb) bt #0 0x08054096 in auth_client_request_continue (request=0x0, data_base64=0x808806b "ns1 NAMESPACE") at auth-server-request.c:377 #1 0x0804beef in client_auth_input (context=0x8074a00) at client-authenticate.c:72 #2 0x08059afe in io_loop_handler_run (ioloop=0x807d1c0) at ioloop-kqueue.c:153 #3 0x08058f0e in io_loop_run (ioloop=0x807d1c0) at ioloop.c:329 #4 0x0804e905 in main (argc=1, argv=0xbfbfec2c, envp=0xbfbfec34) at main.c:432
participants (3)
-
Maxim
-
Maxim Lougovsky
-
Timo Sirainen