Timo Sirainen wrote:
On Wed, 2006-06-21 at 17:23 -0700, Scott Ellis wrote:
Timo Sirainen wrote: [snip]
I'm thinking about releasing 1.0 RC1 within a few days. Would be nice if that release actually worked, so testing would be appreciated :) You can try it by getting the dovecot-latest from http://dovecot.org/nightly/ There was a change to how configure detects if kqueue is supported (made sometime after the 10th (I suspect the change on the 16th, but haven't looked too closely) which prevents it from being detected on NetBSD. Forcing kqueue to be used for file change and i/o loop by hacking up the configure script allows it to be used.
Any idea what exactly? I noticed one test had == instead of =. Was it just because of that? http://dovecot.org/list/dovecot-cvs/2006-June/005920.html
It appears so. It now properly detects and uses kqueue for ioloop, but not for notify. Changing the configure test for notify makes it work there as well: --- configure 2006-06-26 10:59:49.000000000 -0700 +++ configure.orig 2006-06-24 14:33:51.000000000 -0700 @@ -22526,7 +22526,7 @@ if test "$notify" = "" || test "$notify" = "kqueue"; then echo "$as_me:$LINENO: checking if we can use BSD kqueue() notify" >&5 echo $ECHO_N "checking if we can use BSD kqueue() notify... $ECHO_C" >&6 - if test "$ac_cv_func_kqueue" = yes && test "$ac_cv_func_kevent" = yes ; then + if test "$ac_cv_func_kqueue" == yes && test "$ac_cv_func_kevent" == yes ; then have_notify=kqueue notify=kqueue echo "$as_me:$LINENO: result: \"yes\"" >&5
Jun 21 17:22:13 intrepid dovecot: auth(default): kevent(10) in io_loop_handle_remove failed: Bad file descriptor
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)
This doesn't yield anything useful. There's nothing before the kill() in the backtrace of dovecot-auth, even though the binary has symbols in it: intrepid# !file file /software/dovecot-1.0-20060626/libexec/dovecot/dovecot-auth /software/dovecot-1.0-20060626/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 I suspect I should really rebuild it w/o any optimization flags, just to make sure that's not the issue with the backtrace (there's also the potential that gdb isn't working quite right either, as this is NetBSD-current, and GDB6 was recently introduced...I don't know if 5.3 has works with GCC4 binaries or not...). I'll try and dig around a bit more on this. ScottE