2.2.14 Panic in sync_expunge_range()
I am getting some panics after upgrading from 2.2.13 to 2.2.14
This panic happens for one user only, he is subscribed to 86 folders, on two of them this panic happens quite often - several times a day.
The mbox folders seems OK, less than 30M with 30 and 200 messages.
Panic: file mail-index-sync-update.c: line 250 (sync_expunge_range): assertion failed: (count > 0)
hmk
GNU gdb 6.8
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i386-pc-solaris2.10"...
Reading symbols from /datapool/local/dovecot-2.2.14/lib/dovecot/libdovecot-storage.so.0...done.
Loaded symbols for /local/dovecot-2.2.14/lib/dovecot/libdovecot-storage.so.0
Reading symbols from /datapool/local/dovecot-2.2.14/lib/dovecot/libdovecot.so.0...done.
Loaded symbols for /local/dovecot-2.2.14/lib/dovecot/libdovecot.so.0
Reading symbols from /datapool/local/program/lib/libssl.so.1.0.0...done.
Loaded symbols for /local/program/lib/libssl.so.1.0.0
Reading symbols from /datapool/local/program/lib/libcrypto.so.1.0.0...done.
Loaded symbols for /local/program/lib/libcrypto.so.1.0.0
Reading symbols from /datapool/local/program/lib/libz.so...done.
Loaded symbols for /local/program/lib/libz.so
Reading symbols from /lib/libm.so.2...done.
Loaded symbols for /lib/libm.so.2
Reading symbols from /datapool/local/program/lib/libiconv.so.2...done.
Loaded symbols for /local/program/lib/libiconv.so.2
Reading symbols from /lib/librt.so.1...done.
Loaded symbols for /lib/librt.so.1
Reading symbols from /lib/libnsl.so.1...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /lib/libsocket.so.1...done.
Loaded symbols for /lib/libsocket.so.1
Reading symbols from /lib/libsendfile.so.1...done.
Loaded symbols for /lib/libsendfile.so.1
Reading symbols from /lib/libc.so.1...done.
Loaded symbols for /lib/libc.so.1
Reading symbols from /lib/libdl.so.1...done.
Loaded symbols for /lib/libdl.so.1
Reading symbols from /usr/lib/libz.so...done.
Loaded symbols for /usr/lib/libz.so
Reading symbols from /lib/libaio.so.1...done.
Loaded symbols for /lib/libaio.so.1
Reading symbols from /lib/libmd.so.1...done.
Loaded symbols for /lib/libmd.so.1
Reading symbols from /lib/ld.so.1...done.
Loaded symbols for /lib/ld.so.1
Core was generated by dovecot/imap imap-postlogin'. Program terminated with signal 6, Aborted. [New process 76621 ] #0 0xfe7fc8e5 in _lwp_kill () from /lib/libc.so.1 #0 0xfe7fc8e5 in _lwp_kill () from /lib/libc.so.1 No symbol table info available. #1 0xfe7f7765 in thr_kill () from /lib/libc.so.1 No symbol table info available. #2 0xfe7a376f in raise () from /lib/libc.so.1 No symbol table info available. #3 0xfe7829e1 in abort () from /lib/libc.so.1 No symbol table info available. #4 0xfeda13ba in default_fatal_finish (type=LOG_TYPE_PANIC, status=0) at failures.c:152 backtrace = 0x8093660 "0xfeda22d7 -> 0xfeda15d3 -> 0xfef31e5f -> 0xfef32d65 -> 0xfef3349e -> 0xfef33b77 -> 0xfef1dcbd -> 0xfef170e4 -> 0xfef173a4 -> 0xfef1767d -> 0xfef03e09 -> 0xfeea5540 -> 0xfeea5714 -> 0xfeea5857 -> 0xfe"... #5 0xfeda22d7 in i_internal_fatal_handler (ctx=0x8047400, format=0xfef5ebc8 "file %s: line %d (%s): assertion failed: (%s)", args=0x8047424 ".ìõþú") at failures.c:152 status = 0 #6 0xfeda15d3 in i_panic (format=0xfef5ebc8 "file %s: line %d (%s): assertion failed: (%s)") at failures.c:152 ctx = {type = LOG_TYPE_PANIC, exit_status = 0, timestamp = 0x0, timestamp_usecs = 0} args = 0x8047424 ".ìõþú" #7 0xfef31e5f in sync_expunge_range (ctx=0x8047600, seqs=0x80474d8) at ../../src/lib/array.h:197 map = (struct mail_index_map *) 0x80c5d90 range = (const struct seq_range *) 0x8093430 i = 134509780 count = 0 dest_seq1 = 562 prev_seq2 = 562 orig_rec_count = 4277606968 __FUNCTION__ = "sync_expunge_range" #8 0xfef32d65 in mail_index_sync_record_real (ctx=0x8047600, hdr=0x80b5d28, data=0x80b5df8) at ../../src/lib/array.h:197 rec = (const struct mail_transaction_expunge_guid *) 0x80b8968 end = (const struct mail_transaction_expunge_guid *) 0x80b8968 seqs = {arr = {buffer = 0x8093410, element_size = 8}, v = 0x8093410, v_modifiable = 0x8093410} seq = 0 modseq = 32612 ret = 0 __FUNCTION__ = "mail_index_sync_record_real" #9 0xfef3349e in mail_index_sync_record (ctx=0x8047600, hdr=0x80b5d28, data=0x80b5df8) at ../../src/lib/array.h:197 _data_stack_cur_id = 5 ret = 1 #10 0xfef33b77 in mail_index_sync_map (_map=0x80b5400, type=MAIL_INDEX_SYNC_HANDLER_HEAD, force=true) at ../../src/lib/array.h:197 map = (struct mail_index_map *) 0x0 index = (struct mail_index *) 0x80b53b0 view = (struct mail_index_view *) 0x80ab8b0 sync_map_ctx = {view = 0x80ab8b0, modseq_ctx = 0x809ca50, cur_ext_map_idx = 0, ext_intro_seq = 5, ext_intro_offset = 52, ext_intro_end_offset = 84, expunge_handlers = {arr = { buffer = 0x0, element_size = 0}, v = 0x0, v_modifiable = 0x0}, extra_contexts = {arr = { buffer = 0x809c348, element_size = 4}, v = 0x809c348, v_modifiable = 0x809c348}, unknown_extensions = 0x0, type = MAIL_INDEX_SYNC_HANDLER_HEAD, sync_handlers_initialized = 0, expunge_handlers_set = 0, expunge_handlers_used = 0, cur_ext_ignore = 0, internal_update = 0, errors = 0} thdr = (const struct mail_transaction_header *) 0x80b5d28 tdata = (const void *) 0x80b5df8 prev_seq = 5 start_offset = 0 prev_offset = 144 ret = 1 had_dirty = false reset = true __FUNCTION__ = "mail_index_sync_map" #11 0xfef1dcbd in mail_index_map (index=0x80b53b0, type=MAIL_INDEX_SYNC_HANDLER_HEAD) at mail-index-map-read.c:35 ret = 1 __FUNCTION__ = "mail_index_map" #12 0xfef170e4 in mail_index_try_open (index=0x80b53b0) at ../../src/lib/array.h:197 ret = 134919688 __FUNCTION__ = "mail_index_try_open" #13 0xfef173a4 in mail_index_open_files (index=0x80b53b0, flags=21) at ../../src/lib/array.h:197 ret = 1 #14 0xfef1767d in mail_index_open (index=0x80b53b0, flags=21) at ../../src/lib/array.h:197 ret = 134960048 __FUNCTION__ = "mail_index_open" #15 0xfef03e09 in index_storage_mailbox_open (box=0x80b47c8, move_to_memory=false) at index-storage.c:39 ibox = (struct index_mailbox_context *) 0x80b4a80 index_flags = 21 ret = 0 __FUNCTION__ = "index_storage_mailbox_open" #16 0xfeea5540 in mbox_mailbox_open_finish (mbox=0x80b47c8, move_to_memory=false) at mbox-storage.c:77 No locals. #17 0xfeea5714 in mbox_mailbox_open_existing (mbox=0x80b47c8) at mbox-storage.c:77 box = (struct mailbox *) 0x80b47c8 rootdir = 0xfeea581f "\215\225
ÿÿÿ\211T$\004\211\004$è\023¨ûÿ\211Eð\203}ð"
box_path = 0x80b4b78 "/Home/USER/mail/pro/triad"
move_to_memory = false
#18 0xfeea5857 in mbox_mailbox_open (box=0x80b47c8) at mbox-storage.c:77
mbox = (struct mbox_mailbox *) 0x80b47c8
st = {st_dev = 82051096, st_pad1 = {0, 0, 0}, st_ino = 4141941, st_mode = 33152, st_nlink = 1,
st_uid = 32440, st_gid = 4601, st_rdev = 0, st_pad2 = {0, 0}, st_size = 16826589, st_atim = {
tv_sec = 1411034237, tv_nsec = 0}, st_mtim = {tv_sec = 1413152136, tv_nsec = 0}, st_ctim = {
tv_sec = 1413659956, tv_nsec = 975959000}, st_blksize = 8192, st_blocks = 33016,
st_fstype = "nfs", '\0'
Fixed: http://hg.dovecot.org/dovecot-2.2/rev/1886e0616ab5
On 20 Oct 2014, at 01:26, Hans Morten Kind Kind@adm.uib.no wrote:
I am getting some panics after upgrading from 2.2.13 to 2.2.14
This panic happens for one user only, he is subscribed to 86 folders, on two of them this panic happens quite often - several times a day.
The mbox folders seems OK, less than 30M with 30 and 200 messages.
Panic: file mail-index-sync-update.c: line 250 (sync_expunge_range): assertion failed: (count > 0)
hmk
GNU gdb 6.8 Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i386-pc-solaris2.10"... Reading symbols from /datapool/local/dovecot-2.2.14/lib/dovecot/libdovecot-storage.so.0...done. Loaded symbols for /local/dovecot-2.2.14/lib/dovecot/libdovecot-storage.so.0 Reading symbols from /datapool/local/dovecot-2.2.14/lib/dovecot/libdovecot.so.0...done. Loaded symbols for /local/dovecot-2.2.14/lib/dovecot/libdovecot.so.0 Reading symbols from /datapool/local/program/lib/libssl.so.1.0.0...done. Loaded symbols for /local/program/lib/libssl.so.1.0.0 Reading symbols from /datapool/local/program/lib/libcrypto.so.1.0.0...done. Loaded symbols for /local/program/lib/libcrypto.so.1.0.0 Reading symbols from /datapool/local/program/lib/libz.so...done. Loaded symbols for /local/program/lib/libz.so Reading symbols from /lib/libm.so.2...done. Loaded symbols for /lib/libm.so.2 Reading symbols from /datapool/local/program/lib/libiconv.so.2...done. Loaded symbols for /local/program/lib/libiconv.so.2 Reading symbols from /lib/librt.so.1...done. Loaded symbols for /lib/librt.so.1 Reading symbols from /lib/libnsl.so.1...done. Loaded symbols for /lib/libnsl.so.1 Reading symbols from /lib/libsocket.so.1...done. Loaded symbols for /lib/libsocket.so.1 Reading symbols from /lib/libsendfile.so.1...done. Loaded symbols for /lib/libsendfile.so.1 Reading symbols from /lib/libc.so.1...done. Loaded symbols for /lib/libc.so.1 Reading symbols from /lib/libdl.so.1...done. Loaded symbols for /lib/libdl.so.1 Reading symbols from /usr/lib/libz.so...done. Loaded symbols for /usr/lib/libz.so Reading symbols from /lib/libaio.so.1...done. Loaded symbols for /lib/libaio.so.1 Reading symbols from /lib/libmd.so.1...done. Loaded symbols for /lib/libmd.so.1 Reading symbols from /lib/ld.so.1...done. Loaded symbols for /lib/ld.so.1 Core was generated by
dovecot/imap imap-postlogin'. Program terminated with signal 6, Aborted. [New process 76621 ] #0 0xfe7fc8e5 in _lwp_kill () from /lib/libc.so.1 #0 0xfe7fc8e5 in _lwp_kill () from /lib/libc.so.1 No symbol table info available. #1 0xfe7f7765 in thr_kill () from /lib/libc.so.1 No symbol table info available. #2 0xfe7a376f in raise () from /lib/libc.so.1 No symbol table info available. #3 0xfe7829e1 in abort () from /lib/libc.so.1 No symbol table info available. #4 0xfeda13ba in default_fatal_finish (type=LOG_TYPE_PANIC, status=0) at failures.c:152 backtrace = 0x8093660 "0xfeda22d7 -> 0xfeda15d3 -> 0xfef31e5f -> 0xfef32d65 -> 0xfef3349e -> 0xfef33b77 -> 0xfef1dcbd -> 0xfef170e4 -> 0xfef173a4 -> 0xfef1767d -> 0xfef03e09 -> 0xfeea5540 -> 0xfeea5714 -> 0xfeea5857 -> 0xfe"... #5 0xfeda22d7 in i_internal_fatal_handler (ctx=0x8047400, format=0xfef5ebc8 "file %s: line %d (%s): assertion failed: (%s)", args=0x8047424 ".ìõþú") at failures.c:152 status = 0 #6 0xfeda15d3 in i_panic (format=0xfef5ebc8 "file %s: line %d (%s): assertion failed: (%s)") at failures.c:152 ctx = {type = LOG_TYPE_PANIC, exit_status = 0, timestamp = 0x0, timestamp_usecs = 0} args = 0x8047424 ".ìõþú" #7 0xfef31e5f in sync_expunge_range (ctx=0x8047600, seqs=0x80474d8) at ../../src/lib/array.h:197 map = (struct mail_index_map *) 0x80c5d90 range = (const struct seq_range *) 0x8093430 i = 134509780 count = 0 dest_seq1 = 562 prev_seq2 = 562 orig_rec_count = 4277606968 __FUNCTION__ = "sync_expunge_range" #8 0xfef32d65 in mail_index_sync_record_real (ctx=0x8047600, hdr=0x80b5d28, data=0x80b5df8) at ../../src/lib/array.h:197 rec = (const struct mail_transaction_expunge_guid *) 0x80b8968 end = (const struct mail_transaction_expunge_guid *) 0x80b8968 seqs = {arr = {buffer = 0x8093410, element_size = 8}, v = 0x8093410, v_modifiable = 0x8093410} seq = 0 modseq = 32612 ret = 0 __FUNCTION__ = "mail_index_sync_record_real" #9 0xfef3349e in mail_index_sync_record (ctx=0x8047600, hdr=0x80b5d28, data=0x80b5df8) at ../../src/lib/array.h:197 _data_stack_cur_id = 5 ret = 1 #10 0xfef33b77 in mail_index_sync_map (_map=0x80b5400, type=MAIL_INDEX_SYNC_HANDLER_HEAD, force=true) at ../../src/lib/array.h:197 map = (struct mail_index_map *) 0x0 index = (struct mail_index *) 0x80b53b0 view = (struct mail_index_view *) 0x80ab8b0 sync_map_ctx = {view = 0x80ab8b0, modseq_ctx = 0x809ca50, cur_ext_map_idx = 0, ext_intro_seq = 5, ext_intro_offset = 52, ext_intro_end_offset = 84, expunge_handlers = {arr = { buffer = 0x0, element_size = 0}, v = 0x0, v_modifiable = 0x0}, extra_contexts = {arr = { buffer = 0x809c348, element_size = 4}, v = 0x809c348, v_modifiable = 0x809c348}, unknown_extensions = 0x0, type = MAIL_INDEX_SYNC_HANDLER_HEAD, sync_handlers_initialized = 0, expunge_handlers_set = 0, expunge_handlers_used = 0, cur_ext_ignore = 0, internal_update = 0, errors = 0} thdr = (const struct mail_transaction_header *) 0x80b5d28 tdata = (const void *) 0x80b5df8 prev_seq = 5 start_offset = 0 prev_offset = 144 ret = 1 had_dirty = false reset = true __FUNCTION__ = "mail_index_sync_map" #11 0xfef1dcbd in mail_index_map (index=0x80b53b0, type=MAIL_INDEX_SYNC_HANDLER_HEAD) at mail-index-map-read.c:35 ret = 1 __FUNCTION__ = "mail_index_map" #12 0xfef170e4 in mail_index_try_open (index=0x80b53b0) at ../../src/lib/array.h:197 ret = 134919688 __FUNCTION__ = "mail_index_try_open" #13 0xfef173a4 in mail_index_open_files (index=0x80b53b0, flags=21) at ../../src/lib/array.h:197 ret = 1 #14 0xfef1767d in mail_index_open (index=0x80b53b0, flags=21) at ../../src/lib/array.h:197 ret = 134960048 __FUNCTION__ = "mail_index_open" #15 0xfef03e09 in index_storage_mailbox_open (box=0x80b47c8, move_to_memory=false) at index-storage.c:39 ibox = (struct index_mailbox_context *) 0x80b4a80 index_flags = 21 ret = 0 __FUNCTION__ = "index_storage_mailbox_open" #16 0xfeea5540 in mbox_mailbox_open_finish (mbox=0x80b47c8, move_to_memory=false) at mbox-storage.c:77 No locals. #17 0xfeea5714 in mbox_mailbox_open_existing (mbox=0x80b47c8) at mbox-storage.c:77 box = (struct mailbox *) 0x80b47c8 rootdir = 0xfeea581f "\215\225
ÿÿÿ\211T$\004\211\004$è\023¨ûÿ\211Eð\203}ð" box_path = 0x80b4b78 "/Home/USER/mail/pro/triad" move_to_memory = false #18 0xfeea5857 in mbox_mailbox_open (box=0x80b47c8) at mbox-storage.c:77 mbox = (struct mbox_mailbox *) 0x80b47c8 st = {st_dev = 82051096, st_pad1 = {0, 0, 0}, st_ino = 4141941, st_mode = 33152, st_nlink = 1, st_uid = 32440, st_gid = 4601, st_rdev = 0, st_pad2 = {0, 0}, st_size = 16826589, st_atim = { tv_sec = 1411034237, tv_nsec = 0}, st_mtim = {tv_sec = 1413152136, tv_nsec = 0}, st_ctim = { tv_sec = 1413659956, tv_nsec = 975959000}, st_blksize = 8192, st_blocks = 33016, st_fstype = "nfs", '\0', st_pad4 = {0, 0, 0, 0, 0, 0, 0, 0}} ret = 0 #19 0xfeec94cc in mailbox_open_full (box=0x80b47c8, input=0x0) at ../../src/lib/array.h:197 _data_stack_cur_id = 4 ret = 143 #20 0xfeec9807 in mailbox_open (box=0x80b47c8) at ../../src/lib/array.h:197 No locals. #21 0xfef024ec in index_storage_get_status (box=0x80b47c8, items=23, status_r=0x8047a04) at index-status.c:23 No locals. #22 0xfeeca8ac in mailbox_get_status (box=0x80b47c8, items=23, status_r=0x8047a04) at ../../src/lib/array.h:197 __FUNCTION__ = "mailbox_get_status" #23 0x08073ddb in imap_status_get (cmd=0x80b1fb8, ns=0x80ab1b0, mailbox=0x8093318 "pro/triad", items=0x8047a70, result_r=0x8047a04) at imap-status.c:23 client = (struct client *) 0x80b17b0 box = (struct mailbox *) 0x80b47c8 errstr = 0x8064d84 "\205Àu\034\213\205hÿÿÿÇD$\004\005" ret = 0 #24 0x08064e65 in cmd_status (cmd=0x80b1fb8) at cmd-status.c:23 client = (struct client *) 0x80b17b0 args = (const struct imap_arg *) 0x80ab240 list_args = (const struct imap_arg *) 0x80ab328 items = {status = 23, metadata = 0} result = {status = {messages = 0, recent = 0, unseen = 0, uidvalidity = 0, uidnext = 0, first_unseen_seq = 0, first_recent_uid = 0, last_cached_seq = 0, highest_modseq = 0, highest_pvt_modseq = 0, keywords = 0x0, permanent_flags = 0, permanent_keywords = 0, allow_new_keywords = 0, nonpermanent_modseqs = 0, no_modseq_tracking = 0, have_guids = 1, have_save_guids = 0, have_only_guid128 = 0}, metadata = { guid = "\000\000\000\000\001\000\000\000\r\000\000\000\033\000\000", virtual_size = 2199023255593, cache_fields = 0xfe7a67f2, precache_fields = 134861792, backend_ns_prefix = 0x80921a8 "0(\t\b\030", backend_ns_type = 134511236}, error = 134654712, errstr = 0x80b2038 "STATUS"} ns = (struct mail_namespace *) 0x80ab1b0 mailbox = 0x8093318 "pro/triad" orig_mailbox = 0x80ab2f8 "pro/triad" selected_mailbox = false #25 0x0806aa61 in command_exec (cmd=0x80b1fb8) at imap-commands.c:101 hook = (const struct command_hook *) 0x809bfd8 ret = 8 #26 0x080699d2 in client_command_input (cmd=0x80b1fb8) at imap-client.c:130 client = (struct client *) 0x80b17b0 command = (struct command *) 0x3 __FUNCTION__ = "client_command_input" #27 0x08069cb7 in client_command_input (cmd=0x80b1fb8) at imap-client.c:130 client = (struct client *) 0x80b17b0 command = (struct command *) 0x809d3d4 __FUNCTION__ = "client_command_input" #28 0x08069dba in client_handle_next_command (client=0x80b17b0, remove_io_r=0x8047b9d) at imap-client.c:130 No locals. #29 0x08069e57 in client_handle_input (client=0x80b17b0) at imap-client.c:130 _data_stack_cur_id = 3 ret = 10 remove_io = false handled_commands = false __FUNCTION__ = "client_handle_input" #30 0x08069fe0 in client_input (client=0x80b17b0) at imap-client.c:130 cmd = (struct client_command_context *) 0x80aa9a4 output = (struct ostream *) 0x80abe08 bytes = 55 __FUNCTION__ = "client_input" #31 0xfedba96d in io_loop_call_io (io=0x80abe70) at ioloop.c:28 ioloop = (struct ioloop *) 0x809bf20 t_id = 2 __FUNCTION__ = "io_loop_call_io" #32 0xfedbc0cc in io_loop_handler_run_internal (ioloop=0x809bf20) at ioloop-poll.c:96 ctx = (struct ioloop_handler_context *) 0x809ca10 pollfd = (struct pollfd *) 0x809e0a8 tv = {tv_sec = 1799, tv_usec = 999672} io = (struct io_file *) 0x80abe70 msecs = 1800000 ret = 0 call = true #33 0xfedbab06 in io_loop_handler_run (ioloop=0x809bf20) at ioloop.c:28 No locals. #34 0xfedbaa5d in io_loop_run (ioloop=0x809bf20) at ioloop.c:28 __FUNCTION__ = "io_loop_run" #35 0xfed41db1 in master_service_run (service=0x809be68, callback=0x80771da ) at master-service.c:75 No locals. #36 0x08077577 in main (argc=2, argv=0x809bc78) at main.c:72 set_roots = {0x8092fe0, 0x0} login_set = {auth_socket_path = 0x80930e8 "", postlogin_socket_path = 0x8093120 "", postlogin_timeout_secs = 60, callback = 0x8076f4e , failure_callback = 0x807715d , request_auth_token = 1} service_flags = MASTER_SERVICE_FLAG_KEEP_CONFIG_OPEN storage_service_flags = MAIL_STORAGE_SERVICE_FLAG_DISALLOW_ROOT username = 0x0 c = -1
participants (2)
-
Hans Morten Kind
-
Timo Sirainen