[Dovecot] Crash in v1.2.3: istream.c: assertion failed on line 99

Timo Sirainen tss at iki.fi
Fri Aug 14 02:00:06 EEST 2009


On Thu, 2009-08-13 at 12:10 +1000, Phillip Macey wrote:
> Aug 12 15:52:25 fury dovecot: IMAP(zhi): Panic: file istream.c: line 99 
> (i_stream_read): assertion failed: ((size_t)ret+old_size == _stream->pos 
> - _stream->skip)

This is kind of annoying problem. I've been adding more of these asserts
to try to catch it, but no one's really found an easy way to reproduce
it.

If you manage to get a core dump, it would also help to see what those
values are:

fr 6
p ret
p old_size
p _stream.pos
p _stream.skip

(You may need to compile Dovecot without -O2 parameter to get some of
those values. Easiest way would be to just remove -O2 from
src/lib/Makefile; touch src/lib/istream.c; make; sudo make install)

> imap(i_stream_read_data+0x28) [0x4a2558] -> imap [0x4ab22e] -> 
> imap(o_stream_send_istream+0x2e) [0x4aa63e] -> 
> imap(maildir_save_continue+0x32) [0x443d12] -> 
> imap(mail_storage_copy+0x6a) [0x462a1a] -> imap(maildir_copy+0x5e) 

This is another thing I'm wondering. It's copying the mails by actually
copying the data, instead of doing a hard link. But your dovecot -n
output shows that you have it set to defaults, so it should have used a
hard link. Or did you copy to a directory that was in another mount
point? Or doesn't your filesystem support hard links?

> I was able to fairly reliably trigger the same behaviour myself by 
> attempting to move a bunch (thousands) of emails in my account using 
> thunderbird - I dont know exactly what it is that triggers the crash 
> though. 

If you're still able to reproduce this, can you also try if this does
it:

telnet localhost 143
a login user pass
b select inbox
c create testbox
d copy 1:* testbox

Instead of getting a core dump you can also attach gdb to an already
running process: gdb -p <imap process pid>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
Url : http://dovecot.org/pipermail/dovecot/attachments/20090813/afc32ee4/attachment-0001.bin 


More information about the dovecot mailing list