[Dovecot] dovecot deliver errors

Andrew Garner muzazzi at gmail.com
Tue Dec 11 06:45:38 EET 2007


I think someone else mentioned this problem earlier on the list, and
I've recently started seeing the following error show up:

file index-transaction.c: line 54 (index_transaction_finish_rollback):
assertion failed: (t->mail_ref_count == 0)
Raw backtrace: /usr/lib/dovecot/deliver(i_syslog_fatal_handler+0x2b)
[0x80bff0b] -> /usr/lib/dovecot/deliver [0x80bfd1a] ->
/usr/lib/dovecot/deliver [0x808f783] ->
/usr/lib/dovecot/deliver(index_transaction_rollback+0x1a) [0x808f5aa]
-> /usr/lib/dovecot/modules/lda//lib10_quota_plugin.so [0xb7e6d013] ->
/usr/lib/dovecot/deliver(deliver_save+0x202) [0x8059812] ->
/usr/lib/dovecot/modules/lda//lib90_cmusieve_plugin.so [0xb7e4bb1d] ->
/usr/lib/dovecot/modules/lda//lib90_cmusieve_plugin.so [0xb7e5bdbc] ->
/usr/lib/dovecot/modules/lda//lib90_cmusieve_plugin.so(sieve_execute_bytecode+0x1c4)
[0xb7e5c7d4] ->
/usr/lib/dovecot/modules/lda//lib90_cmusieve_plugin.so(cmu_sieve_run+0x30c)
[0xb7e4c7bc] -> /usr/lib/dovecot/modules/lda//lib90_cmusieve_plugin.so
[0xb7e4a81f] -> /usr/lib/dovecot/deliver(main+0x10c0) [0x805a990] ->
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xc8) [0xb7e86ea8] ->
/usr/lib/dovecot/deliver [0x80588e1]


With beta11 I started running into this problem (using postfix's
smtp-source messages):

postfix/pipe[19560]: 85372294: to=<example at example.com>,
relay=dovecot, delay=20385, delays=20384/0.01/0/0.19, dsn=5.3.0,
status=bounced (Command died with signal 11: "/usr/
lib/dovecot/deliver")

Program received signal SIGSEGV, Segmentation fault.
0x080d017a in str_sanitize_append (dest=0x80ee2f8, src=0x0, max_len=80)
    at str-sanitize.c:11
11      str-sanitize.c: No such file or directory.
        in str-sanitize.c
(gdb) #0  0x080d017a in str_sanitize_append (dest=0x80ee2f8, src=0x0,
max_len=80)
    at str-sanitize.c:11
        p = <value optimized out>
#1  0x080d02ce in str_sanitize (src=0x0, max_len=80) at str-sanitize.c:35
        str = (string_t *) 0x80ee2f8
#2  0x080594f4 in deliver_log (mail=0x8107a48,
    fmt=0x80d349b "saved mail to %s") at deliver.c:120
        args = 0xbfb087d8 "\200<DA>\016\b"
        str = (string_t *) 0x80ee120
#3  0x0805979f in deliver_save (namespaces=0x80f7a90, storage_r=0xbfb088e8,
    mailbox=0x80ded98 "INBOX", mail=0x8107a48, flags=0, keywords=0x0)
    at deliver.c:222
        box = (struct mailbox *) 0x810be58
        t = (struct mailbox_transaction_context *) 0x0
        kw = (struct mail_keywords *) 0x0
        error = MAIL_ERROR_NONE
        mailbox_name = 0x80eda80 "INBOX"
        ret = 0
#4  0x0805ac15 in main (argc=5, argv=Cannot access memory at address 0x4
) at deliver.c:954
        error_string = <value optimized out>
        error = <value optimized out>
        ret = <value optimized out>
        config_path = 0x80d34ba "/etc/dovecot/dovecot.conf"
        envelope_sender = 0x80ed030 "example at foo.net"
        mailbox = 0x80ded98 "INBOX"
        auth_socket = <value optimized out>
        home = <value optimized out>
        destaddr = 0xbfb09f9c "example at example.com"
        user = 0xbfb09f9c "example at example.com"
        error = <value optimized out>
        extra_fields = {arr = {buffer = 0x80ed080, element_size = 4},
  v = 0x80ed080, v_modifiable = 0x80ed080}
        ns = (struct mail_namespace *) 0x80f7a90
        raw_ns = (struct mail_namespace *) 0x80f7ab8
        storage = (struct mail_storage *) 0x80f7e98
        box = (struct mailbox *) 0x8102768
        input = (struct istream *) 0x80f8670
        t = (struct mailbox_transaction_context *) 0x8106be8
        headers_ctx = (struct mailbox_header_lookup_ctx *) 0x8106508
        mail = (struct mail *) 0x8107a48
        process_euid = 89
        namespace_pool = <value optimized out>
        stderr_rejection = false
        keep_environment = false
        user_auth = true
        i = 63
        ret = <value optimized out>


# dovecot -n
# 1.1.beta11: /etc/dovecot/dovecot.conf
base_dir: /var/run/dovecot/
protocols: imap imaps pop3 pop3s
login_dir: /var/run/dovecot/login
login_executable(default): /usr/lib/dovecot/imap-login
login_executable(imap): /usr/lib/dovecot/imap-login
login_executable(pop3): /usr/lib/dovecot/pop3-login
verbose_proctitle: yes
mail_uid: 89
mail_gid: 89
mail_location: maildir:~/Maildir
mmap_disable: yes
mail_nfs_storage: yes
mail_nfs_index: yes
mail_executable(default): /usr/lib/dovecot/rawlog /usr/lib/dovecot/imap
mail_executable(imap): /usr/lib/dovecot/rawlog /usr/lib/dovecot/imap
mail_executable(pop3): /usr/lib/dovecot/pop3
mail_plugins(default): fts fts_squat
mail_plugins(imap): fts fts_squat
mail_plugins(pop3): quota
mail_plugin_dir(default): /usr/lib/dovecot/modules/imap/
mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap/
mail_plugin_dir(pop3): /usr/lib/dovecot/modules/
imap_client_workarounds(default): delay-newmail
imap_client_workarounds(imap): delay-newmail
imap_client_workarounds(pop3):
pop3_uidl_format(default): %08Xu%08Xv
pop3_uidl_format(imap): %08Xu%08Xv
pop3_uidl_format(pop3): %f
pop3_client_workarounds(default):
pop3_client_workarounds(imap):
pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh
auth default:
  mechanisms: login plain cram-md5 digest-md5
  username_format: %Lu
  verbose: yes
  debug: yes
  passdb:
    driver: sql
    args: /etc/dovecot/dovecot-sql.conf
  userdb:
    driver: sql
    args: /etc/dovecot/dovecot-sql.conf
  socket:
    type: listen
    client:
      path: /var/spool/postfix/private/auth
      user: postfix
      group: postfix
    master:
      path: /var/run/dovecot/auth-master
      user: vmail
      group: vmail
plugin:
  quota: maildir
  quota_rule: *:storage=102400:messages=30000
  fts: squat


More information about the dovecot mailing list