Timo Sirainen wrote:
On Wed, 2006-06-21 at 17:23 -0700, Scott Ellis wrote: [snip] Well, these aren't good anyway.. Would be nice to know where those came from. If you want you could change i_error calls to i_panic in src/lib/ioloop-kqueue.c and then get gdb backtraces when it crashes (http://dovecot.org/bugreport.html)
[snip] Okay, I updated to GBD6.5 and now get something more useful, but still
Scott Ellis wrote: pretty useless. :-)
Maillog reports: Jul 10 15:57:44 intrepid dovecot: Dovecot v1.0.rc2 starting up Jul 10 15:57:51 intrepid dovecot: auth(default): kevent(10) in io_loop_handle_re move failed: Bad file descriptor Jul 10 15:57:51 intrepid dovecot: child 27097 (auth) killed with signal 6 Jul 10 15:57:52 intrepid dovecot: auth(default): kevent(11) in io_loop_handle_re move failed: Bad file descriptor Jul 10 15:57:52 intrepid dovecot: child 16934 (auth) killed with signal 6
"gdb /software/dovecot-1.0rc2.debug/libexec/dovecot/dovecot-auth /var/run/dovecot/dovecot-auth.core" yields:
(gdb) bt full #0 0x00007f7ffda2bc1e in kill () from /usr/lib/libc.so.12 No symbol table info available. #1 0x00007f7ffdab8529 in abort () from /usr/lib/libc.so.12 No symbol table info available. #2 0x0000000000419639 in i_internal_panic_handler () No symbol table info available. #3 0x000000000041996c in i_panic () No symbol table info available. #4 0x000000000041ced7 in io_loop_handle_remove () No symbol table info available. #5 0x000000000041c22c in io_remove () No symbol table info available. #6 0x00000000004135ec in checkpassword_request_close () No symbol table info available. #7 0x0000000000413b3f in checkpassword_child_input () No symbol table info available. #8 0x000000000041cd35 in io_loop_handler_run () No symbol table info available. #9 0x000000000041c1c8 in io_loop_run () No symbol table info available. #10 0x000000000040f0f4 in main () No symbol table info available.
intrepid# file /software/dovecot-1.0rc2.debug/libexec/dovecot/dovecot-auth /software/dovecot-1.0rc2.debug/libexec/dovecot/dovecot-auth: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for NetBSD 3.99.21, dynamically linked (uses shared libs), for NetBSD 3.99.21, not stripped
Any other way you want me to try and debug this? I'm ignorant in regards to kevent. I do note that the kevent manpage on NetBSD notes:
EV_DELETE Removes the event from the kqueue. Events
which are attached to file descriptors are automatically deleted on the last close of the descriptor.
Maybe dovecot-auth is closing the fh before calling io_loop_handle_remove()?
ScottE