[Dovecot] Panic: file mail-index-sync-ext.c: line 212 (sync_ext_reorder): assertion failed: (offset < (uint16_t)-1)
Hello, we are using dovecot v1.2.10 on debian stable (lenny) systems with mailboxes on NFS, and we are facing this quite ugly crash:
2010-04-27 10:59:06 IMAP(<mailbox>): Panic: file mail-index-sync-ext.c: line 212 (sync_ext_reorder): assertion failed: (offset < (uint16_t)-1) 2010-04-27 10:59:06 dovecot: Error: child 2429 (imap) killed with signal 6 (core dumps disabled) 2010-04-27 10:59:06 IMAP(<mailbox>): Error: Raw backtrace: imap [0x80f2ea1] -> imap [0x80f2f22] -> imap [0x80f2879] -> imap [0x80df6ad] -> imap(mail_index_sync_ext_intro+0x25b) [0x80e043b] -> imap(mail_index_sync_record+0x164) [0x80ce8e4] -> imap(mail_index_sync_map+0x2c3) [0x80cf6d3] -> imap(mail_index_map+0x465) [0x80c47f5] -> imap [0x80c1053] -> imap(mail_index_open+0x24f) [0x80c150f] -> imap(index_storage_mailbox_open+0x72) [0x80acbb2] -> imap(index_storage_mailbox_init+0x132) [0x80acf72] -> imap [0x80847f8] -> imap [0x8084a9d] -> imap(mailbox_open+0x69) [0x80b71b9] -> imap(cmd_select_full+0x1dd) [0x806503d] -> imap(cmd_select+0x19) [0x8065999] -> imap [0x8067c7c] -> imap [0x8067d19] -> imap(client_handle_input+0x2d) [0x8067e8d] -> imap(client_input+0x5f) [0x80687ef] -> imap(io_loop_handler_run+0xe0) [0x80fbc50] -> imap(io_loop_run+0x20) [0x80fb0c0] -> imap(main+0x5ea) [0x80712fa] -> /lib/i686/cmov/libc.so.6(__libc_start_main+0xe5) [0xb7dbf455] -> imap [0x8060361]
the only solution we have found is to delete the dovecot.index* files, and let dovecot regenerate them at the next access.
could you please give it a look?
Thanks in advance, Sandro
On Tue, Apr 27, 2010 at 11:36:41AM +0200, Sandro Tosi wrote:
Hello, we are using dovecot v1.2.10 on debian stable (lenny) systems with
This is not directly a solution for your problem, but debian stabel does not include dovecot 1.2 only 1.0. You got this doveot version from backports where 1.2.11 is current.
So it might be worth a shot to upgrade your dovecot to 1.2.11 and have a look if it still fails.
Dennis
Dennis Guhl put forth on 4/28/2010 1:59 AM:
On Tue, Apr 27, 2010 at 11:36:41AM +0200, Sandro Tosi wrote:
Hello, we are using dovecot v1.2.10 on debian stable (lenny) systems with
This is not directly a solution for your problem, but debian stabel does not include dovecot 1.2 only 1.0. You got this doveot version from backports where 1.2.11 is current.
So it might be worth a shot to upgrade your dovecot to 1.2.11 and have a look if it still fails.
Yes, definitely go up to 1.2.11 if you're using mbox storage format. There are some serious mbox fixes in 1.2.11. Also take note of this in the Debian provided dovecot.conf regarding nfs locking:
## ## mbox-specific settings ##
# Which locking methods to use for locking mbox. There are four available: # dotlock: Create <mailbox>.lock file. This is the oldest and most NFS-safe # solution. If you want to use /var/mail/ like directory, the users # will need write access to that directory. # dotlock_try: Same as dotlock, but if it fails because of permissions or # because there isn't enough disk space, just skip it. # fcntl : Use this if possible. Works with NFS too if lockd is used. # flock : May not exist in all systems. Doesn't work with NFS. # lockf : May not exist in all systems. Doesn't work with NFS. # # You can use multiple locking methods; if you do the order they're declared # in is important to avoid deadlocks if other MTAs/MUAs are using multiple # locking methods as well. Some operating systems don't allow using some of # them simultaneously. # # The Debian value for mbox_write_locks differs from upstream Dovecot. It is # changed to be compliant with Debian Policy (section 11.6) for NFS safety. # Dovecot: mbox_write_locks = dotlock fcntl # Debian: mbox_write_locks = fcntl dotlock #
-- Stan
Hello Stan, thanks for your reply.
On 04/28/2010 09:16 AM, Stan Hoeppner wrote:
Dennis Guhl put forth on 4/28/2010 1:59 AM:
On Tue, Apr 27, 2010 at 11:36:41AM +0200, Sandro Tosi wrote:
Hello, we are using dovecot v1.2.10 on debian stable (lenny) systems with
This is not directly a solution for your problem, but debian stabel does not include dovecot 1.2 only 1.0. You got this doveot version from backports where 1.2.11 is current.
So it might be worth a shot to upgrade your dovecot to 1.2.11 and have a look if it still fails.
Yes, definitely go up to 1.2.11 if you're using mbox storage format. There are some serious mbox fixes in 1.2.11. Also take note of this in the Debian provided dovecot.conf regarding nfs locking:
we use Maildir, not mbox.
## ## mbox-specific settings ##
# Which locking methods to use for locking mbox. There are four available: # dotlock: Create<mailbox>.lock file. This is the oldest and most NFS-safe # solution. If you want to use /var/mail/ like directory, the users # will need write access to that directory. # dotlock_try: Same as dotlock, but if it fails because of permissions or # because there isn't enough disk space, just skip it. # fcntl : Use this if possible. Works with NFS too if lockd is used. # flock : May not exist in all systems. Doesn't work with NFS. # lockf : May not exist in all systems. Doesn't work with NFS. # # You can use multiple locking methods; if you do the order they're declared # in is important to avoid deadlocks if other MTAs/MUAs are using multiple # locking methods as well. Some operating systems don't allow using some of # them simultaneously. # # The Debian value for mbox_write_locks differs from upstream Dovecot. It is # changed to be compliant with Debian Policy (section 11.6) for NFS safety. # Dovecot: mbox_write_locks = dotlock fcntl # Debian: mbox_write_locks = fcntl dotlock #
Hi Stan, thanks for your email.
We are using Maildir format on NFS, not mbox (and we followed the guidelines for tuning Maildir on NFS as reported in dovecot wiki, but thanks for mention them ;) ).
Regards, Sandro
From: dovecot-bounces+sandro.tosi=register.it@dovecot.org [dovecot-bounces+sandro.tosi=register.it@dovecot.org] On Behalf Of Stan Hoeppner [stan@hardwarefreak.com] Sent: Wednesday, April 28, 2010 9:16 AM To: dovecot@dovecot.org Subject: Re: [Dovecot] Panic: file mail-index-sync-ext.c: line 212 (sync_ext_reorder): assertion failed: (offset < (uint16_t)-1)
Dennis Guhl put forth on 4/28/2010 1:59 AM:
On Tue, Apr 27, 2010 at 11:36:41AM +0200, Sandro Tosi wrote:
Hello, we are using dovecot v1.2.10 on debian stable (lenny) systems with
This is not directly a solution for your problem, but debian stabel does not include dovecot 1.2 only 1.0. You got this doveot version from backports where 1.2.11 is current.
So it might be worth a shot to upgrade your dovecot to 1.2.11 and have a look if it still fails.
Yes, definitely go up to 1.2.11 if you're using mbox storage format. There are some serious mbox fixes in 1.2.11. Also take note of this in the Debian provided dovecot.conf regarding nfs locking:
## ## mbox-specific settings ##
# Which locking methods to use for locking mbox. There are four available: # dotlock: Create <mailbox>.lock file. This is the oldest and most NFS-safe # solution. If you want to use /var/mail/ like directory, the users # will need write access to that directory. # dotlock_try: Same as dotlock, but if it fails because of permissions or # because there isn't enough disk space, just skip it. # fcntl : Use this if possible. Works with NFS too if lockd is used. # flock : May not exist in all systems. Doesn't work with NFS. # lockf : May not exist in all systems. Doesn't work with NFS. # # You can use multiple locking methods; if you do the order they're declared # in is important to avoid deadlocks if other MTAs/MUAs are using multiple # locking methods as well. Some operating systems don't allow using some of # them simultaneously. # # The Debian value for mbox_write_locks differs from upstream Dovecot. It is # changed to be compliant with Debian Policy (section 11.6) for NFS safety. # Dovecot: mbox_write_locks = dotlock fcntl # Debian: mbox_write_locks = fcntl dotlock #
-- Stan
Hello Dennis, thanks for the reply
On 04/28/2010 08:59 AM, Dennis Guhl wrote:
On Tue, Apr 27, 2010 at 11:36:41AM +0200, Sandro Tosi wrote:
Hello, we are using dovecot v1.2.10 on debian stable (lenny) systems with
This is not directly a solution for your problem, but debian stabel does not include dovecot 1.2 only 1.0. You got this doveot version from backports where 1.2.11 is current.
So it might be worth a shot to upgrade your dovecot to 1.2.11 and have a look if it still fails.
I've upgraded to 1.2.11 but the problem is still there: here is a fresh crash
2010-04-28 13:22:17 POP3(<address>): Panic: file mail-index-sync-ext.c: line 212 (sync_ext_reorder): assertion failed: (offset < (uint16_t)-1) 2010-04-28 13:22:17 POP3(<address>): Error: Raw backtrace: pop3 [0x80e3101] -> pop3 [0x80e3182] -> pop3 [0x80e2ad9] -> pop3 [0x80d048d] -> pop3(mail_index_sync_ext_intro+0x25b) [0x80d121b] -> pop3(mail_index_sync_record+0x164) [0x80bf6c4] -> pop3(mail_index_sync_map+0x2c3) [0x80c04b3] -> pop3(mail_index_map+0x465) [0x80b55d5] -> pop3 [0x80b1e33] -> pop3(mail_index_open+0x24f) [0x80b22ef] -> pop3(index_storage_mailbox_open+0x72) [0x809db72] -> pop3(index_storage_mailbox_init+0x132) [0x809df32] -> pop3 [0x8075738] -> pop3 [0x80759dd] -> pop3(mailbox_open+0x69) [0x80a7f99] -> pop3(client_create+0x16f) [0x805fb5f] -> pop3(main+0x456) [0x8061d26] -> /lib/i686/cmov/libc.so.6(__libc_start_main+0xe5) [0xb7dba455] -> pop3 [0x805f161] 2010-04-28 13:22:17 dovecot: Error: child 30295 (pop3) killed with signal 6 (core dumps disabled)
Hi Dennis, thanks for the reply
I've upgraded to 1.2.11 but the problem is still there: here is a fresh crash
2010-04-28 13:22:17 POP3(<address>): Panic: file mail-index-sync-ext.c: line 212 (sync_ext_reorder): assertion failed: (offset < (uint16_t)-1) 2010-04-28 13:22:17 POP3(<address>): Error: Raw backtrace: pop3 [0x80e3101] -> pop3 [0x80e3182] -> pop3 [0x80e2ad9] -> pop3 [0x80d048d] -> pop3(mail_index_sync_ext_intro+0x25b) [0x80d121b] -> pop3(mail_index_sync_record+0x164) [0x80bf6c4] -> pop3(mail_index_sync_map+0x2c3) [0x80c04b3] -> pop3(mail_index_map+0x465) [0x80b55d5] -> pop3 [0x80b1e33] -> pop3(mail_index_open+0x24f) [0x80b22ef] -> pop3(index_storage_mailbox_open+0x72) [0x809db72] -> pop3(index_storage_mailbox_init+0x132) [0x809df32] -> pop3 [0x8075738] -> pop3 [0x80759dd] -> pop3(mailbox_open+0x69) [0x80a7f99] -> pop3(client_create+0x16f) [0x805fb5f] -> pop3(main+0x456) [0x8061d26] -> /lib/i686/cmov/libc.so.6(__libc_start_main+0xe5) [0xb7dba455] -> pop3 [0x805f161] 2010-04-28 13:22:17 dovecot: Error: child 30295 (pop3) killed with signal 6 (core dumps disabled)
Regards, Sandro
From: dovecot-bounces+sandro.tosi=register.it@dovecot.org [dovecot-bounces+sandro.tosi=register.it@dovecot.org] On Behalf Of Dennis Guhl [dg@dguhl.org] Sent: Wednesday, April 28, 2010 8:59 AM To: dovecot@dovecot.org Subject: Re: [Dovecot] Panic: file mail-index-sync-ext.c: line 212 (sync_ext_reorder): assertion failed: (offset < (uint16_t)-1)
On Tue, Apr 27, 2010 at 11:36:41AM +0200, Sandro Tosi wrote:
Hello, we are using dovecot v1.2.10 on debian stable (lenny) systems with
This is not directly a solution for your problem, but debian stabel does not include dovecot 1.2 only 1.0. You got this doveot version from backports where 1.2.11 is current.
So it might be worth a shot to upgrade your dovecot to 1.2.11 and have a look if it still fails.
Dennis
On Thu, 2010-04-29 at 16:27 +0200, Sandro Tosi wrote:
2010-04-28 13:22:17 POP3(<address>): Panic: file mail-index-sync-ext.c: line 212 (sync_ext_reorder): assertion failed: (offset < (uint16_t)-1)
Interesting. When this happens again, could you send the user's dovecot.index and dovecot.index.log files to me? They don't contain anything sensitive about mails (only flags).
On 04/29/2010 07:33 PM, Timo Sirainen wrote:
On Thu, 2010-04-29 at 16:27 +0200, Sandro Tosi wrote:
2010-04-28 13:22:17 POP3(<address>): Panic: file mail-index-sync-ext.c: line 212 (sync_ext_reorder): assertion failed: (offset< (uint16_t)-1)
Interesting. When this happens again, could you send the user's dovecot.index and dovecot.index.log files to me? They don't contain anything sensitive about mails (only flags).
Sure, here they are. Thanks for your interest.
Sandro
Sure, here they are. Thanks for your interest :)
Sandro
From: Timo Sirainen [tss@iki.fi] Sent: Thursday, April 29, 2010 7:33 PM To: Sandro Tosi Cc: Dovecot Mailing List Subject: Re: [Dovecot] Panic: file mail-index-sync-ext.c: line 212 (sync_ext_reorder): assertion failed: (offset < (uint16_t)-1)
On Thu, 2010-04-29 at 16:27 +0200, Sandro Tosi wrote:
2010-04-28 13:22:17 POP3(<address>): Panic: file mail-index-sync-ext.c: line 212 (sync_ext_reorder): assertion failed: (offset < (uint16_t)-1)
Interesting. When this happens again, could you send the user's dovecot.index and dovecot.index.log files to me? They don't contain anything sensitive about mails (only flags).
Hi Timo, did you have the chance to give this problem a look? It's quite important for us to have this fixed :)
Thanks in advance, Sandro
On 04/30/2010 09:39 AM, Sandro Tosi wrote:
Sure, here they are. Thanks for your interest :)
Sandro
From: Timo Sirainen [tss@iki.fi] Sent: Thursday, April 29, 2010 7:33 PM To: Sandro Tosi Cc: Dovecot Mailing List Subject: Re: [Dovecot] Panic: file mail-index-sync-ext.c: line 212 (sync_ext_reorder): assertion failed: (offset< (uint16_t)-1)
On Thu, 2010-04-29 at 16:27 +0200, Sandro Tosi wrote:
2010-04-28 13:22:17 POP3(<address>): Panic: file mail-index-sync-ext.c: line 212 (sync_ext_reorder): assertion failed: (offset< (uint16_t)-1)
Interesting. When this happens again, could you send the user's dovecot.index and dovecot.index.log files to me? They don't contain anything sensitive about mails (only flags).
The .log file doesn't seem to contain anything special and I couldn't reproduce the crash with it. So the quickest way to get this fixed would be if you could:
Compile Dovecot's lib-index/ without optimizations (easiest is to remove -O2 from lib-index/Makefile, make clean, make, make install)
ulimit -c unlimited before starting Dovecot (and possibly do other things) to get it to dump core
When it crashes, sent me the output of:
gdb .../dovecot/pop3 ~/core bt full fr 6 (possibly some other number, so that commands below won't fail) p offset p i p *sorted[0] p *sorted[1] p *sorted[2]
On Mon, 2010-05-24 at 09:24 +0200, Sandro Tosi wrote:
Hi Timo, did you have the chance to give this problem a look? It's quite important for us to have this fixed :)
Thanks in advance, Sandro
On 04/30/2010 09:39 AM, Sandro Tosi wrote:
Sure, here they are. Thanks for your interest :)
Sandro
From: Timo Sirainen [tss@iki.fi] Sent: Thursday, April 29, 2010 7:33 PM To: Sandro Tosi Cc: Dovecot Mailing List Subject: Re: [Dovecot] Panic: file mail-index-sync-ext.c: line 212 (sync_ext_reorder): assertion failed: (offset< (uint16_t)-1)
On Thu, 2010-04-29 at 16:27 +0200, Sandro Tosi wrote:
2010-04-28 13:22:17 POP3(<address>): Panic: file mail-index-sync-ext.c: line 212 (sync_ext_reorder): assertion failed: (offset< (uint16_t)-1)
Interesting. When this happens again, could you send the user's dovecot.index and dovecot.index.log files to me? They don't contain anything sensitive about mails (only flags).
participants (4)
-
Dennis Guhl
-
Sandro Tosi
-
Stan Hoeppner
-
Timo Sirainen