lmtpd Internal error: asserstion failed: append.c

Shelley Waltz shwaltz at cabm.rutgers.edu
Fri Jun 6 12:12:00 EDT 2008


After further debugging, I discovered that
/var/spool/imap/stage.  and /var/spool/imap/sync.
were owned by root.root rather than cyrus.mail
I am puzzled by how this could be, but once I changed the ownership, it
worked fine.  Thanks much for the help.
S
Alain Spineux said:
> On Fri, Jun 6, 2008 at 2:51 PM, Shelley Waltz <shwaltz at cabm.rutgers.edu>
> wrote:
>>
>> Shelley Waltz said:
>>> I am running a postfix-cyrus-amavis configuration.  This is a new setup
>>> and I am testing sending a simple local message.  I receive this error
>>> in
>>> attempting
>>> delivery ...
>>>
>>> (host domain.edu[/var/lib/imap/socket/lmtp] said: 421 4.3.0 lmtpd:
>>> Internal error: assertion failed: append.c: 479: stage != NULL &&
>>> stage->parts[0] != '\0' (in reply to end of DATA command))
>>>
>>> What might cause this?
>>>
>>> ----
>>> Cyrus Home Page: http://cyrusimap.web.cmu.edu/
>>> Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
>>> List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
>>>
>> I am still stumped by this.  Here is more information.
>>
>> RHEL5 cyrus-imapd-2.3.7-2.el5
>
> A real Redhat ? Then you should have support and should ask them !
>
> Is it a random or recurrent problem ?
> Is it a 64bit OS ?
> Can you try to send the same email to two of _YOUR_ user
>
> As workaround, you coul try this :
>
> - Can you try to add this is imapd.conf
>
> singleinstancestore: 0
>
> - as last resort you could try to replace
>
> mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp
> by
> local_transport = lmtp:unix:/var/lib/imap/socket/lmtp
>
>
>
>> cyrus.conf
>>
>> # standard standalone server implementation
>>
>> START {
>>  # do not delete this entry!
>>  recover        cmd="ctl_cyrusdb -r"
>>
>>  # this is only necessary if using idled for IMAP IDLE
>>  idled                cmd="idled"
>>
>>  # replication services - for master server
>> #syncclient cmd="/usr/lib/cyrus-imapd/sync_client -r" listen="csync"
>> }
>>
>> # UNIX sockets start with a slash and are put into /var/lib/imap/sockets
>> SERVICES {
>>  # add or remove based on preferences
>>  imap                cmd="imapd" listen="imap" prefork=5
>>  imaps                cmd="imapd -s" listen="imaps" prefork=1
>>  pop3                cmd="pop3d" listen="pop3" prefork=3
>>  pop3s                cmd="pop3d -s" listen="pop3s" prefork=1
>>  sieve                cmd="timsieved" listen="sieve" prefork=0
>>
>>  # these are only necessary if receiving/exporting usenet via NNTP
>> #  nntp                cmd="nntpd" listen="nntp" prefork=3
>> #  nntps                cmd="nntpd -s" listen="nntps" prefork=1
>>
>>  # at least one LMTP is required for delivery
>> #  lmtp                cmd="lmtpd" listen="lmtp" prefork=0
>>  lmtpunix        cmd="lmtpd" listen="/var/lib/imap/socket/lmtp"
>> prefork=1
>>
>>  # this is only necessary if using notifications
>> #  notify        cmd="notifyd" listen="/var/lib/imap/socket/notify"
>> proto="udp"
>> prefork=1
>>
>>  # replication services - for replica server
>> #syncserver cmd="/usr/lib/cyrus-imapd/sync_server" listen="csync"
>> }
>>
>> EVENTS {
>>  # this is required
>>  checkpoint        cmd="ctl_cyrusdb -c" period=30
>>
>>  # this is only necessary if using duplicate delivery suppression,
>>  # Sieve or NNTP
>>  delprune        cmd="cyr_expire -E 3" at=0400
>>
>>  # this is only necessary if caching TLS sessions
>>  tlsprune        cmd="tls_prune" at=0400
>> }
>>
>>
>> imapd.conf
>> configdirectory: /var/lib/imap
>> partition-default: /var/spool/imap
>> quotawarn: 75
>> admins: cyrus cyrusadmin
>> sievedir: /var/lib/imap/sieve
>> sieve_maxscriptsize: 64
>> sendmail: /usr/sbin/sendmail
>> hashimapspool: true
>> allowplaintext: 1
>> sasl_pwcheck_method: saslauthd
>> sasl_mech_list: PLAIN LOGIN
>> allowapop: 0
>> autocreatequota: 250000
>> autocreateinboxfolders: Sent|Trash|AAA-Spam|AAA-Virus
>> autosubscribeinboxfolders: Sent|Trash|AAA-Spam|AAA-Virus
>> autosubscribesharedfolders: Report-SPAM|Report-NOTSPAM
>> #autocreate_sieve_script:
>> #autocreate_sieve_compiledscript:
>> #generate_compiled_sieve_script: 0
>> #sync_machineid: 1
>> sync_authname: replica
>> sync_log: 1
>> sync_host: replica.domain.edu
>> sync_repeat_interval: 5
>> sync_password: xxxxxxx
>> tls_cert_file: /etc/pki/tls/certs/imapdcert.pem
>> tls_key_file: /etc/pki/tls/certs/imapdkey.pem
>> tls_ca_file: /etc/pki/tls/certs/ca-bundle.crt
>> annotation_db: skiplist
>> duplicate_db: skiplist
>> mboxkey_db: skiplist
>> mboxlist_db: skiplist
>> ptscache_db: skiplist
>> quota_db: quotalegacy
>> seenstate_db: skiplist
>> subscription_db: flat
>> tlscache_db: skiplist
>>
>>
>> postfix/main.cf
>>
>> debug_peer_list = 127.0.0.1 a.b.c.d/24
>> alias_database = hash:/etc/postfix/aliases
>> alias_maps = hash:/etc/postfix/aliases
>> mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp
>> #
>> myhostname = master.domain.edu
>> mydomain = domain.edu
>> myorigin = $mydomain
>> mydestination = $myhostname, localhost.$mydomain, $mydomain
>> mynetworks = a.b.c.d/24 127.0.0.0/8
>> masquerade_domains = domain.edu
>> local_recipient_maps = $alias_maps
>> local_transport = local
>> queue_minfree = 75000000
>> message_size_limit = 50000000
>> content_filter = smtp-amavis:[127.0.0.1]:10024
>> max_use = 10
>> # sasl auth config
>> broken_sasl_auth_clients = yes
>> smtpd_sasl_auth_enable = yes
>> smtpd_sasl_security_options = noanonymous
>> smtpd_sasl_tls_security_options = $smtpd_sasl_security_options
>> smtpd_sasl_local_domain =
>> # smtp restrictions to prevent UCE
>> smtpd_delay_reject = yes
>> smtpd_helo_required = yes
>> disable_vrfy_command = yes
>> smtpd_client_restrictions =
>>        check_client_access hash:/etc/postfix/access,
>>        permit
>> smtpd_helo_restrictions =
>>        permit_mynetworks,
>>        reject_invalid_hostname,
>>        check_helo_access hash:/etc/postfix/helo_access,
>>        permit
>> smtpd_recipient_restrictions =
>>        permit_sasl_authenticated,
>>        permit_mynetworks,
>>        reject_unauth_destination,
>>        reject_rbl_client zen.spamhaus.org,
>>        reject_rbl_client bl.spamcop.net,
>>        reject_rbl_client psbl.surriel.com,
>>        permit
>> notify_classes = bounce, policy, protocol, resource, software
>> # tls for smtp auth and relaying
>> # Opportunistic TLS - TLS tried first, but otherwise delivery continues
>> using clear
>> # smtpd_use_tls = yes  !deprecated, use next line
>> smtpd_tls_security_level = may
>> smtpd_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt
>> smtpd_tls_cert_file = /etc/pki/tls/certs/smtpdcert.pem
>> smtpd_tls_key_file = /etc/pki/tls/certs/smtpdkey.pem
>> smtpd_tls_loglevel = 2
>> smtpd_tls_received_header = yes
>> smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd.scache
>> smtpd_tls_session_cache_timeout = 3600s
>> tls_random_source = dev:/dev/urandom
>>
>> postfix/master.cf
>>
>> smtp      inet  n       -       n       -       -       smtpd
>> 81        inet  n       -       n       -       -       smtpd
>>  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject -v
>> #submission inet n       -       n       -       -       smtpd
>> #  -o smtpd_enforce_tls=yes
>> #  -o smtpd_sasl_auth_enable=yes
>> #  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
>> #smtps     inet  n       -       n       -       -       smtpd
>> #  -o smtpd_tls_wrappermode=yes
>> #  -o smtpd_sasl_auth_enable=yes
>> #  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
>> #628      inet  n       -       n       -       -       qmqpd
>> pickup    fifo  n       -       n       60      1       pickup
>> cleanup   unix  n       -       n       -       0       cleanup
>> qmgr      fifo  n       -       n       300     1       qmgr
>> #qmgr     fifo  n       -       n       300     1       oqmgr
>> tlsmgr    unix  -       -       n       1000?   1       tlsmgr
>> rewrite   unix  -       -       n       -       -       trivial-rewrite
>> bounce    unix  -       -       n       -       0       bounce
>> defer     unix  -       -       n       -       0       bounce
>> trace     unix  -       -       n       -       0       bounce
>> verify    unix  -       -       n       -       1       verify
>> flush     unix  n       -       n       1000?   0       flush
>> proxymap  unix  -       -       n       -       -       proxymap
>> smtp      unix  -       -       n       -       -       smtp
>> # When relaying mail as backup MX, disable fallback_relay to avoid MX
>> loops
>> relay     unix  -       -       n       -       -       smtp
>>        -o fallback_relay=
>> #       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
>> showq     unix  n       -       n       -       -       showq
>> error     unix  -       -       n       -       -       error
>> discard   unix  -       -       n       -       -       discard
>> local     unix  -       n       n       -       -       local
>> virtual   unix  -       n       n       -       -       virtual
>> lmtp      unix  -       -       n       -       -       lmtp
>> anvil     unix  -       -       n       -       1       anvil
>> scache          unix        -        -        n        -        1
>> scache
>> #
>> # ====================================================================
>> # Interfaces to non-Postfix software. Be sure to examine the manual
>> # pages of the non-Postfix software to find out what options it wants.
>> #
>> # Many of the following services use the Postfix pipe(8) delivery
>> # agent.  See the pipe(8) man page for information about ${recipient}
>> # and other message envelope options.
>> # ====================================================================
>> #
>> # Amavisd-new Mail/Virus Scanning daemon
>> smtp-amavis unix -      -       n       -       4  lmtp
>>    -o lmtp_data_done_timeout=1200
>>    -o lmtp_send_xforward_command=yes
>>    -o disable_dns_lookups=yes
>>    -o max_use=20
>>
>> 127.0.0.1:10025 inet n  -       n       -       -  smtpd
>>    -o content_filter=
>>    -o smtpd_delay_reject=no
>>    -o smtpd_client_restrictions=permit_mynetworks,reject
>>    -o smtpd_helo_restrictions=
>>    -o smtpd_sender_restrictions=
>>    -o smtpd_recipient_restrictions=permit_mynetworks,reject
>>    -o smtpd_data_restrictions=reject_unauth_pipelining
>>    -o smtpd_end_of_data_restrictions=
>>    -o smtpd_restriction_classes=
>>    -o mynetworks=127.0.0.0/8
>>    -o smtpd_error_sleep_time=0
>>    -o smtpd_soft_error_limit=1001
>>    -o smtpd_hard_error_limit=1000
>>    -o smtpd_client_connection_count_limit=0
>>    -o smtpd_client_connection_rate_limit=0
>>    -o
>> receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters
>>    -o local_header_rewrite_clients=
>> #
>> # maildrop. See the Postfix MAILDROP_README file for details.
>> # Also specify in main.cf: maildrop_destination_recipient_limit=1
>> #
>> maildrop  unix  -       n       n       -       -       pipe
>>  flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
>> #
>> # The Cyrus deliver program has changed incompatibly, multiple times.
>> #
>> old-cyrus unix  -       n       n       -       -       pipe
>>  flags=R user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -m ${extension}
>> ${user}
>> # Cyrus 2.1.5 (Amos Gouaux)
>> # Also specify in main.cf: cyrus_destination_recipient_limit=1
>> cyrus     unix  -       n       n       -       -       pipe
>>  user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -r ${sender} -m
>> ${extension} ${user}
>> #
>> # See the Postfix UUCP_README file for configuration details.
>> #
>> uucp      unix  -       n       n       -       -       pipe
>>  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail
>> ($recipient)
>> #
>> # Other external delivery methods.
>> #
>> ifmail    unix  -       n       n       -       -       pipe
>>  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
>> bsmtp     unix  -       n       n       -       -       pipe
>>  flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop
>> $recipient
>>
>>
>> Any suggestions on causes for the lmtp error are appreciated.
>> S
>>


More information about the Info-cyrus mailing list