[Dovecot] dovecot 1.0.alpha4 hangs at auth
I'm using dovecot 1.0.alpha4 on a freebsd 5.3 i386 system. Dovecot is configured to use mysql authentication and I'm running mysql 5.0.15 . Everything works fine, but after a period of inactivity (20-30 minutes ) when I connect and try to authenticate it just hangs. I noticed that the dovecot-auth worker process is not running anymore... from looking at the source code I understand that the dovecot-auth worker process is actually a client that connects to the main dovecot-auth process ( the server)
I restarted dovecot and I straced the auth worker process ... after 20-30 minutes it just existed here is the output of strace :
gettimeofday({0, 0}, NULL) = 0 poll([{fd=5, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=4, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 2, 0) = 0 gettimeofday({1133138508, 221796}, {0, 0}) = 0 gettimeofday({0, 0}, NULL) = 0 poll([{fd=5, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=4, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL, revents=POLLIN}], 2, 1999) = 1 gettimeofday({1133138509, 49095}, {0, 0}) = 0 read(4, "", 478) = 0 close(4) = 0 fcntl(7, F_SETFL, O_RDWR|O_NONBLOCK) = 0 read(7, "", 8192) = 0 fcntl(7, F_SETFL, O_RDWR) = 0 write(7, "\1\0\0\0\1", 5) = -1 EPIPE (Broken pipe) shutdown(7, 2 /* send and receive */) = 0 close(7) = 0 close(3) = 0 close(5) = 0 close(6) = 0 close(-1) = -1 EBADF (Bad file descriptor) exit(0) = ?
Why is the auth worker exiting if it reads 0 from fd=4 ? is it possible to make it so that it does not exit ? and in the case it exits is there a mechanism to restart it? Another question would be why read(4, "", 478) returns 0 ? this means that the server closed connection right ? why would the auth server close the connection with the auth worker ?
I had a similar problem with dovecot 0.99 but there I got a "login failed" error message immediately , with 1.0alpha4 it just hangs. I also used a nightly cvs snapshot and the problem is there too.
Thank you for your time
Mihai Secasiu http://denixsolutions.com/
I also get this message in the log file when trying to login (dovecot-auth), uid 0: exited on signal 6 (core dumped)
doing a backtrace on the core i get this :
#0 0x1831e1d7 in kill () from /lib/libc.so.5 #1 0x1831327e in raise () from /lib/libc.so.5 #2 0x18385627 in abort () from /lib/libc.so.5 #3 0x0805f1eb in i_internal_panic_handler (fmt=0x1 <Address 0x1 out of bounds>, args=0xbfbfeb44 "0Ì\006\bn") at failures.c:375 #4 0x0805ed9b in i_panic (format=0x806926c "file %s: line %d (%s): assertion failed: (%s)") at failures.c:173 #5 0x08061acc in io_loop_handle_remove (ioloop=0x1, io=0x0) at ioloop-poll.c:110 #6 0x080612b7 in io_remove (io=0x8070560) at ioloop.c:67 #7 0x08053b7a in auth_worker_destroy (conn=0x80703c0) at auth-worker-server.c:133 #8 0x0805409e in auth_worker_server_deinit () at auth-worker-server.c:377 #9 0x080550bb in main (argc=1, argv=0x807b080) at main.c:267
I think this may be related somehow to the problem reported in my previous email.
I saw that others reported this problem with dovecot hanging at login ... Did anyone managed to fix this ?
participants (1)
-
Mihai Secasiu