couldn't connect to lmtpd: Bad file descriptor

Louis LeBlanc Cyrus at
Sat Jul 24 14:53:15 EDT 2004

Hey everyone.  I'm starting to get frustrated with this.  I'm hitting
a dead end with docs and online searches, and I'm starting to wonder
if anyone has any clue what the problem is.

I'm running Cyrus-imapd 2.2.6 on FreeBSD 5.2.1 RELEASE.  My active
server (the one I'm trying to retire) is running Cyrus-imapd 2.0.17 on
FreeBSD 4.10 RELEASE (on an increasingly questionable piece of

The general setup I'm aiming for is:
sendmail -> procmail -> deliver -> cyrus
This is what I have working on the current system.

My online search for the error message:
"couldn't connect to lmtpd: Bad file descriptor"
yielded only my last query about the problem - to which I had no
reply, and one very similar one from 2 years ago, which also had no

That message shows up in the procmail log.  The entry used to call
deliver is:
:0 w
* FOLDER ?? .
| /usr/local/cyrus/bin/deliver -q -m "$FOLDER" -a "$LOGNAME" "$LOGNAME"
:0 wE
| /usr/local/cyrus/bin/deliver -q -a "$LOGNAME" "$LOGNAME"

The point here is to call with a mailbox spec (in $FOLDER) if there is
one, and without if not.  Basically the same thing I was using with

A full procmail log entry looks like this:
procmail: Executing "/usr/local/cyrus/bin/deliver,-q,-m,root,-a,leblanc,leblanc"
couldn't connect to lmtpd: Bad file descriptor
procmail: Program failure (75) of "/usr/local/cyrus/bin/deliver"
procmail: Assigning "LASTFOLDER=/usr/local/cyrus/bin/deliver -q -m root -a leblanc leblanc"
procmail: Assigning "EXITCODE=75"

The maillog looks like this:
Jul 24 14:42:27 key2 sm-mta[43107]: i6OGZYfQ000441: to=leblanc+root,
delay=02:05:05, xdelay=00:00:14, mailer=local, pri=401004, relay=root,
dsn=4.0.0, stat=Deferred: local mailer (/usr/local/bin/procmail)
exited with EX_TEMPFAIL

I've found nothing to explain it in the FAQ or the distribution docs.

The master process is running, and listening on the socket, which IS a
valid socket as far as I can tell:

<root># sockstat -u | grep lmtp
cyrus    master     526   19 stream /var/imap/socket/lmtp
<root># file /var/imap/socket/lmtp
/var/imap/socket/lmtp: socket

cyrus.conf contains the default config in the SERVICES section:
  lmtpunix      cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=0

and imapd.conf contains the following:
lmtpsocket: /var/imap/socket/lmtp

There is no lmtpd process running so far as I can tell, so I'm not
sure what's going on there.

Any ideas?  I'd really appreciate SOME pointer here.

Cyrus Home Page:
Cyrus Wiki/FAQ:
List Archives/Info:

More information about the Info-cyrus mailing list