[Dovecot] 1.0beta2: mbox_sync assert

Jeff A. Earickson jaearick at colby.edu
Tue Jan 24 17:17:28 EET 2006


Timo,
My first assert in beta2.  Syslog said:

Jan 24 09:57:16 emerald dovecot: [ID 107833 mail.error] imap(user): Cached message offset 94625 is invalid for mbox file /var/mail/m/user
Jan 24 09:57:16 emerald dovecot: [ID 107833 mail.error] imap(user): file mbox-sync.c: line 1471 (mbox_sync_do): assertion failed: (!sync_ctx->mbox->mbox_sync_dirty || (flags & MBOX_SYNC_UNDIRTY) == 0)

Gdb analysis on the core file is attached.  My setup:
Solaris 9, mbox format, mbox on NFS filesystem (also S9),
index files on local UFS filesystem.

Jeff Earickson
Colby College
-------------- next part --------------
%gdb imap core
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "sparc-sun-solaris2.9"...
Core was generated by `imap'.
Program terminated with signal 6, Aborted.
Reading symbols from /usr/lib/libdl.so.1...done.
Loaded symbols for /usr/lib/libdl.so.1
Reading symbols from /usr/lib/libsocket.so.1...done.
Loaded symbols for /usr/lib/libsocket.so.1
Reading symbols from /usr/lib/libnsl.so.1...done.
Loaded symbols for /usr/lib/libnsl.so.1
Reading symbols from /usr/lib/librt.so.1...done.
Loaded symbols for /usr/lib/librt.so.1
Reading symbols from /usr/lib/libsendfile.so.1...done.
Loaded symbols for /usr/lib/libsendfile.so.1
Reading symbols from /usr/lib/libc.so.1...done.
Loaded symbols for /usr/lib/libc.so.1
Reading symbols from /usr/lib/libmp.so.2...done.
Loaded symbols for /usr/lib/libmp.so.2
Reading symbols from /usr/lib/libaio.so.1...done.
Loaded symbols for /usr/lib/libaio.so.1
Reading symbols from /usr/lib/libmd5.so.1...done.
Loaded symbols for /usr/lib/libmd5.so.1
Reading symbols from /usr/platform/SUNW,Ultra-1/lib/libc_psr.so.1...done.
Loaded symbols for /usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1
#0  0xff2204f8 in _libc_kill () from /usr/lib/libc.so.1
(gdb) bt
#0  0xff2204f8 in _libc_kill () from /usr/lib/libc.so.1
#1  0xff1b6d18 in abort () from /usr/lib/libc.so.1
#2  0x000735d0 in i_internal_panic_handler (
    fmt=0x87898 "file %s: line %d (%s): assertion failed: (%s)",
    args=0xffbff438) at failures.c:375
#3  0x000730a8 in i_panic (
    format=0x87898 "file %s: line %d (%s): assertion failed: (%s)")
    at failures.c:173
#4  0x0003c2b4 in mbox_sync_do (sync_ctx=0xffbff580, flags=MBOX_SYNC_UNDIRTY)
    at mbox-sync.c:1473
#5  0x0003c90c in mbox_sync (mbox=0xb6a58, flags=MBOX_SYNC_UNDIRTY)
    at mbox-sync.c:1701
#6  0x0003cb6c in mbox_storage_sync_init (box=0xb6a58,
    flags=MAILBOX_SYNC_FLAG_FULL_READ) at mbox-sync.c:1780
#7  0x00064b84 in mailbox_sync_init (box=Variable "box" is not available.
) at mail-storage.c:345
#8  0x000288e4 in imap_sync_nonselected (box=0xb6a58,
    flags=MAILBOX_SYNC_FLAG_FULL_READ) at imap-sync.c:183
#9  0x0002042c in _cmd_select_full (cmd=0xb00b0, readonly=false)
    at cmd-select.c:39
#10 0x000205a0 in cmd_select (cmd=0xb00b0) at cmd-select.c:92
#11 0x00021f98 in client_handle_input (cmd=0xb00b0) at client.c:355
#12 0x0002209c in _client_input (context=Variable "context" is not available.
) at client.c:406
#13 0x00078d74 in io_loop_handler_run (ioloop=0xad970) at ioloop-poll.c:189
#14 0x00078650 in io_loop_run (ioloop=0xad970) at ioloop.c:235
#15 0x0002a7d8 in main (argc=1, argv=0xffbffb54, envp=0xffbffb5c) at main.c:238
(gdb) up 4
#4  0x0003c2b4 in mbox_sync_do (sync_ctx=0xffbff580, flags=MBOX_SYNC_UNDIRTY)
    at mbox-sync.c:1473
1473            if (mbox_sync_handle_eof_updates(sync_ctx, &mail_ctx) < 0)
(gdb) print *sync_ctx
$1 = {mbox = 0xb6a58, flags = MBOX_SYNC_UNDIRTY, input = 0xba5d0,
  file_input = 0xbcde8, write_fd = 6, index_sync_ctx = 0xb6f38,
  sync_view = 0xbd2b0, t = 0xba0d8, hdr = 0xbd2f8, header = 0xaee78,
  from_line = 0xaeae0, base_uid_validity = 1099279918, base_uid_last = 2190,
  base_uid_last_offset = 279, mails = {buffer = 0xaedd8, element_size = 56},
  syncs = {buffer = 0xaec20, element_size = 20}, sync_rec = {uid1 = 0,
    uid2 = 0, type = 0, add_flags = 0 '\0', remove_flags = 0 '\0',
    keyword_idx = 0}, mail_keyword_pool = 0xc81b8, prev_msg_uid = 2190,
  next_uid = 2191, idx_next_uid = 2191, seq = 15, idx_seq = 21,
  need_space_seq = 0, expunged_space = 0, space_diff = 0, dest_first_mail = 0,
  delay_writes = 1}
(gdb) print mail_ctx
$2 = {sync_ctx = 0xffbff580, mail = {uid = 2190, idx_seq = 20, keywords = {
      buffer = 0x0, element_size = 0}, flags = 0 '\0', uid_broken = 0,
    from_offset = 8126406, body_size = 792, offset = 8127145, space = 50},
  seq = 15, hdr_offset = 8126455, body_offset = 8127207,
  header_first_change = 4294967295, header_last_change = 0, header = 0xaee78,
  hdr_md5_sum = "\027??b?\022?Ya??l?\030?N",
  content_length = 18446744073709551615, hdr_pos = {749, 4294967295,
    4294967295, 4294967295, 686}, parsed_uid = 2190,
  last_uid_value_start_pos = 0, have_eoh = 1, need_rewrite = 0,
  seen_imapbase = 0, pseudo = 0, updated = 0, recent = 0, dirty = 0,
  imapbase_rewrite = 0, imapbase_updated = 0}
(gdb) quit


More information about the dovecot mailing list