Issue with corrupted mailboxes and imapd -s connections

David Jablonski djablonski at inoc.com
Tue Sep 21 11:56:07 EDT 2010


We had a server crash and have some mailboxes with corruption issues.
We are running reconstructs on those mailboxes but unfortunately they
have a lot of messages and are taking a long time so we have the mail
server running and are telling our users not to access those mailboxes.

The issue is when they do the connection gets created and that imapd -s
process never dies even though the connection to the folder doesn't
work.  I have been individually killing them off myself but is there
anyway to set some sort of timeout on these processes so that these
processes eventually die?  Currently they are just churning and using a
lot of memory and taking connections as we have limited the amount of
connections based on memory constraints.

If you need more information from me please let me know...thanks...

This is the error we see in the maillog:

Sep 21 09:30:46 mailserver imaps[20968]: imaps TLS negotiation failed:
<connection-name> [ip.add.ress]
Sep 21 09:30:46 mailserver imaps[20968]: Fatal error:
tls_start_servertls() failed

I scrubbed the connection details.  Thanks...


Relevent config info:

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

# 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=2 maxchild=20
  imaps		cmd="imapd -s" listen="imaps" prefork=1 maxchild=230
#  pop3		cmd="pop3d" listen="pop3" prefork=0
#  pop3s		cmd="pop3d -s" listen="pop3s" prefork=0
  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 -a" 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
}

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


More information about the Info-cyrus mailing list