lmtpd Internal error: asserstion failed: append.c

Shelley Waltz shwaltz at cabm.rutgers.edu
Fri Jun 6 08:51:13 EDT 2008


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
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