[Dovecot] Still crashing with test-80
Here is the log over a 12 hour period:
pid 91923 (pop3), uid 25039: exited on signal 6 pid 98265 (pop3), uid 25039: exited on signal 6 pid 95547 (pop3), uid 25039: exited on signal 6 pid 235 (pop3), uid 25039: exited on signal 6 pid 239 (pop3), uid 25039: exited on signal 6 pid 318 (pop3), uid 25039: exited on signal 6 pid 386 (pop3), uid 25039: exited on signal 6 pid 415 (pop3), uid 25039: exited on signal 6 pid 427 (pop3), uid 25039: exited on signal 6 pid 434 (pop3), uid 25039: exited on signal 6 pid 468 (pop3), uid 25039: exited on signal 6 pid 653 (dovecot-auth), uid 0: exited on signal 6 (core dumped)
Here is the GDB Backtrace:
orion# gdb /usr/local/libexec/dovecot/imap dovecot-auth.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: core file may not match specified executable file. Core was generated by `dovecot-auth'. Program terminated with signal 6, Aborted. #0 0x181327af in ?? () (gdb) bt full #0 0x181327af in ?? () No symbol table info available. #1 0x18127856 in ?? () No symbol table info available. #2 0x0000028d in ?? () No symbol table info available. #3 0x00000006 in ?? () No symbol table info available. #4 0x00000000 in ?? () No symbol table info available. #5 0x00000000 in ?? () No symbol table info available. #6 0x00000286 in ?? () No symbol table info available. #7 0x181abf4c in ?? () No symbol table info available. #8 0xbfbfea78 in ?? () No symbol table info available. #9 0x1819b0df in ?? () No symbol table info available. #10 0x00000006 in ?? () No symbol table info available. #11 0xbfbfea48 in ?? () No symbol table info available. #12 0x00000000 in ?? () No symbol table info available. #13 0x1819b0aa in ?? () No symbol table info available. #14 0x00000001 in ?? () No symbol table info available. #15 0x18095400 in ?? () No symbol table info available. #16 0xffffffdf in ?? () No symbol table info available. #17 0xffffffff in ?? () No symbol table info available. #18 0xffffffff in ?? () No symbol table info available. #19 0xffffffff in ?? () ---Type <return> to continue, or q <return> to quit--- No symbol table info available. #20 0x18072a11 in ?? () No symbol table info available. #21 0x18095000 in ?? () No symbol table info available. #22 0x00000150 in ?? () No symbol table info available. #23 0x0807a000 in mail_cache_header_fields_read () No symbol table info available. #24 0x08071000 in istream_raw_mbox_next () No symbol table info available. #25 0x00000000 in ?? () No symbol table info available. #26 0x080710d0 in istream_raw_mbox_seek () No symbol table info available. #27 0x083c1ac0 in ?? () No symbol table info available. #28 0xbfbfea98 in ?? () No symbol table info available. #29 0x0805efd4 in imap_thread () No symbol table info available. Previous frame inner to this frame (corrupt stack?) (gdb)
Thanks in advance for any help anyone can provide.
-Matt
On 18.8.2005, at 20:23, Matt Juszczak wrote:
pid 91923 (pop3), uid 25039: exited on signal 6
What about the error message why it dies? Dovecot writes to logs the reason why it kills itself when it dies with signal 6.
Debugging these require that you get a core dump to the user's home directory (Dovecot logs show what user's process crashed). Setting mail_drop_priv_before_exec = yes in config file hopefully does that. Then you'll need to get a backtrace from it against pop3 binary.
pid 653 (dovecot-auth), uid 0: exited on signal 6 (core dumped)
Also dovecot-auth writes the reason why it crashes to log file.
orion# gdb /usr/local/libexec/dovecot/imap dovecot-auth.core
Sorry, wrong again :) dovecot-auth binary against dovecot-auth.core file. pop3 binary against core files created by pop3.
Also your previous backtrace for dovecot-auth was somewhat broken too.. Probably because the binaries were stripped. Did you use some binary package or compile by hand? Those backtraces would be a lot better if the debugging info wasn't stripped away..
Matt, Having gone thru this recently with the test80 assert crash, it really helps if you compile dovecot with gcc and "-g -O" for the compiler options. This gets symbol debug information into the core dump. Yes, gcc will optimize and give symbol table info too.
I went thru a procedure of getting gcc and gdb updated to 4.0.1 and 6.3 on my system, before rebuilding dovecot.
When I actually did a debug of the core dump, I had the dovecot source code open in a second window so I could at least query on relevant variables and hopefully provide Timo with some useful variable settings at the time of the crash. I must have done something right, because Timo got the crash fixed in one patch!
Jeff Earickson Colby College
On Thu, 18 Aug 2005, Timo Sirainen wrote:
Date: Thu, 18 Aug 2005 20:44:31 +0300 From: Timo Sirainen tss@iki.fi To: Matt Juszczak matt@atopia.net Cc: dovecot@dovecot.org Subject: Re: [Dovecot] Still crashing with test-80
On 18.8.2005, at 20:23, Matt Juszczak wrote:
pid 91923 (pop3), uid 25039: exited on signal 6
What about the error message why it dies? Dovecot writes to logs the reason why it kills itself when it dies with signal 6.
Debugging these require that you get a core dump to the user's home directory (Dovecot logs show what user's process crashed). Setting mail_drop_priv_before_exec = yes in config file hopefully does that. Then you'll need to get a backtrace from it against pop3 binary.
pid 653 (dovecot-auth), uid 0: exited on signal 6 (core dumped)
Also dovecot-auth writes the reason why it crashes to log file.
orion# gdb /usr/local/libexec/dovecot/imap dovecot-auth.core
Sorry, wrong again :) dovecot-auth binary against dovecot-auth.core file. pop3 binary against core files created by pop3.
Also your previous backtrace for dovecot-auth was somewhat broken too.. Probably because the binaries were stripped. Did you use some binary package or compile by hand? Those backtraces would be a lot better if the debugging info wasn't stripped away..
Sorry, I'm tired as anything. I don't know why I keep doing my gdb's wrong. I'm usually NO WHERE near this bad. I'll fix it and get back to you.
On Thu, 18 Aug 2005, Timo Sirainen wrote:
On 18.8.2005, at 20:23, Matt Juszczak wrote:
pid 91923 (pop3), uid 25039: exited on signal 6
What about the error message why it dies? Dovecot writes to logs the reason why it kills itself when it dies with signal 6.
Debugging these require that you get a core dump to the user's home directory (Dovecot logs show what user's process crashed). Setting mail_drop_priv_before_exec = yes in config file hopefully does that. Then you'll need to get a backtrace from it against pop3 binary.
pid 653 (dovecot-auth), uid 0: exited on signal 6 (core dumped)
Also dovecot-auth writes the reason why it crashes to log file.
orion# gdb /usr/local/libexec/dovecot/imap dovecot-auth.core
Sorry, wrong again :) dovecot-auth binary against dovecot-auth.core file. pop3 binary against core files created by pop3.
Also your previous backtrace for dovecot-auth was somewhat broken too.. Probably because the binaries were stripped. Did you use some binary package or compile by hand? Those backtraces would be a lot better if the debugging info wasn't stripped away..
I'm compiling dovecot from a 1.0 port that Dominic made originally. I can add some manual flags to it that might help.
Also, I wasn't able to find anything in the logs about the error message. Is there something I could grep on?
-Matt
On Thu, 18 Aug 2005, Timo Sirainen wrote:
On 18.8.2005, at 20:23, Matt Juszczak wrote:
pid 91923 (pop3), uid 25039: exited on signal 6
What about the error message why it dies? Dovecot writes to logs the reason why it kills itself when it dies with signal 6.
Debugging these require that you get a core dump to the user's home directory (Dovecot logs show what user's process crashed). Setting mail_drop_priv_before_exec = yes in config file hopefully does that. Then you'll need to get a backtrace from it against pop3 binary.
pid 653 (dovecot-auth), uid 0: exited on signal 6 (core dumped)
Also dovecot-auth writes the reason why it crashes to log file.
orion# gdb /usr/local/libexec/dovecot/imap dovecot-auth.core
Sorry, wrong again :) dovecot-auth binary against dovecot-auth.core file. pop3 binary against core files created by pop3.
Also your previous backtrace for dovecot-auth was somewhat broken too.. Probably because the binaries were stripped. Did you use some binary package or compile by hand? Those backtraces would be a lot better if the debugging info wasn't stripped away..
On Thu, 2005-08-18 at 15:18 -0400, Matt Juszczak wrote:
I'm compiling dovecot from a 1.0 port that Dominic made originally. I can add some manual flags to it that might help.
-g flag should be there by default, but maybe the port changes it. Or maybe it installs the Dovecot binaries using install -s which strips away the debug info. Anyway you can check with "file ..../pop3" to see if the pop3 binary is stripped or not.
Also, I wasn't able to find anything in the logs about the error message. Is there something I could grep on?
"dovecot"? :) All imap/pop3/auth crashes are logged by Dovecot in one way or another. Usually something like:
dovecot: May 10 16:41:48 Error: IMAP(cras:2257): file mbox-sync.c: line 1379 (mbox_sync_do): assertion failed: (sync_ctx->mbox->mbox_sync_dirty) dovecot: May 10 16:41:48 Error: child 2257 (imap) killed with signal 6
sorry for my dumbness... I just saw this.
-g flag should be there by default, but maybe the port changes it. Or maybe it installs the Dovecot binaries using install -s which strips away the debug info. Anyway you can check with "file ..../pop3" to see if the pop3 binary is stripped or not.
/usr/local/libexec/dovecot/pop3: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 5.4-CURRENT (rev 2), dynamically linked (uses shared libs), stripped
Yep, looks stripped. So I need to recompile the port without -s?
participants (3)
-
Jeff A. Earickson
-
Matt Juszczak
-
Timo Sirainen