[Dovecot] assertion failed in 1.1.7 file mbox-sync.c: line 1305 (mbox_sync_handle_eof_updates)
Dovecot 1.1.7 is running so smoothly that I gave up checking its log files daily. :)
I've just had a look, and among the usual "IMAP(username): FETCH for mailbox Sent UID xx got too little data: xx vs xx" messages (that means that unfortunately sometimes some messages are still written truncated) I saw this assertion failure:
file mbox-sync.c: line 1305 (mbox_sync_handle_eof_updates): assertion failed: (file_size >= sync_ctx->expunged_space + trailer_size)
Regards, Diego.
(gdb) bt full #0 0x008a9402 in __kernel_vsyscall () No symbol table info available. #1 0x00a2fd20 in raise () from /lib/libc.so.6 No symbol table info available. #2 0x00a31631 in abort () from /lib/libc.so.6 No symbol table info available. #3 0x080f73c0 in default_fatal_finish (type=LOG_TYPE_PANIC, status=0) at failures.c:150 backtrace = 0x97df358 "/usr/libexec/dovecot/imap [0x80f739e] -> /usr/libexec/dovecot/imap [0x80f7c5f] -> /usr/libexec/dovecot/imap(i_fatal+0) [0x80f7518] -> /usr/libexec/dovecot/imap [0x80911de] -> /usr/libexec/dovecot/imap"... #4 0x080f7c5f in i_internal_fatal_handler (type=LOG_TYPE_PANIC, status=0, fmt=0x811771c "file %s: line %d (%s): assertion failed: (%s)", args=0xbfbabf14 "\020w\021\b\031\005") at failures.c:430 No locals. #5 0x080f7518 in i_panic (format=0x811771c "file %s: line %d (%s): assertion failed: (%s)") at failures.c:197 args = 0xbfbabf14 "\020w\021\b\031\005" #6 0x080911de in mbox_sync_handle_eof_updates (sync_ctx=0xbfbac0f4, mail_ctx=0xbfbac008) at mbox-sync.c:1305 st = (const struct stat *) 0x97f3420 file_size = 242 offset = 242 padding = 684287899293748052 trailer_size = 0 __PRETTY_FUNCTION__ = "mbox_sync_handle_eof_updates" #7 0x08091d77 in mbox_sync_do (sync_ctx=0xbfbac0f4, flags=0) at mbox-sync.c:1547 mail_ctx = {sync_ctx = 0xbfbac0f4, mail = {uid = 0, idx_seq = 1, keywords = {arr = {buffer = 0x0, element_size = 0}, v = 0x0, v_modifiable = 0x0}, flags = 12 '\f', uid_broken = 0, expunged = 1, pseudo = 0, from_offset = 0, body_size = 0, offset = 0, space = 243}, seq = 1, hdr_offset = 66, body_offset = 151, header_first_change = 4294967295, header_last_change = 0, header = 0x9800878, hdr_md5_sum = "�\035\214�\217\000�\004�\200\t\230��B~", content_length = 18446744073709551615, hdr_pos = {69, 12, 4294967295, 82, 32}, parsed_uid = 2, last_uid_updated_value = 0, last_uid_value_start_pos = 2, have_eoh = 1, need_rewrite = 0, seen_imapbase = 1, updated = 0, recent = 0, dirty = 0, imapbase_rewrite = 0, imapbase_updated = 0} st = (const struct stat *) 0x97f3420 i = 0 ret = 1 partial = 1 #8 0x0809277e in mbox_sync_int (mbox=0x97f0c28, flags=0) at mbox-sync.c:1806 index_sync_ctx = (struct mail_index_sync_ctx *) 0x9808b38 sync_view = (struct mail_index_view *) 0x97f1648 trans = (struct mail_index_transaction *) 0x97f3168 sync_ctx = {mbox = 0x97f0c28, flags = 0, input = 0x97f34e8, file_input = 0x97f3400, write_fd = 8, orig_mtime = 1227954336, orig_atime = 1227954336, orig_size = 242, last_stat = {st_dev = 37637, __pad1 = 0, __st_ino = 4751377, st_mode = 33152, st_nlink = 1, st_uid = 631, st_gid = 508, st_rdev = 0, __pad2 = 0, st_size = 242, st_blksize = 4096, st_blocks = 16, st_atim = { tv_sec = 1227960259, tv_nsec = 0}, st_mtim = {tv_sec = 1227954336, tv_nsec = 0}, st_ctim = {tv_sec = 1227954336, tv_nsec = 0}, st_ino = 4751377}, index_sync_ctx = 0x9808b38, sync_view = 0x97f1648, t = 0x97f3168, reset_hdr = {major_version = 0 '\0', minor_version = 0 '\0', base_header_size = 0, header_size = 0, record_size = 0, compat_flags = 0 '\0', unused = "\000\000", indexid = 0, flags = 0, uid_validity = 0, next_uid = 0, messages_count = 0, unused_old_recent_messages_count = 0, seen_messages_count = 0, deleted_messages_count = 0, first_recent_uid = 0, first_unseen_uid_lowwater = 0, first_deleted_uid_lowwater = 0, log_file_seq = 0, log_file_tail_offset = 0, log_file_head_offset = 0, sync_size = 0, sync_stamp = 0, day_stamp = 0, day_first_uid = {0, 0, 0, 0, 0, 0, 0, 0}}, hdr = 0x97f1300, header = 0x9800878, from_line = 0x9800858, base_uid_validity = 1, base_uid_last = 2, base_uid_last_offset = 0, mails = {arr = {buffer = 0x97f8c40, element_size = 52}, v = 0x97f8c40, v_modifiable = 0x97f8c40}, sync_changes = 0x97f8c60, mail_keyword_pool = 0x9800168, saved_keywords_pool = 0x97f50d8, prev_msg_uid = 2, next_uid = 3, idx_next_uid = 3, seq = 1, idx_seq = 2, need_space_seq = 0, last_nonrecent_uid = 0, expunged_space = 243, space_diff = 0, dest_first_mail = 1, first_mail_crlf_expunged = 0, delay_writes = 1, renumber_uids = 0, moved_offsets = 0, ext_modified = 0, index_reset = 0, errors = 0} sync_flags = MAIL_INDEX_SYNC_FLAG_DROP_RECENT lock_id = 23 ret = 1 changed = 1 delay_writes = true __PRETTY_FUNCTION__ = "mbox_sync_int" #9 0x08092a0a in mbox_sync (mbox=0x97f0c28, flags=0) at mbox-sync.c:1873 ret = 1 #10 0x08092ad8 in mbox_storage_sync_init (box=0x97f0c28, flags=MAILBOX_SYNC_FLAG_FIX_INCONSISTENT) at mbox-sync.c:1897 mbox = (struct mbox_mailbox *) 0x97f0c28 mbox_sync_flags = 0 ret = 0 #11 0x080b70a4 in mailbox_sync_init (box=0x97f0c28, flags=MAILBOX_SYNC_FLAG_FIX_INCONSISTENT) at mail-storage.c:516 No locals. #12 0x080b711b in mailbox_sync (box=0x97f0c28, flags=MAILBOX_SYNC_FLAG_FIX_INCONSISTENT, status_items=0, status_r=0x0) at mail-storage.c:545 ctx = (struct mailbox_sync_context *) 0x0 #13 0x0805b5b7 in cmd_close (cmd=0x97e95c8) at cmd-close.c:21 client = (struct client *) 0x97e9368 mailbox = (struct mailbox *) 0x97f0c28 storage = (struct mail_storage *) 0x97e8c80 #14 0x080625c4 in client_command_input (cmd=0x97e95c8) at client.c:580 client = (struct client *) 0x97e9368 command = (struct command *) 0x7 __PRETTY_FUNCTION__ = "client_command_input" #15 0x080627f9 in client_command_input (cmd=0x97e95c8) at client.c:629 client = (struct client *) 0x97e9368 command = (struct command *) 0x97e856c __PRETTY_FUNCTION__ = "client_command_input" #16 0x080628f7 in client_handle_next_command (client=0x97e9368, remove_io_r=0xbfbac4a5) at client.c:670 size = 11 #17 0x08062933 in client_handle_input (client=0x97e9368) at client.c:680 _data_stack_cur_id = 3 ret = 126 remove_io = false handled_commands = false #18 0x08062ac1 in client_input (client=0x97e9368) at client.c:725 cmd = (struct client_command_context *) 0xad8408 output = (struct ostream *) 0x97e94f4 bytes = 11 __PRETTY_FUNCTION__ = "client_input" #19 0x08101ecd in io_loop_handler_run (ioloop=0x97e79b0) at ioloop-epoll.c:203 ctx = (struct ioloop_handler_context *) 0x97e7aa8 events = (struct epoll_event *) 0x97e7ae8 event = (const struct epoll_event *) 0x97e7ae8 list = (struct io_list *) 0x97e9570 io = (struct io_file *) 0x9800550 tv = {tv_sec = 0, tv_usec = 354274} events_count = 4 t_id = 2 msecs = 355 ret = 1 i = 0 j = 0 call = true #20 0x08101164 in io_loop_run (ioloop=0x97e79b0) at ioloop.c:320 No locals. #21 0x0806df19 in main (argc=1, argv=0xbfbac604, envp=0xbfbac60c) at main.c:293 No locals. (gdb)
On Thu, Dec 4, 2008 at 8:26 AM, Diego Liziero <diegoliz@gmail.com> wrote:
Btw: (gdb) fr 6 #6 0x080911de in mbox_sync_handle_eof_updates (sync_ctx=0xbfbac0f4, mail_ctx=0xbfbac008) at mbox-sync.c:1305 1305 i_assert(file_size >= sync_ctx->expunged_space
- trailer_size); (gdb) print file_size $1 = 242 (gdb) print sync_ctx->expunged_space $2 = 243 (gdb) print trailer_size $3 = 0
Regards, Diego.
On Sat, 2008-12-13 at 10:49 +0100, Diego Liziero wrote:
Is this still the case after the new mbox changes? Are these UID got too little data all about truncated messages? Are they only happening in Sent mailbox?
So it's expunging more than it has. Not good. :)
participants (2)
-
Diego Liziero
-
Timo Sirainen