It might not be a fault in dovecot, as the user is accessing the folder locally
with alpine while also running imap-sessions.  However it would have been nice
with a more graceful action than panic?

The panic is preceeded by
 Error: Next message unexpectedly corrupted in mbox file PATH

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)

At #7 in the enclosed backtrace the actual values are
  sync_ctx->input->v_offset = 564
  mail_ctx->mail.from_offset = 564
  sync_ctx->input->eof = 0

Some will recommend convertion to maildir, but with 25 years history, thousands 
of
active users and dozens terrabytes of mboxes, we are not even considering it.

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.15/lib/dovecot/libdovecot-storage.so.0...done.
Loaded symbols for /local/dovecot-2.2.15/lib/dovecot/libdovecot-storage.so.0
Reading symbols from 
/datapool/local/dovecot-2.2.15/lib/dovecot/libdovecot.so.0...done.
Loaded symbols for /local/dovecot-2.2.15/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 86892    ]
#0  0xfe80c8e5 in _lwp_kill () from /lib/libc.so.1
(gdb) #0  0xfe80c8e5 in _lwp_kill () from /lib/libc.so.1
No symbol table info available.
#1  0xfe807765 in thr_kill () from /lib/libc.so.1
No symbol table info available.
#2  0xfe7b376f in raise () from /lib/libc.so.1
No symbol table info available.
#3  0xfe7929e1 in abort () from /lib/libc.so.1
No symbol table info available.
#4  0xfeda1c82 in default_fatal_finish (type=LOG_TYPE_PANIC, status=0) at 
failures.c:152
        backtrace = 0x8093260 "0xfeda2b9f -> 0xfeda1e9b -> 0xfee9f57a -> 
0xfeea207c -> 0xfeea37e9 -> 0xfeea4363 -> 0xfeea45cd -> 0xfeea477d -> 
0xfeecb356 -> 0x8074b45 -> 0x805eeda -> 0x805f463 -> 0x806aad1 -> 0x8069a41 -> 
0x8069d26"...
#5  0xfeda2b9f in i_internal_fatal_handler (ctx=0x80474e0, 
    format=0xfef4c588 "file %s: line %d (%s): assertion failed: (%s)", 
args=0x8047504 "°Æôþ\230")
    at failures.c:152
        status = 0
#6  0xfeda1e9b in i_panic (format=0xfef4c588 "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 = 0x8047504 "°Æôþ\230"
#7  0xfee9f57a in mbox_sync_read_next_mail (sync_ctx=0x8047794, 
mail_ctx=0x804760c)
    at ../../../../src/lib/array.h:158
        __FUNCTION__ = "mbox_sync_read_next_mail"
#8  0xfeea207c in mbox_sync_loop (sync_ctx=0x8047794, mail_ctx=0x804760c, 
partial=false)
    at ../../../../src/lib/array.h:158
        rec = (const struct mail_index_record *) 0x0
        uid = 0
        messages_count = 66
        offset = 564
        ret = 1
        expunged = false
        skipped_mails = true
        uids_broken = false
#9  0xfeea37e9 in mbox_sync_do (sync_ctx=0x8047794, flags=0) at 
../../../../src/lib/array.h:158
        mbox_hdr = (struct mbox_index_header *) 0x80b4a20
        mail_ctx = {sync_ctx = 0x8047794, mail = {uid = 0, idx_seq = 0, 
keywords = {arr = {
        buffer = 0x0, element_size = 0}, v = 0x0, v_modifiable = 0x0}, flags = 
32 ' ', uid_broken = 0, 
    expunged = 0, pseudo = 0, status_broken = 0, xstatus_broken = 0, 
from_offset = 564, body_size = 0, 
    offset = 564, space = 0}, seq = 2, hdr_offset = 564, body_offset = 564, 
  header_first_change = 4294967295, header_last_change = 0, header = 0x809c758, 
  hdr_md5_sum = "Ô\035\214Ù\217\000²\004é\200\t\230ìøB~", content_length = 
18446744073709551615, 
  hdr_pos = {4294967295, 4294967295, 4294967295, 4294967295, 4294967295}, 
parsed_uid = 0, 
  last_uid_updated_value = 0, last_uid_value_start_pos = 0, have_eoh = 0, 
need_rewrite = 0, 
  seen_imapbase = 0, updated = 0, recent = 0, dirty = 0, imapbase_rewrite = 0, 
imapbase_updated = 0}
        st = (const struct stat *) 0x80c0060
        i = 0
        ret = 52
        partial = 1
#10 0xfeea4363 in mbox_sync_int (mbox=0x80b4868, flags=0, lock_id=0x8047988)
    at ../../../../src/lib/array.h:158
        index_sync_ctx = (struct mail_index_sync_ctx *) 0x80b62e0
        sync_view = (struct mail_index_view *) 0x80b6320
        trans = (struct mail_index_transaction *) 0x80c5890
        sync_ctx = {mbox = 0x80b4868, flags = 0, input = 0x80c0180, file_input 
= 0x80c0040, 
  write_fd = 12, orig_mtime = 1414582020, orig_atime = 1414582021, orig_size = 
3843471, last_stat = {
    st_dev = 47513605, st_pad1 = {0, 0, 0}, st_ino = 17869, st_mode = 33152, 
st_nlink = 1, 
    st_uid = 22671, st_gid = 4601, st_rdev = 4294967295, st_pad2 = {0, 0}, 
st_size = 3843471, 
    st_atim = {tv_sec = 1414582021, tv_nsec = 353242309}, st_mtim = {tv_sec = 
1414582020, 
      tv_nsec = 0}, st_ctim = {tv_sec = 1414582021, tv_nsec = 352990278}, 
st_blksize = 131072, 
    st_blocks = 7693, st_fstype = "zfs", '\0' <repeats 12 times>, st_pad4 = {0, 
0, 0, 0, 0, 0, 0, 0}}, 
  index_sync_ctx = 0x80b62e0, sync_view = 0x80b6320, t = 0x80c5890, 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, unused_old_sync_size = 
0, 
    unused_old_sync_stamp = 0, day_stamp = 0, day_first_uid = {0, 0, 0, 0, 0, 
0, 0, 0}}, 
  hdr = 0x80c5b68, header = 0x809c758, from_line = 0x809c6b8, base_uid_validity 
= 1353318516, 
  base_uid_last = 144140, base_uid_last_offset = 250, mails = {arr = {buffer = 
0x809c640, 
      element_size = 52}, v = 0x809c640, v_modifiable = 0x809c640}, 
sync_changes = 0x80ab998, 
  mail_keyword_pool = 0x80bf220, saved_keywords_pool = 0x80bcbe0, prev_msg_uid 
= 0, next_uid = 144141, 
  idx_next_uid = 144141, seq = 2, idx_seq = 1, need_space_seq = 0, 
last_nonrecent_uid = 0, 
  expunged_space = 0, space_diff = 0, dest_first_mail = 0, 
first_mail_crlf_expunged = 0, 
  keep_recent = 0, readonly = 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
        ret = 1
        changed = 1
        delay_writes = true
        readonly = false
        __FUNCTION__ = "mbox_sync_int"
#11 0xfeea45cd in mbox_sync (mbox=0x80b4868, flags=0) at 
../../../../src/lib/array.h:158
        lock_id = 47
        ret = 134957840
        __FUNCTION__ = "mbox_sync"
#12 0xfeea477d in mbox_storage_sync_init (box=0x80b4868, flags=0) at 
../../../../src/lib/array.h:158
        mbox = (struct mbox_mailbox *) 0x80b4868
        mbox_sync_flags = 0
        ret = 0
#13 0xfeecb356 in mailbox_sync_init (box=0x80b4868, flags=0) at 
../../src/lib/array.h:197
        _data_stack_cur_id = 4
        ctx = (struct mailbox_sync_context *) 0x0
#14 0x08074b45 in imap_sync_init (client=0x80b1850, box=0x80b4868, 
imap_flags=0, flags=0)
    at ../../src/lib/array.h:158
        ctx = (struct imap_sync_context *) 0x80b61b0
        __FUNCTION__ = "imap_sync_init"
#15 0x0805eeda in idle_sync_now (box=0x80b4868, ctx=0x80b20e0) at cmd-idle.c:74
        __FUNCTION__ = "idle_sync_now"
#16 0x0805f463 in cmd_idle (cmd=0x80b2058) at cmd-idle.c:74
        client = (struct client *) 0x80b1850
        ctx = (struct cmd_idle_context *) 0x80b20e0
#17 0x0806aad1 in command_exec (cmd=0x80b2058) at imap-commands.c:101
        hook = (const struct command_hook *) 0x809c078
        ret = 8
#18 0x08069a41 in client_command_input (cmd=0x80b2058) at imap-client.c:130
        client = (struct client *) 0x80b1850
        command = (struct command *) 0x3
        __FUNCTION__ = "client_command_input"
#19 0x08069d26 in client_command_input (cmd=0x80b2058) at imap-client.c:130
        client = (struct client *) 0x80b1850
        command = (struct command *) 0x809d3cc
        __FUNCTION__ = "client_command_input"
#20 0x08069e29 in client_handle_next_command (client=0x80b1850, 
remove_io_r=0x8047b9d)
    at imap-client.c:130
No locals.
#21 0x08069ec6 in client_handle_input (client=0x80b1850) at imap-client.c:130
        _data_stack_cur_id = 3
        ret = 10
        remove_io = false
        handled_commands = false
        __FUNCTION__ = "client_handle_input"
#22 0x0806a04f in client_input (client=0x80b1850) at imap-client.c:130
        cmd = (struct client_command_context *) 0x80aaa44
        output = (struct ostream *) 0x80abea8
        bytes = 10
        __FUNCTION__ = "client_input"
#23 0xfedbb235 in io_loop_call_io (io=0x80abf10) at ioloop.c:28
        ioloop = (struct ioloop *) 0x809bfc0
        t_id = 2
        __FUNCTION__ = "io_loop_call_io"
#24 0xfedbc994 in io_loop_handler_run_internal (ioloop=0x809bfc0) at 
ioloop-poll.c:96
        ctx = (struct ioloop_handler_context *) 0x809cab0
        pollfd = (struct pollfd *) 0x809e148
        tv = {tv_sec = 1799, tv_usec = 999001}
        io = (struct io_file *) 0x80abf10
        msecs = 1800000
        ret = 0
        call = true
#25 0xfedbb3ce in io_loop_handler_run (ioloop=0x809bfc0) at ioloop.c:28
No locals.
#26 0xfedbb325 in io_loop_run (ioloop=0x809bfc0) at ioloop.c:28
        __FUNCTION__ = "io_loop_run"
#27 0xfed41dc1 in master_service_run (service=0x809bf08, callback=0x807724a 
<client_connected>)
    at master-service.c:75
No locals.
#28 0x080775e7 in main (argc=2, argv=0x809bd18) at main.c:72
        set_roots = {0x8093080, 0x0}
        login_set = {auth_socket_path = 0x8093188 " 1\t\b", 
postlogin_socket_path = 0x80931c0 "", 
  postlogin_timeout_secs = 60, callback = 0x8076fbe <login_client_connected>, 
  failure_callback = 0x80771cd <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

Reply via email to