[Dovecot] kevent changes (was Re: 1.0 RC1 status)

Scott Ellis scotte at warped.com
Tue Jul 11 02:07:50 EEST 2006


Scott Ellis wrote:
> 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 
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


More information about the dovecot mailing list