[Dovecot] Dovecot 1.0.rc7 ioloop-poll.c assertion failed after SIGHUP

Chris Wakelin c.d.wakelin at reading.ac.uk
Mon Sep 25 13:45:44 EEST 2006



Timo Sirainen wrote:
> On Mon, 2006-09-25 at 11:16 +0100, Chris Wakelin wrote:
>> 3) 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!

> 
>> dovecot: Sep 25 10:38:11 Warning: SIGHUP received - reloading configuration
>> dovecot: Sep 25 10:38:12 Error: invalid I/O fd 29, callback 17d2c
> 
> Could you do:
> 
> gdb dovecot
> x 0x17d2c

(gdb) x 0x17d2c
0x17d2c <login_process_input>:  0x9de3bf50
(gdb)

> 
>> dovecot: Sep 25 10:38:12 Error: login: fd_read() failed: Resource
>> temporarily unavailable
> 
> Hmm. I guess this could be fixed by simply returning from the function
> if it returns EAGAIN..
> 
>> dovecot: Sep 25 10:38:12 Error: Login process died too early - shutting down
>> dovecot: Sep 25 10:38:13 Panic: file ioloop-poll.c: line 105
>> (io_loop_handle_remove): assertion failed: (index >= 0 && (unsigned int)
>> index < ctx->fds_count)
> 
> Could you get gdb backtrace from this? Since it's dovecot master
> process, it should write core to /var/run/dovecot/ (assuming you had
> ulimit -c high enough).

...
Program terminated with signal 6, Abort.
...
Reading symbols from /usr/platform/SUNW,Ultra-250/lib/libc_psr.so.1...done.
Loaded symbols for /usr/platform/SUNW,Ultra-250/lib/libc_psr.so.1

#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

The backtrace for the live server was very similar.

I'm concerned though, that the crash on the test version on the live
server and the first crash on the test server didn't involve fd_read, so
perhaps there's more than one issue here?

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.)

Best Wishes,
Chris

-- 
--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-
Christopher Wakelin,                           c.d.wakelin at reading.ac.uk
IT Services Centre, The University of Reading,  Tel: +44 (0)118 378 8439
Whiteknights, Reading, RG6 2AF, UK              Fax: +44 (0)118 975 3094


More information about the dovecot mailing list