On Mon, 2006-09-25 at 11:45 +0100, Chris Wakelin wrote:
Timo Sirainen wrote:
On Mon, 2006-09-25 at 11:16 +0100, Chris Wakelin wrote:
- Replace the userdb passwd-file (mv userdb userdb.temp;cp userdb.temp userdb) to clobber any caching
Or you could just "touch userdb".
Probably doesn't prevent disk caching, I thought. Though just "cp userdb.temp userdb" should work!
Disk caching? Kernel caches the file in both cases anyway.
#0 0xff21fbe8 in _libc_kill () from /usr/lib/libc.so.1 (gdb) bt #0 0xff21fbe8 in _libc_kill () from /usr/lib/libc.so.1 #1 0xff1b598c in abort () from /usr/lib/libc.so.1 #2 0x1f874 in default_fatal_handler (status=196248, format=0xffbef5e8 "", args=0x1f84c) at failures.c:120
This unfortunately didn't help, since it didn't show what called io_remove()..
Anyway, I didn't find any reason why these errors could happen from the code, so I guess it was caused by memory corruption on SIGHUP which I just fixed:
http://dovecot.org/list/dovecot-cvs/2006-September/006420.html
Is there a way to get imap-login to dump core when it dies? (We're running with the default login_chroot=yes, if that makes any difference.)
Unfortunately it's not really possible without setting login_chroot=no and also running all dovecot processes under a single uid (including the master). Maybe I should add some login_insecure_debug-setting which would drop privileges before execing, make login directory writable by dovecot and disable chrooting..