[Dovecot] LMTP crash with sdbox and SIS

Bernhard Schmidt berni at birkenwald.de
Wed Jun 12 22:51:57 EEST 2013


Debian Wheezy amd64 plus Stefan's stable-auto/dovecot2.2 repository
2:2.2.2-0~auto+57 = 16495:d447dcc6b611

Crash goes away when I disable mail_attachment_dir, happens with a
fresh home as well

# 2.2.2 (d447dcc6b611): /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-4-amd64 x86_64 Debian 7.0 
disable_plaintext_auth = no
first_valid_uid = 100
mail_attachment_dir = /home/studext/attachment
mail_gid = ext
mail_location = sdbox:~/sdbox:INDEX=~/Index
mail_plugins = quota
mail_uid = studext
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 ihave
namespace inbox {
  inbox = yes
  location = 
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix = INBOX.
  separator = .
}
passdb {
  args = /etc/dovecot/dovecot-ldap.conf.ext
  driver = ldap
}
plugin {
  quota = dict:User quota::file:%h/Maildir/dovecot-quota
  quota_rule = INBOX.Trash:ignore
  quota_rule2 = ?:storage=512M
  sieve = ~/currently-active-script.sieve
  sieve_dir = ~/sieve
}
protocols = " imap lmtp sieve pop3"
service lmtp {
  executable = lmtp -D
  inet_listener lmtp {
    port = 24
  }
}
ssl_cert = </etc/dovecot/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.pem
userdb {
  args = /etc/dovecot/dovecot-ldap.conf.ext
  driver = ldap
}
protocol lmtp {
  mail_plugins = quota sieve
}
protocol imap {
  mail_plugins = quota imap_quota
}

(gdb) bt full
#0  0x00007fc270f11475 in raise () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1  0x00007fc270f146f0 in abort () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#2  0x00007fc2712cbdf8 in default_fatal_finish (type=<optimized out>, status=status at entry=0) at failures.c:191
        backtrace = 0x97e900 "/usr/lib/dovecot/libdovecot.so.0(+0x62dea) [0x7fc2712cbdea] -> /usr/lib/dovecot/libdovecot.so.0(+0x62e2e) [0x7fc2712cbe2e] -> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7fc27128bda5] -> /usr/lib/d"...
#3  0x00007fc2712cbe2e in i_internal_fatal_handler (ctx=0x7fff6b38a7c0, format=<optimized out>, args=<optimized out>)
    at failures.c:652
        status = 0
#4  0x00007fc27128bda5 in i_panic (format=format at entry=0x7fc2712f18c8 "file %s: line %d (%s): assertion failed: (%s)")
    at failures.c:263
        ctx = {type = LOG_TYPE_PANIC, exit_status = 0, timestamp = 0x0}
        args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7fff6b38a8b0, reg_save_area = 0x7fff6b38a7f0}}
#5  0x00007fc2712d4734 in i_stream_read (stream=0x9c3740) at istream.c:163
        _stream = 0x9c36e0
        old_size = 0
        ret = -1
        __FUNCTION__ = "i_stream_read"
#6  0x00007fc2715ca2c9 in index_attachment_save_continue (ctx=0x9b7ef0) at index-attachment.c:206
        storage = 0x9ae590
        attach = 0x9c3310
        data = <optimized out>
        size = 1
        ret = <optimized out>
#7  0x00007fc2715a78a8 in mail_storage_try_copy (mail=0x9a3c60, _ctx=0x7fff6b38a928) at mail-copy.c:80
        ctx = 0x9b7ef0
        pmail = 0x9a3c60
        input = 0x9b57c0
#8  mail_storage_copy (ctx=ctx at entry=0x9b7ef0, mail=mail at entry=0x9a3c60) at mail-copy.c:101
No locals.
#9  0x00007fc271576810 in sdbox_copy (_ctx=<optimized out>, mail=<optimized out>) at sdbox-copy.c:172
        ctx = <optimized out>
        _t = <optimized out>
        mbox = <optimized out>
        __FUNCTION__ = "sdbox_copy"
#10 0x00007fc2706b1320 in quota_copy (ctx=0x9b7ef0, mail=0x9a3c60) at quota-storage.c:220
        t = 0x9b4b70
        qt = 0x9b7e80
        qbox = 0x9b2450
#11 0x00007fc2715afadf in mailbox_copy (_ctx=_ctx at entry=0x7fff6b38aaa8, mail=0x9a3c60) at mail-storage.c:2116
        ctx = 0x9b7ef0
        t = 0x9b4b70
        keywords = 0x0
        pvt_flags = 0
---Type <return> to continue, or q <return> to quit---
        real_mail = <optimized out>
        ret = <optimized out>
        __FUNCTION__ = "mailbox_copy"
#12 0x00007fc2715afb8c in mailbox_save_using_mail (ctx=ctx at entry=0x7fff6b38aaa8, mail=<optimized out>) at mail-storage.c:2147
No locals.
#13 0x00007fc27184ddde in mail_deliver_save (ctx=ctx at entry=0x7fff6b38ac10, mailbox=<optimized out>, flags=flags at entry=0, 
    keywords=keywords at entry=0x0, storage_r=storage_r at entry=0x7fff6b38abe8) at mail-deliver.c:311
        open_ctx = {user = 0x9aa470, lda_mailbox_autocreate = false, lda_mailbox_autosubscribe = false}
        box = 0x9b1e80
        trans_flags = <optimized out>
        t = 0x9b4b70
        save_ctx = 0x0
        headers_ctx = 0x0
        kw = 0x0
        error = MAIL_ERROR_NONE
        mailbox_name = 0x40892f "INBOX"
        errstr = <optimized out>
        guid = 0x7fc271847d98 "W\n"
        changes = {pool = 0x7fc271a52788, uid_validity = 1798876136, saved_uids = {arr = {buffer = 0x9992d0, 
              element_size = 140473107114581}, v = 0x9992d0, v_modifiable = 0x9992d0}, ignored_modseq_changes = 10165232, 
          changed = false, no_read_perm = false}
        default_save = <optimized out>
        ret = 0
        __FUNCTION__ = "mail_deliver_save"
#14 0x00007fc27184e203 in mail_deliver (ctx=ctx at entry=0x7fff6b38ac10, storage_r=storage_r at entry=0x7fff6b38abe8)
    at mail-deliver.c:413
        ret = -1
#15 0x0000000000406282 in client_deliver (session=0x9a8480, src_mail=0x9a3c60, rcpt=0x98b770, client=0x98af00) at commands.c:689
        lda_set = 0x999b00
        ns = <optimized out>
        set_parser = <optimized out>
        line = <optimized out>
        storage = 0x9ae590
        sets = <optimized out>
        mail_error = MAIL_ERROR_NONE
        ret = <optimized out>
        dctx = {pool = 0x9a8460, set = 0x999b00, session = 0x9a8480, dup_ctx = 0x0, 
          session_id = 0x98b710 "zeL+MQ/QuFGZTgAAUJ203Q", src_mail = 0x9a3c60, src_envelope_sender = 0x98b728 "schmidt at xxx.de", 
          dest_user = 0x9aa470, dest_addr = 0x98bd70 "ext44903 at mstoretest.mail.xxx.de", 
          final_dest_addr = 0x98bd70 "ext44903 at mstoretest.mail.xxx.de", dest_mailbox_name = 0x40892f "INBOX", 
          dest_mail = 0x9b8830, var_expand_table = 0x0, tempfail_error = 0x0, tried_default_save = true, saved_mail = false, 
          save_dest_mail = false, mailbox_full = false, dsn = false}
        input = <optimized out>
        mail_set = 0x9992d0
        error = <optimized out>
        username = <optimized out>
#16 client_deliver_next (session=0x9a8480, src_mail=0x9a3c60, client=0x98af00) at commands.c:732
        rcpts = 0x98b770
        count = 1
#17 client_input_data_write_local (input=<optimized out>, client=0x98af00) at commands.c:827
        src_mail = 0x9a3c60
        first_uid = 4294967295
        session = 0x9a8480
        old_uid = 0
#18 client_input_data_write (client=0x98af00) at commands.c:938
        input = 0x99b5b0
        ret = true
#19 client_input_data_handle (client=0x98af00) at commands.c:1032
        data = <optimized out>
        size = 1794
        ret = <optimized out>
#20 0x00007fc2712db996 in io_loop_call_io (io=0x98a3b0) at ioloop.c:387
        ioloop = 0x985700
        t_id = 2
#21 0x00007fc2712dc807 in io_loop_handler_run (ioloop=ioloop at entry=0x985700) at ioloop-epoll.c:215
        ctx = 0x988530
        events = 0x0
        event = 0x9885a0
        list = 0x98a400
        io = <optimized out>
        tv = {tv_sec = 299, tv_usec = 992938}
        events_count = <optimized out>
        msecs = <optimized out>
        ret = 1
        i = <optimized out>
        call = <optimized out>
        __FUNCTION__ = "io_loop_handler_run"
#22 0x00007fc2712db4d8 in io_loop_run (ioloop=0x985700) at ioloop.c:406
No locals.
#23 0x00007fc271291013 in master_service_run (service=0x985590, callback=callback at entry=0x404dd0 <client_connected>)
    at master-service.c:560
No locals.
#24 0x0000000000404c24 in main (argc=2, argv=0x985390) at main.c:122
        set_roots = {0x60a6a0, 0x409260, 0x0}
        service_flags = <optimized out>
        storage_service_flags = 739
        c = <optimized out>




More information about the dovecot mailing list