Hi Andrew, I've mentioned this a few days ago and now I found out that this happens when the user would go over quota. I also use maildir and the quota plugin. I hope this helps a little more.
Nuno Lopes Andrew Garner wrote: > 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=<[EMAIL PROTECTED]>, > 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 "[EMAIL PROTECTED]" > mailbox = 0x80ded98 "INBOX" > auth_socket = <value optimized out> > home = <value optimized out> > destaddr = 0xbfb09f9c "[EMAIL PROTECTED]" > user = 0xbfb09f9c "[EMAIL PROTECTED]" > 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 >