Dovecot panic for one user after upgrading

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Dovecot panic for one user after upgrading

Owen B. Mehegan
The EC2 instance that I run Dovecot on (personal mail server) was
forcibly "retired" yesterday, and as a result I ended up rebuilding from
backups. In the process I switched from Ubuntu Precise to Ubuntu Xenial
(12.04 to 16.04), and this in turn caused me to upgrade Dovecot from
2.0.19 to 2.0.22. Now, although accessing mail seems to work OK using my
various clients, I am seeing these errors in my logs:

Jan  3 05:56:58 -- dovecot: imap(owen): Panic: file
mail-index-sync-keywords.c: line 227 (keywords_update_records):
assertion failed: (data_offset >= sizeof(struct mail_index_record))
Jan  3 05:56:58 -- dovecot: imap(owen): Error: Raw backtrace:
/usr/lib/dovecot/libdovecot.so.0(+0x7aee2) [0x7fe9c08dbee2] ->
/usr/lib/dovecot/libdovecot.so.0(+0x7afcd) [0x7fe9c08dbfcd] ->
/usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7fe9c0880a61] ->
/usr/lib/dovecot/libdovecot-storage.so.0(mail_index_sync_keywords+0x828)
[0x7fe9c0c1fdd8] ->
/usr/lib/dovecot/libdovecot-storage.so.0(mail_index_sync_record+0xef)
[0x7fe9c0c2079f] ->
/usr/lib/dovecot/libdovecot-storage.so.0(mail_index_sync_map+0x238)
[0x7fe9c0c21758] ->
/usr/lib/dovecot/libdovecot-storage.so.0(mail_index_map+0x71)
[0x7fe9c0c18de1] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0xd28fd)
[0x7fe9c0c2e8fd] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0xd2f03)
[0x7fe9c0c2ef03] ->
/usr/lib/dovecot/libdovecot-storage.so.0(mail_index_open+0x78)
[0x7fe9c0c2efe8] ->
/usr/lib/dovecot/libdovecot-storage.so.0(index_storage_mailbox_open+0x92)
[0x7fe9c0c08042] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x5e8d2)
[0x7fe9c0bba8d2] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x5e9b8)
[0x7fe9c0bba9b8] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x37b86)
[0x7fe9c0b93b86] ->
/usr/lib/dovecot/libdovecot-storage.so.0(mailbox_open+0x20)
[0x7fe9c0b93d00] ->
/usr/lib/dovecot/libdovecot-storage.so.0(index_storage_get_status+0x20)
[0x7fe9c0c073b0] ->
/usr/lib/dovecot/libdovecot-storage.so.0(mailbox_get_status+0x37)
[0x7fe9c0b940e7] -> dovecot/imap(imap_status_get+0x77) [0x55d3b4c3f977]
-> dovecot/imap(cmd_status+0x1a9) [0x55d3b4c32969] ->
dovecot/imap(command_exec+0x9c) [0x55d3b4c3806c] ->
dovecot/imap(+0x193e2) [0x55d3b4c363e2] -> dovecot/imap(+0x1946c)
[0x55d3b4c3646c] -> dovecot/imap(client_handle_input+0x165)
[0x55d3b4c36825] -> dovecot/imap(client_input+0x82) [0x55d3b4c36db2] ->
/usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x4c) [0x7fe9c08efc6c]
-> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x101)
[0x7fe9c08f1101] ->
/usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x25)
[0x7fe9c08efcf5] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x38)
[0x7fe9c08efe98]
Jan  3 05:56:59 -- dovecot: imap(owen): Fatal: master: service(imap):
child 18289 killed with signal 6 (core dumped)

I have deleted the dovecot.* files in the Maildir for all users (did
this while Dovecot was stopped, then started it again), but the errors
persist. They are especially frequent for one particular user. I can't
figure out where the core file is, it doesn't seem to be in my home or
in /var/run/dovecot

Here's my dovecot -n output:

# 2.2.22 (fe789d2): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.13 (7b14904)
# OS: Linux 4.4.0-1043-aws x86_64 Ubuntu 16.04.3 LTS
mail_location = maildir:~/Maildir
namespace inbox {
   inbox = yes
   location =
   mailbox Drafts {
     special_use = \Drafts
   }
   mailbox Junk {
     special_use = \Junk
   }
   mailbox Sent {
     special_use = \Sent
   }
   mailbox "Sent Messages" {
     special_use = \Sent
   }
   mailbox Trash {
     special_use = \Trash
   }
   prefix =
}
passdb {
   driver = pam
}
protocols = " imap"
service auth {
   unix_listener /var/spool/postfix/private/auth {
     group = postfix
     mode = 0660
     user = postfix
   }
}
ssl_cert = </etc/letsencrypt/live/mydomain/cert.pem
ssl_key = </etc/letsencrypt/live/mydomain/privkey.pem
userdb {
   driver = passwd
}

Thanks in advance for any support you can offer!
Reply | Threaded
Open this post in threaded view
|

Re: Dovecot panic for one user after upgrading

Aki Tuomi-2
Hi!

The problem seems to occur during mail index processing. Can you try
deleting all dovecot.index* files under this user's maildir. There might
be some more under various folders.

Aki


On 03.01.2018 08:51, Owen B. Mehegan wrote:

> The EC2 instance that I run Dovecot on (personal mail server) was
> forcibly "retired" yesterday, and as a result I ended up rebuilding
> from backups. In the process I switched from Ubuntu Precise to Ubuntu
> Xenial (12.04 to 16.04), and this in turn caused me to upgrade Dovecot
> from 2.0.19 to 2.0.22. Now, although accessing mail seems to work OK
> using my various clients, I am seeing these errors in my logs:
>
> Jan  3 05:56:58 -- dovecot: imap(owen): Panic: file
> mail-index-sync-keywords.c: line 227 (keywords_update_records):
> assertion failed: (data_offset >= sizeof(struct mail_index_record))
> Jan  3 05:56:58 -- dovecot: imap(owen): Error: Raw backtrace:
> /usr/lib/dovecot/libdovecot.so.0(+0x7aee2) [0x7fe9c08dbee2] ->
> /usr/lib/dovecot/libdovecot.so.0(+0x7afcd) [0x7fe9c08dbfcd] ->
> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7fe9c0880a61] ->
> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_sync_keywords+0x828)
> [0x7fe9c0c1fdd8] ->
> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_sync_record+0xef)
> [0x7fe9c0c2079f] ->
> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_sync_map+0x238)
> [0x7fe9c0c21758] ->
> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_map+0x71)
> [0x7fe9c0c18de1] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0xd28fd)
> [0x7fe9c0c2e8fd] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0xd2f03)
> [0x7fe9c0c2ef03] ->
> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_open+0x78)
> [0x7fe9c0c2efe8] ->
> /usr/lib/dovecot/libdovecot-storage.so.0(index_storage_mailbox_open+0x92)
> [0x7fe9c0c08042] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x5e8d2)
> [0x7fe9c0bba8d2] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x5e9b8)
> [0x7fe9c0bba9b8] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x37b86)
> [0x7fe9c0b93b86] ->
> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_open+0x20)
> [0x7fe9c0b93d00] ->
> /usr/lib/dovecot/libdovecot-storage.so.0(index_storage_get_status+0x20)
> [0x7fe9c0c073b0] ->
> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_get_status+0x37)
> [0x7fe9c0b940e7] -> dovecot/imap(imap_status_get+0x77)
> [0x55d3b4c3f977] -> dovecot/imap(cmd_status+0x1a9) [0x55d3b4c32969] ->
> dovecot/imap(command_exec+0x9c) [0x55d3b4c3806c] ->
> dovecot/imap(+0x193e2) [0x55d3b4c363e2] -> dovecot/imap(+0x1946c)
> [0x55d3b4c3646c] -> dovecot/imap(client_handle_input+0x165)
> [0x55d3b4c36825] -> dovecot/imap(client_input+0x82) [0x55d3b4c36db2]
> -> /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x4c)
> [0x7fe9c08efc6c] ->
> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x101)
> [0x7fe9c08f1101] ->
> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x25)
> [0x7fe9c08efcf5] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x38)
> [0x7fe9c08efe98]
> Jan  3 05:56:59 -- dovecot: imap(owen): Fatal: master: service(imap):
> child 18289 killed with signal 6 (core dumped)
>
> I have deleted the dovecot.* files in the Maildir for all users (did
> this while Dovecot was stopped, then started it again), but the errors
> persist. They are especially frequent for one particular user. I can't
> figure out where the core file is, it doesn't seem to be in my home or
> in /var/run/dovecot
>
> Here's my dovecot -n output:
>
> # 2.2.22 (fe789d2): /etc/dovecot/dovecot.conf
> # Pigeonhole version 0.4.13 (7b14904)
> # OS: Linux 4.4.0-1043-aws x86_64 Ubuntu 16.04.3 LTS
> mail_location = maildir:~/Maildir
> namespace inbox {
>   inbox = yes
>   location =
>   mailbox Drafts {
>     special_use = \Drafts
>   }
>   mailbox Junk {
>     special_use = \Junk
>   }
>   mailbox Sent {
>     special_use = \Sent
>   }
>   mailbox "Sent Messages" {
>     special_use = \Sent
>   }
>   mailbox Trash {
>     special_use = \Trash
>   }
>   prefix =
> }
> passdb {
>   driver = pam
> }
> protocols = " imap"
> service auth {
>   unix_listener /var/spool/postfix/private/auth {
>     group = postfix
>     mode = 0660
>     user = postfix
>   }
> }
> ssl_cert = </etc/letsencrypt/live/mydomain/cert.pem
> ssl_key = </etc/letsencrypt/live/mydomain/privkey.pem
> userdb {
>   driver = passwd
> }
>
> Thanks in advance for any support you can offer!

Reply | Threaded
Open this post in threaded view
|

Re: Dovecot panic for one user after upgrading

Owen B. Mehegan
Thanks, you were right, I had forgotten that there would be indexes for
each folder (of course). So I had done a 'find -maxdepth' type command
to find and delete them, and only hit the ones in Maildir. Now that I
have deleted all of them, there are no more errors.

On 01.03.2018 17:54, Aki Tuomi wrote:

> Hi!
>
> The problem seems to occur during mail index processing. Can you try
> deleting all dovecot.index* files under this user's maildir. There
> might
> be some more under various folders.
>
> Aki
>
>
> On 03.01.2018 08:51, Owen B. Mehegan wrote:
>> The EC2 instance that I run Dovecot on (personal mail server) was
>> forcibly "retired" yesterday, and as a result I ended up rebuilding
>> from backups. In the process I switched from Ubuntu Precise to Ubuntu
>> Xenial (12.04 to 16.04), and this in turn caused me to upgrade Dovecot
>> from 2.0.19 to 2.0.22. Now, although accessing mail seems to work OK
>> using my various clients, I am seeing these errors in my logs:
>>
>> Jan  3 05:56:58 -- dovecot: imap(owen): Panic: file
>> mail-index-sync-keywords.c: line 227 (keywords_update_records):
>> assertion failed: (data_offset >= sizeof(struct mail_index_record))
>> Jan  3 05:56:58 -- dovecot: imap(owen): Error: Raw backtrace:
>> /usr/lib/dovecot/libdovecot.so.0(+0x7aee2) [0x7fe9c08dbee2] ->
>> /usr/lib/dovecot/libdovecot.so.0(+0x7afcd) [0x7fe9c08dbfcd] ->
>> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7fe9c0880a61] ->
>> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_sync_keywords+0x828)
>> [0x7fe9c0c1fdd8] ->
>> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_sync_record+0xef)
>> [0x7fe9c0c2079f] ->
>> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_sync_map+0x238)
>> [0x7fe9c0c21758] ->
>> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_map+0x71)
>> [0x7fe9c0c18de1] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0xd28fd)
>> [0x7fe9c0c2e8fd] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0xd2f03)
>> [0x7fe9c0c2ef03] ->
>> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_open+0x78)
>> [0x7fe9c0c2efe8] ->
>> /usr/lib/dovecot/libdovecot-storage.so.0(index_storage_mailbox_open+0x92)
>> [0x7fe9c0c08042] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x5e8d2)
>> [0x7fe9c0bba8d2] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x5e9b8)
>> [0x7fe9c0bba9b8] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x37b86)
>> [0x7fe9c0b93b86] ->
>> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_open+0x20)
>> [0x7fe9c0b93d00] ->
>> /usr/lib/dovecot/libdovecot-storage.so.0(index_storage_get_status+0x20)
>> [0x7fe9c0c073b0] ->
>> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_get_status+0x37)
>> [0x7fe9c0b940e7] -> dovecot/imap(imap_status_get+0x77)
>> [0x55d3b4c3f977] -> dovecot/imap(cmd_status+0x1a9) [0x55d3b4c32969] ->
>> dovecot/imap(command_exec+0x9c) [0x55d3b4c3806c] ->
>> dovecot/imap(+0x193e2) [0x55d3b4c363e2] -> dovecot/imap(+0x1946c)
>> [0x55d3b4c3646c] -> dovecot/imap(client_handle_input+0x165)
>> [0x55d3b4c36825] -> dovecot/imap(client_input+0x82) [0x55d3b4c36db2]
>> -> /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x4c)
>> [0x7fe9c08efc6c] ->
>> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x101)
>> [0x7fe9c08f1101] ->
>> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x25)
>> [0x7fe9c08efcf5] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x38)
>> [0x7fe9c08efe98]
>> Jan  3 05:56:59 -- dovecot: imap(owen): Fatal: master: service(imap):
>> child 18289 killed with signal 6 (core dumped)
>>
>> I have deleted the dovecot.* files in the Maildir for all users (did
>> this while Dovecot was stopped, then started it again), but the errors
>> persist. They are especially frequent for one particular user. I can't
>> figure out where the core file is, it doesn't seem to be in my home or
>> in /var/run/dovecot
>>
>> Here's my dovecot -n output:
>>
>> # 2.2.22 (fe789d2): /etc/dovecot/dovecot.conf
>> # Pigeonhole version 0.4.13 (7b14904)
>> # OS: Linux 4.4.0-1043-aws x86_64 Ubuntu 16.04.3 LTS
>> mail_location = maildir:~/Maildir
>> namespace inbox {
>>   inbox = yes
>>   location =
>>   mailbox Drafts {
>>     special_use = \Drafts
>>   }
>>   mailbox Junk {
>>     special_use = \Junk
>>   }
>>   mailbox Sent {
>>     special_use = \Sent
>>   }
>>   mailbox "Sent Messages" {
>>     special_use = \Sent
>>   }
>>   mailbox Trash {
>>     special_use = \Trash
>>   }
>>   prefix =
>> }
>> passdb {
>>   driver = pam
>> }
>> protocols = " imap"
>> service auth {
>>   unix_listener /var/spool/postfix/private/auth {
>>     group = postfix
>>     mode = 0660
>>     user = postfix
>>   }
>> }
>> ssl_cert = </etc/letsencrypt/live/mydomain/cert.pem
>> ssl_key = </etc/letsencrypt/live/mydomain/privkey.pem
>> userdb {
>>   driver = passwd
>> }
>>
>> Thanks in advance for any support you can offer!