Bug 1189198 - dovecot IMAP crashes on mbox files
Summary: dovecot IMAP crashes on mbox files
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: dovecot
Version: 21
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Michal Hlavinka
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-02-04 16:39 UTC by Lennart Poettering
Modified: 2016-10-12 19:27 UTC (History)
3 users (show)

Fixed In Version: dovecot-2.2.15-3.fc20
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-03-05 12:33:21 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Lennart Poettering 2015-02-04 16:39:28 UTC
I frequently see this in my dovecot logs:

Feb 04 17:32:27 gardel-mail dovecot[110]: imap(lennart): Error: Next message unexpectedly corrupted in mbox file /home/lennart/mail/mbox at 68197425
Feb 04 17:32:27 gardel-mail dovecot[110]: imap(lennart): Panic: file mbox-sync.c: line 152 (mbox_sync_read_next_mail): assertion failed: (sync_ctx->input->v_offset != mail_ctx->mail.from_offset || sync_ctx->input->eof)
Feb 04 17:32:27 gardel-mail dovecot[110]: imap(lennart): Error: Raw backtrace: /usr/lib64/dovecot/libdovecot.so.0(+0x74d1e) [0x7f5d3c92ed1e] -> /usr/lib64/dovecot/libdovecot.so.0(+0x74e0c) [0x7f5d3c92ee0c] -> /usr/lib64/dovecot/libdovecot.so.0(i_fatal+0) [0x7f5d3c8de91e] -> /usr/lib64/dovecot/libdovecot-storage.so.0(+0x637e2) [0x7f5d3cc067e2] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mbox_sync+0x48) [0x7f5d3cc07a48] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mbox_storage_sync_init+0x65) [0x7f5d3cc07bb5] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mailbox_sync_init+0x3b) [0x7f5d3cc249bb] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mailbox_sync+0x37) [0x7f5d3cc24b07] -> /usr/lib64/dovecot/libdovecot-storage.so.0(index_storage_get_status+0x31) [0x7f5d3cc50501] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mailbox_get_status+0x37) [0x7f5d3cc26207] -> dovecot/imap(imap_status_get+0x77) [0x7f5d3d10c237] -> dovecot/imap(cmd_status+0x1a9) [0x7f5d3d100dc9] -> dovecot/imap(command_exec+0x3c) [0x7f5d3d10532c] -> dovecot/imap(+0x181f2) [0x7f5d3d1041f2] -> dovecot/imap(+0x18282) [0x7f5d3d104282] -> dovecot/imap(client_handle_input+0x13d) [0x7f5d3d1045dd] -> dovecot/imap(client_input+0x85) [0x7f5d3d104995] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_call_io+0x4c) [0x7f5d3c9413cc] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0xc5) [0x7f5d3c942415] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_handler_run+0x9) [0x7f5d3c941439] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x7f5d3c9414b8] -> /usr/lib64/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f5d3c8e3fa3] -> dovecot/imap(main+0x2cc) [0x7f5d3d0f841c] -> /lib64/libc.so.6(__libc_start_main+0xf0) [0x7f5d3c51cfe0] -> dovecot/imap(+0xc588) [0x7f5d3d0f8588]
Feb 04 17:32:27 gardel-mail dovecot[110]: imap(lennart): Fatal: master: service(imap): child 236 killed with signal 6 (core dumps disabled)

This is apparently a known issue, as this thread shows:

http://comments.gmane.org/gmane.mail.imap.dovecot/79992

That thread contains links to two patches from hg upstream which supposedly fix the issue. Would be great to get that backported into F21!

# rpm -qa dovecot
dovecot-2.2.15-1.fc21.x86_64

Comment 1 Fedora Update System 2015-02-05 16:30:55 UTC
dovecot-2.2.15-3.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/dovecot-2.2.15-3.fc20

Comment 2 Fedora Update System 2015-02-05 16:31:03 UTC
dovecot-2.2.15-3.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/dovecot-2.2.15-3.fc21

Comment 3 Fedora Update System 2015-02-06 04:00:04 UTC
Package dovecot-2.2.15-3.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing dovecot-2.2.15-3.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2015-1730/dovecot-2.2.15-3.fc20
then log in and leave karma (feedback).

Comment 4 Tom Chiverton 2015-02-16 20:00:39 UTC
I was having this exact same issue.
It would manifest several times a week, using K-9 Mail on Android over TLS. KMail on Ubuntu never seemed to trigger it.

I am running the updates-testing version now and will report back.

Comment 5 Tom Chiverton 2015-02-21 12:14:47 UTC
Resolves the issue for me.

Comment 6 Fedora Update System 2015-03-05 12:33:21 UTC
dovecot-2.2.15-3.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 7 Fedora Update System 2015-03-05 12:33:56 UTC
dovecot-2.2.15-3.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 8 RobbieTheK 2016-10-12 19:27:46 UTC
On Fedora 24 seeing this again:
    dovecot: imap(): Error: Raw backtrace:
/usr/lib64/dovecot/libdovecot.so.0(+0x8b3a2) [0x7fb7ad8213a2] ->
/usr/lib64/dovecot/libdovecot.so.0(+0x8b49d) [0x7fb7ad82149d] ->
/usr/lib64/dovecot/libdovecot.so.0(i_fatal+0) [0x7fb7ad7bf681] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(+0xa992d) [0x7fb7adb5092d] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(index_mail_get_first_header+0xd2)
[0x7fb7adb50d92] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(mail_get_first_header+0x3d)
[0x7fb7adadd74d] -> /usr/lib64/dovecot/libdovecot-storage.so.0(+0xbdbb7)
[0x7fb7adb64bb7] -> /usr/lib64/dovecot/libdovecot-storage.so.0(+0xbddf2)
[0x7fb7adb64df2] -> /usr/lib64/dovecot/libdovecot.so.0(i_stream_read+0x53)
[0x7fb7ad82b8b3] -> /usr/lib64/dovecot/libdovecot.so.0(i_stream_read_data+0x3d)
[0x7fb7ad82c2dd] ->
/usr/lib64/dovecot/libdovecot.so.0(message_parse_header_next+0x72)
[0x7fb7ad80cdb2] -> /usr/lib64/dovecot/libdovecot.so.0(+0x71301)
[0x7fb7ad807301] -> /usr/lib64/dovecot/libdovecot.so.0(i_stream_read+0x53)
[0x7fb7ad82b8b3] -> /usr/lib64/dovecot/libdovecot.so.0(i_stream_read_data+0x3d)
[0x7fb7ad82c2dd] ->
/usr/lib64/dovecot/libdovecot.so.0(message_parse_header_next+0x72)
[0x7fb7ad80cdb2] ->
/usr/lib64/dovecot/libdovecot.so.0(message_parse_header+0x4f) [0x7fb7ad80d74f]
-> /usr/lib64/dovecot/libdovecot-storage.so.0(+0xb021b) [0x7fb7adb5721b] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(+0xb2313) [0x7fb7adb59313] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(index_storage_search_next_nonblock+0x114)
[0x7fb7adb59a24] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(mailbox_search_next_nonblock+0x22)
[0x7fb7adae7882] -> dovecot/imap(+0x21eff) [0x5585fdccceff] ->
dovecot/imap(imap_search_start+0xd1) [0x5585fdccd2c1] ->
dovecot/imap(cmd_search+0xd3) [0x5585fdcbef23] ->
dovecot/imap(command_exec+0x9c) [0x5585fdcc634c] -> dovecot/imap(+0x19642)
[0x5585fdcc4642] -> dovecot/imap(+0x196ce) [0x5585fdcc46ce] ->
dovecot/imap(client_handle_input+0x1b5) [0x5585fdcc4ad5] ->
dovecot/imap(client_input+0x82) [0x5585fdcc5042]: 1 Time(s)
    dovecot: imap(): Error: Raw backtrace:
/usr/lib64/dovecot/libdovecot.so.0(+0x8b3a2) [0x7fca078c73a2] ->
/usr/lib64/dovecot/libdovecot.so.0(+0x8b49d) [0x7fca078c749d] ->
/usr/lib64/dovecot/libdovecot.so.0(i_fatal+0) [0x7fca07865681] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(+0xa992d) [0x7fca07bf692d] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(index_mail_get_first_header+0xd2)
[0x7fca07bf6d92] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(mail_get_first_header+0x3d)
[0x7fca07b8374d] -> /usr/lib64/dovecot/libdovecot-storage.so.0(+0xbdbb7)
[0x7fca07c0abb7] -> /usr/lib64/dovecot/libdovecot-storage.so.0(+0xbddf2)
[0x7fca07c0adf2] -> /usr/lib64/dovecot/libdovecot.so.0(i_stream_read+0x53)
[0x7fca078d18b3] -> /usr/lib64/dovecot/libdovecot.so.0(i_stream_read_data+0x3d)
[0x7fca078d22dd] ->
/usr/lib64/dovecot/libdovecot.so.0(message_parse_header_next+0x72)
[0x7fca078b2db2] -> /usr/lib64/dovecot/libdovecot.so.0(+0x71301)
[0x7fca078ad301] -> /usr/lib64/dovecot/libdovecot.so.0(i_stream_read+0x53)
[0x7fca078d18b3] -> /usr/lib64/dovecot/libdovecot.so.0(i_stream_read_data+0x3d)
[0x7fca078d22dd] ->
/usr/lib64/dovecot/libdovecot.so.0(message_parse_header_next+0x72)
[0x7fca078b2db2] ->
/usr/lib64/dovecot/libdovecot.so.0(message_parse_header+0x4f) [0x7fca078b374f]
-> /usr/lib64/dovecot/libdovecot-storage.so.0(+0xb021b) [0x7fca07bfd21b] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(+0xb2313) [0x7fca07bff313] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(index_storage_search_next_nonblock+0x114)
[0x7fca07bffa24] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(mailbox_search_next_nonblock+0x22)
[0x7fca07b8d882] -> dovecot/imap(+0x21eff) [0x55e82343deff] ->
dovecot/imap(imap_search_start+0xd1) [0x55e82343e2c1] ->
dovecot/imap(cmd_search+0xd3) [0x55e82342ff23] ->
dovecot/imap(command_exec+0x9c) [0x55e82343734c] -> dovecot/imap(+0x19642)
[0x55e823435642] -> dovecot/imap(+0x196ce) [0x55e8234356ce] ->
dovecot/imap(client_handle_input+0x1b5) [0x55e823435ad5] ->
dovecot/imap(client_input+0x82) [0x55e823436042]: 1 Time(s)
    dovecot: imap(): Error: Raw backtrace:
/usr/lib64/dovecot/libdovecot.so.0(+0x8b3a2) [0x7ff2c32663a2] ->
/usr/lib64/dovecot/libdovecot.so.0(+0x8b49d) [0x7ff2c326649d] ->
/usr/lib64/dovecot/libdovecot.so.0(i_fatal+0) [0x7ff2c3204681] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(+0xa992d) [0x7ff2c359592d] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(index_mail_get_first_header+0xd2)
[0x7ff2c3595d92] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(mail_get_first_header+0x3d)
[0x7ff2c352274d] -> /usr/lib64/dovecot/libdovecot-storage.so.0(+0xbdbb7)
[0x7ff2c35a9bb7] -> /usr/lib64/dovecot/libdovecot-storage.so.0(+0xbddf2)
[0x7ff2c35a9df2] -> /usr/lib64/dovecot/libdovecot.so.0(i_stream_read+0x53)
[0x7ff2c32708b3] -> /usr/lib64/dovecot/libdovecot.so.0(i_stream_read_data+0x3d)
[0x7ff2c32712dd] ->
/usr/lib64/dovecot/libdovecot.so.0(message_parse_header_next+0x72)
[0x7ff2c3251db2] -> /usr/lib64/dovecot/libdovecot.so.0(+0x71301)
[0x7ff2c324c301] -> /usr/lib64/dovecot/libdovecot.so.0(i_stream_read+0x53)
[0x7ff2c32708b3] -> /usr/lib64/dovecot/libdovecot.so.0(i_stream_read_data+0x3d)
[0x7ff2c32712dd] ->
/usr/lib64/dovecot/libdovecot.so.0(message_parse_header_next+0x72)
[0x7ff2c3251db2] ->
/usr/lib64/dovecot/libdovecot.so.0(message_parse_header+0x4f) [0x7ff2c325274f]
-> /usr/lib64/dovecot/libdovecot-storage.so.0(+0xb021b) [0x7ff2c359c21b] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(+0xb2313) [0x7ff2c359e313] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(index_storage_search_next_nonblock+0x114)
[0x7ff2c359ea24] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(mailbox_search_next_nonblock+0x22)
[0x7ff2c352c882] -> dovecot/imap(+0x21eff) [0x55f04b566eff] ->
dovecot/imap(command_exec+0x9c) [0x55f04b56034c] -> dovecot/imap(+0x21012)
[0x55f04b566012] ->
/usr/lib64/dovecot/libdovecot.so.0(io_loop_handle_timeouts+0xf6)
[0x7ff2c327a166] ->
/usr/lib64/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0xbb)
[0x7ff2c327b72b] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_handler_run+0x25)
[0x7ff2c327a385] -> /usr/lib64/do!
 vecot/libdovecot.so.0(io_loop_run+0x38) [0x7ff2c327a528] ->
/usr/lib64/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7ff2c320ab73]: 1
Time(s)
    dovecot: imap(): Fatal: master: service(imap): child 27530 killed with
signal 6 (core dumped): 1 Time(s)
    dovecot: imap(): Logged out in=111 out=551: 1 Time(s)
    dovecot: imap(): Panic: file ../../../src/lib/array.h: line 219
(array_idx_i): failed: (idx * array->element_size <
array->buffer->used): 13 Time(s)
    dovecot: imap(): Warning: Transaction log file
/mail/.imap/RMAIL/dovecot.index.log was locked for 137 seconds
(rotating while syncing): 1 Time(s)
    dovecot: imap(): Warning: Transaction log file
/dovecot.index.log was locked for 54
seconds (Mailbox was synchronized): 1 Time(s)
    dovecot: imap(): Warning: Transaction log file
/dovecot.index.log was locked
for 30 seconds (Mailbox was synchronized): 1 Time(s)
    dovecot: imap(): Warning: Transaction log file
/dovecot.index.log was locked
for 33 seconds (Mailbox was synchronized): 1 Time(s)


Note You need to log in before you can comment on or make changes to this bug.