2.2.14 Panic in sync_expunge_range()
Hans Morten Kind
Kind at adm.uib.no
Mon Oct 20 08:26:48 UTC 2014
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' <repeats 12 times>, 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 <client_connected>)
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 <login_client_connected>,
failure_callback = 0x807715d <login_client_failed>, 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
More information about the dovecot
mailing list