Hello Timo,

Today I've moved one message from INBOX to a virtual folder which made imap processes crash as soon as INBOX was selected.

Jun 24 17:24:50 server dovecot: imap(u...@example.com): Panic: file mail-index-view.c: line 149 (view_lookup_full): assertion failed: (seq > 0 && seq <= mail_index_view_get_messages_count(view))

Removing mail_log plugin made it working again. Even after re-enabling mail_log plugin there are no crashes anymore.

The full backtrace and doveconf -n output are attached.

Thanks for your help!

-e-frog
# 2.0.13 (327486d79620): /etc/dovecot/dovecot.conf
# OS: Linux 2.6.38-8-generic-pae i686 Ubuntu 11.04
deliver_log_format = msgid=%m: from=%f: %$
dict {
  dictionary = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
}
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
mail_gid = vmail
mail_home = /home/vmail/%Ld/%Ln
mail_location = mdbox:~/mdbox
mail_plugins = quota virtual fts fts_squat
mail_uid = vmail
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character 
vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy 
include variables body enotify environment mailbox date
namespace {
  hidden = no
  inbox = yes
  list = yes
  location =
  prefix =
  separator = /
  subscriptions = yes
  type = private
}
namespace {
  location = virtual:~/virtual
  prefix = virtual/
  separator = /
  subscriptions = no
  type = private
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
plugin {
  antispam_backend = spool2dir
  antispam_spam = Junk
  antispam_spool2dir_notspam = /home/vmail/learn-ham/%%020lu-%u-%%05luh
  antispam_spool2dir_spam = /home/vmail/learn-spam/%%020lu-%u-%%05lus
  antispam_trash = Trash
  fts = squat
  fts_squat = partial=4 full=10
  quota = dict:user::proxy::dictionary
  sieve = ~/dovecot.sieve
  sieve_before = /home/vmail/etc/sieve-global/
  sieve_dir = ~/sieve
}
postmaster_address = postmas...@example.com
protocols = " imap lmtp sieve"
quota_full_tempfail = yes
service anvil {
  unix_listener anvil {
    user = vmail
  }
}
service auth {
  unix_listener /var/spool/postfix/private/dovecot-auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-userdb {
    mode = 0600
    user = vmail
  }
}
service config {
  unix_listener config {
    mode = 0600
    user = vmail
  }
}
service dict {
  unix_listener dict {
    mode = 0600
    user = vmail
  }
}
service imap-login {
  inet_listener imaps {
    port = 0
  }
  process_min_avail = 2
  service_count = 0
}
service imap {
  executable = imap postlogin
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0660
    user = postfix
  }
  user = vmail
}
service postlogin {
  executable = script-login /home/vmail/bin/dovecot-postlogin.sh
  user = vmail
}
ssl = required
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
userdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
verbose_proctitle = yes
protocol lmtp {
  mail_plugins = quota virtual fts fts_squat sieve
}
protocol imap {
  mail_plugins = quota virtual fts fts_squat imap_quota antispam mail_log notify
}
Jun 24 17:24:50 server dovecot: imap(u...@example.com): Panic: file 
mail-index-view.c: line 149 (view_lookup_full): assertion failed: (seq > 0 && 
seq <= mail_index_view_get_messages_count(view))

Core was generated by `dovecot/imap [user@ex'.
Program terminated with signal 6, Aborted.
#0  0xb7812424 in __kernel_vsyscall ()
(gdb) bt full
#0  0xb7812424 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7596e71 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
        resultvar = <value optimized out>
        resultvar = <value optimized out>
        pid = -1217622028
        selftid = 10683
#2  0xb759a34e in abort () at abort.c:92
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0xb76e6ca8, sa_sigaction = 
0xb76e6ca8}, sa_mask = {__val = {3214349892, 3078818420, 0, 3077418304, 1, 0, 
1, 3078691784, 3077906420, 3077684371, 2, 158149184, 2159, 36, 0,
              3077684608, 3077515099, 3077906420, 0, 0, 3214349968, 3077515519, 
3078691784, 3077493564, 3077416304, 3077906420, 3077906420, 2159, 3214349928, 
3077684910, 3214349900, 10}}, sa_flags = -1080617276,
          sa_restorer = 0xb7752c6c <pid.3763>}
        sigs = {__val = {32, 0 <repeats 31 times>}}
#3  0xb771c675 in default_fatal_finish (type=<value optimized out>, 
status=<value optimized out>) at failures.c:187
        backtrace = 0x96d1a10 "/usr/lib/dovecot/libdovecot.so.0(+0x37661) 
[0xb771c661] -> /usr/lib/dovecot/libdovecot.so.0(+0x376cf) [0xb771c6cf] -> 
/usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0xb76f267e] -> 
/usr/lib/dovecot/libdo"...
#4  0xb771c6cf in i_internal_fatal_handler (ctx=0xbf971734, format=0xb77fbfe0 
"file %s: line %d (%s): assertion failed: (%s)", args=0xbf971754 
"\031\255\200\267\225") at failures.c:645
        status = 0
#5  0xb76f267e in i_panic (format=0xb77fbfe0 "file %s: line %d (%s): assertion 
failed: (%s)") at failures.c:259
        ctx = {type = LOG_TYPE_PANIC, exit_status = 0, timestamp = 0x0}
        args = 0xbf971754 "\031\255\200\267\225"
#6  0xb77ee53f in view_lookup_full (view=0x971ee58, seq=0, map_r=0xbf97190c, 
expunged_r=0xbf9718cf) at mail-index-view.c:149
        broken_rec = {uid = 0, flags = 0 '\000'}
        map = <value optimized out>
        rec = <value optimized out>
        head_rec = <value optimized out>
        __FUNCTION__ = "view_lookup_full"
#7  0xb77e4d10 in tview_lookup_full (view=0x971ee58, seq=0, map_r=0xbf97190c, 
expunged_r=0xbf9718cf) at mail-index-transaction-view.c:146
        tview = 0x971ee58
        rec = <value optimized out>
#8  0xb77edea5 in view_lookup_ext_full (view=0x971ee58, seq=0, ext_id=0, 
map_r=0xbf97190c, data_r=0xbf971908, expunged_r=0xbf9718cf) at 
mail-index-view.c:344
        rec = <value optimized out>
#9  0xb77e51c7 in tview_lookup_ext_full (view=0x971ee58, seq=0, ext_id=0, 
map_r=0xbf97190c, data_r=0xbf971908, expunged_r=0xbf9718cf) at 
mail-index-transaction-view.c:422
        tview = 0x971ee58
        ext_buf = <value optimized out>
        idx = <value optimized out>
        __FUNCTION__ = "tview_lookup_ext_full"
#10 0xb77ee8fa in mail_index_lookup_ext_full (view=0x971ee58, seq=0, ext_id=0, 
map_r=0xbf97190c, data_r=0xbf971908, expunged_r=<value optimized out>) at 
mail-index-view.c:526
        expunged = false
#11 0xb77eec87 in view_lookup_keywords (view=0x971ee58, seq=0, 
keyword_idx=0x972982c) at mail-index-view.c:317
        map = 0xb7751ff4
        data = 0x0
#12 0xb77e47d7 in tview_lookup_keywords (view=0x971ee58, seq=0, 
keyword_idx=0x972982c) at mail-index-transaction-view.c:293
        tview = 0x971ee58
        t = 0x971eb88
        updates = <value optimized out>
        i = <value optimized out>
        count = <value optimized out>
#13 0xb77ee67d in mail_index_lookup_keywords (view=0x971ee58, seq=0, 
keyword_idx=0x972982c) at mail-index-view.c:459
No locals.
#14 0xb77894a2 in index_mail_get_keyword_indexes (_mail=0x97296b0) at 
index-mail.c:192
        mail = 0x97296b0
        data = 0x9729774
#15 0xb7789510 in index_mail_get_keywords (_mail=0x97296b0) at index-mail.c:166
        mail = 0x97296b0
        data = 0x9729774
        names = <value optimized out>
        keyword_indexes = <value optimized out>
        i = <value optimized out>
        count = <value optimized out>
        __FUNCTION__ = "index_mail_get_keywords"
#16 0xb776d1ef in mail_get_keywords (mail=0x97296b0) at mail.c:69
        p = 0x97296b0
#17 0xb753685d in mail_log_append_mail_message_real (ctx=0x971f508, 
mail=0x97296b0, event=MAIL_LOG_EVENT_COPY, desc=0x96d18a0 "copy from INBOX") at 
mail-log-plugin.c:264
        muser = 0x96f7da8
        msg = 0x971f518
        text = 0x96d18c0
        size = 10419
#18 mail_log_append_mail_message (ctx=0x971f508, mail=0x97296b0, 
event=MAIL_LOG_EVENT_COPY, desc=0x96d18a0 "copy from INBOX") at 
mail-log-plugin.c:302
        _data_stack_cur_id = 4
        muser = <value optimized out>
#19 0xb76ddcbe in notify_contexts_mail_copy (src=0x97210e0, dst=0x97296b0) at 
notify-plugin.c:74
        ctx = 0x96f6be8
        mail_txn = <value optimized out>
#20 0xb76deda3 in notify_copy (ctx=0x97258d0, mail=0x97210e0) at 
notify-storage.c:106
        lt = 0x971f4c0
        lbox = <value optimized out>
        ret = <value optimized out>
#21 0xb75148ac in antispam_copy (ctx=0x97258d0, mail=0x97210e0) at mailbox.c:117
        t = 0x971eb18
        asmb = 0x9709030
        asms = 0x9704678
        ast = 0x971fcf0
        asu = 0x96f7db8
        copy_type = <value optimized out>
#22 0xb77756db in mailbox_copy (_ctx=0xbf971c08, mail=0x97210e0) at 
mail-storage.c:1461
        ctx = 0x97258d0
        box = 0x9708bc0
        keywords = 0x0
        ret = <value optimized out>
#23 0x0804f411 in fetch_and_copy (cmd=0x96ff128) at cmd-copy.c:66
        search_ctx = 0x9720f78
        src_trans = 0x971fd58
        srcset_ctx = {str = 0x96d14e8, first_uid = 0, last_uid = 4294967295}
        ret = 1
        save_ctx = 0x0
        mail = 0x97210e0
        copy_count = 1
        src_uidset = 0x96d14e8
#24 cmd_copy (cmd=0x96ff128) at cmd-copy.c:151
        client = 0x96feb28
        dest_ns = <value optimized out>
        dest_storage = <value optimized out>
        destbox = 0x9708bc0
        t = 0x971eb18
        search_args = 0x9707bb8
        messageset = 0x97019e0 "9416"
        mailbox = 0x97019e8 "virtual/Lists"
        storage_name = 0x97019f0 "Lists"
        src_uidset = <value optimized out>
        status = MAILBOX_NAME_EXISTS_MAILBOX
        sync_flags = 0
        imap_flags = 0
        changes = {pool = 0xbf971d0c, uid_validity = 3214351384, saved_uids = 
{arr = {buffer = 0x96d11d0, element_size = 158331176}, v = 0x96d11d0, 
v_modifiable = 0x96d11d0}, ignored_modseq_changes = 158341592}
        copy_count = <value optimized out>
        msg = <value optimized out>
        ret = <value optimized out>
        __FUNCTION__ = "cmd_copy"
---Type <return> to continue, or q <return> to quit---
#25 0x080561dc in client_command_input (cmd=0x96ff128) at imap-client.c:672
        client = 0x96feb28
        command = <value optimized out>
        __FUNCTION__ = "client_command_input"
#26 0x080562a8 in client_command_input (cmd=0x96ff128) at imap-client.c:722
        client = 0x96feb28
        command = <value optimized out>
        __FUNCTION__ = "client_command_input"
#27 0x080564fd in client_handle_next_command (client=0x96feb28) at 
imap-client.c:763
        size = 33
#28 client_handle_input (client=0x96feb28) at imap-client.c:775
        _data_stack_cur_id = 3
        ret = false
        remove_io = false
        handled_commands = false
        __FUNCTION__ = "client_handle_input"
#29 0x08056e0f in client_input (client=0x96feb28) at imap-client.c:814
        cmd = <value optimized out>
        output = 0x96ff04c
        bytes = 33
        __FUNCTION__ = "client_input"
#30 0xb772a001 in io_loop_call_io (io=0x96ff0a8) at ioloop.c:384
        ioloop = 0x96d9398
        t_id = 2
#31 0xb772b233 in io_loop_handler_run (ioloop=0x96d9398) at ioloop-epoll.c:213
        ctx = 0x96d94c0
        events = <value optimized out>
        event = 0x96d9500
        list = 0x96ff0d0
        io = <value optimized out>
        tv = {tv_sec = 4, tv_usec = 928551}
        events_count = 158331088
        msecs = 1
        ret = 1
        i = <value optimized out>
        j = <value optimized out>
        call = <value optimized out>
#32 0xb7729f80 in io_loop_run (ioloop=0x96d9398) at ioloop.c:405
No locals.
#33 0xb77156ea in master_service_run (service=0x96d92e8, callback=0x805eff0 
<client_connected>) at master-service.c:481
No locals.
#34 0x0805f9dd in main (argc=2, argv=0xbf971f94) at main.c:375
        set_roots = {0x8062340, 0x0}
        service_flags = <value optimized out>
        storage_service_flags = <value optimized out>
        postlogin_socket_path = <value optimized out>
        username = <value optimized out>
        c = <value optimized out>

Reply via email to