Re: [Dovecot] assertion failed: (seq >= t->first_new_seq && seq <= t->last_new_seq)
OK I've been struggling to get dumps from the live environment most of the day, but have given up. I've now managed to reproduce this using a fork-bomb type script; here is a backtrace (no debug version installed, but I suspect I could reproduce this in the dev environment if it's not clear what the error is).
(gdb) bt #0 0x004ef402 in __kernel_vsyscall () #1 0x00138c00 in raise () from /lib/libc.so.6 #2 0x0013a451 in abort () from /lib/libc.so.6 #3 0x080c413d in default_error_handler () #4 0x080c41cd in i_syslog_fatal_handler () #5 0x080c3a2c in i_panic () #6 0x080a072c in mail_index_transaction_lookup () #7 0x080a39d7 in mail_index_transaction_open_updated_view () #8 0x080b2853 in mail_cache_decision_add () #9 0x0809b884 in mail_cache_add () #10 0x08089910 in index_mail_cache_add_idx () #11 0x08089a03 in index_mail_cache_add () #12 0x08089ec7 in index_mail_close () #13 0x0808ad90 in index_mail_free () #14 0x08092f42 in mail_free () #15 0x0806c63c in maildir_transaction_save_commit_pre () #16 0x08065d62 in maildir_transaction_class_deinit () #17 0x08092cce in index_transaction_commit () #18 0x08094a56 in mailbox_transaction_commit () #19 0x0805a416 in deliver_save () #20 0x0805b99a in main ()
The way I caused this crash was:
[root@mail2 tmp]# cat t.sh #!/bin/bash HOME=/path/to/nfs/Maildir/ export HOME exec /usr/libexec/dovecot/deliver -f foo@bar.com
Then in bash as root: # i=0; while true; do echo $i; i=$((i+1)); sudo -u exim /tmp/t.sh < /root/t & sudo -u exim /tmp/t.sh < /root/t & sudo -u exim /tmp/t.sh < /root/t & sudo -u exim /tmp/t.sh < /root/t & sudo -u exim /tmp/t.sh < /root/t & sudo -u exim /tmp/t.sh < /root/t & done
After about 3 seconds I got 10 crashes and core dumps.
A word about our setup; we have the maildirs stored on an nfs mount and deliver could be called on multiple heads at the same time for deliveries - I suspect this is what was causing the problem. Our nfs mount options are rw,noatime,nodiratime,hard,intr,rsize=32768,wsize=32768,tcp,nocto. Running centos 5.1 on the boxes with exim.
Thanks,
Mark
On Thu, 2008-07-03 at 15:42 +0100, Mark Zealey wrote:
OK I've been struggling to get dumps from the live environment most of the day, but have given up. I've now managed to reproduce this using a fork-bomb type script; here is a backtrace (no debug version installed, but I suspect I could reproduce this in the dev environment if it's not clear what the error is).
The backtrace was somewhat broken, but I think I figured out the problem (although I couldn't reproduce it). See if this fixes: http://hg.dovecot.org/dovecot-1.1/rev/65d1fc48224d
participants (2)
-
Mark Zealey
-
Timo Sirainen