stuck lmtpd processes

Andrew Morgan morgan at orst.edu
Wed Sep 24 19:51:24 EDT 2003



On Wed, 24 Sep 2003, Rob Siemborski wrote:

> On Wed, 24 Sep 2003, Andrew Morgan wrote:
>
> > > /dev/urandom for its entropy source, rather than /dev/random?
> >
> > I've already compiled cyrus-sasl to use /dev/urandom.  I'm not sure where
> > else I can change that, assuming this is the problem.
>
> If the IMAP process is trying to read for periods on the order of hours
> I'm having trouble believing that it is a /dev/random blockage (does the
> IMAP process even have /dev/random open?).

You asked for it:  :)

COMMAND   PID  USER   FD   TYPE     DEVICE     SIZE     NODE NAME
imapd   24109 cyrus  cwd    DIR        8,2     4096        2 /
imapd   24109 cyrus  rtd    DIR        8,2     4096        2 /
imapd   24109 cyrus  txt    REG        8,2  1652578  3014725 /usr/local/cyrus/bin/imapd
imapd   24109 cyrus  mem    REG        8,2    90210   180307 /lib/ld-2.2.5.so
imapd   24109 cyrus  mem    REG        8,2   265900    32792 /usr/local/lib/libsasl2.so.2.0.15
imapd   24109 cyrus  mem    REG       8,17     8192 11665411 /private/cyrus/config/db/__db.001
imapd   24109 cyrus  mem    REG        8,2   182084  2064435 /usr/lib/libssl.so.0.9.6
imapd   24109 cyrus  mem    REG        8,2   771908  2064434 /usr/lib/libcrypto.so.0.9.6
imapd   24109 cyrus  mem    REG        8,2    56480   180323 /lib/libresolv-2.2.5.so
imapd   24109 cyrus  mem    REG        8,2   684092  2064403 /usr/lib/libdb3.so.3.0.2
imapd   24109 cyrus  mem    REG        8,2    24328   180305 /lib/libwrap.so.0.7.6
imapd   24109 cyrus  mem    REG        8,2    69472   180315 /lib/libnsl-2.2.5.so
imapd   24109 cyrus  mem    REG        8,2  1153784   180310 /lib/libc-2.2.5.so
imapd   24109 cyrus  mem    REG        8,2     8008   180313 /lib/libdl-2.2.5.so
imapd   24109 cyrus  mem    REG        8,2    98114  3031068 /usr/local/lib/sasl2/libsasldb.so.2.0.15
imapd   24109 cyrus  mem    REG        8,2    75762  3031072 /usr/local/lib/sasl2/libplain.so.2.0.15
imapd   24109 cyrus  mem    REG        8,2    19136   180311 /lib/libcrypt-2.2.5.so
imapd   24109 cyrus  mem    REG        8,2    74972  3031076 /usr/local/lib/sasl2/libanonymous.so.2.0.15
imapd   24109 cyrus  mem    REG       8,17 11658320  9797758 /private/cyrus/config/mailboxes.db
imapd   24109 cyrus  mem    REG        8,2    32668   180318 /lib/libnss_files-2.2.5.so
imapd   24109 cyrus  mem    REG        8,2    12176   180317 /lib/libnss_dns-2.2.5.so
imapd   24109 cyrus  mem    REG       8,17   270336 11665412 /private/cyrus/config/db/__db.002
imapd   24109 cyrus  mem    REG       8,17    98304 11665413 /private/cyrus/config/db/__db.003
imapd   24109 cyrus  mem    REG       8,17 16064512 11665414 /private/cyrus/config/db/__db.004
imapd   24109 cyrus  mem    REG       8,17    24576 11665415 /private/cyrus/config/db/__db.005
imapd   24109 cyrus  mem    REG        8,2    40152   180316 /lib/libnss_compat-2.2.5.so
imapd   24109 cyrus    0u  IPv4   78713359               TCP mail1.onid.oregonstate.edu:imaps->128-193-88-212.ppp.oregonstate.edu:2292 (ESTABLISHED)
imapd   24109 cyrus    1u  IPv4   78713359               TCP mail1.onid.oregonstate.edu:imaps->128-193-88-212.ppp.oregonstate.edu:2292 (ESTABLISHED)
imapd   24109 cyrus    2u  IPv4   78713359               TCP mail1.onid.oregonstate.edu:imaps->128-193-88-212.ppp.oregonstate.edu:2292 (ESTABLISHED)
imapd   24109 cyrus    3w  FIFO        0,5               976 pipe
imapd   24109 cyrus    4u  IPv4        975               TCP *:imaps (LISTEN)
imapd   24109 cyrus    5u   REG       8,17 11658320  9797758 /private/cyrus/config/mailboxes.db
imapd   24109 cyrus    6u   REG       8,17        0 11698181 /private/cyrus/config/socket/imaps.lock
imapd   24109 cyrus    7u   REG       8,17       51 11634478 /private/cyrus/config/proc/24109
imapd   24109 cyrus    8u  unix 0xe6892780          78713478 socket
imapd   24109 cyrus    9u   REG       8,17 10483355 11665946 /private/cyrus/config/db/log.0000000025 (deleted)
imapd   24109 cyrus   10r   REG       8,17 10483355 11665946 /private/cyrus/config/db/log.0000000025 (deleted)
imapd   24109 cyrus   11u   REG       8,17   589824  9797636 /private/cyrus/config/tls_sessions.db
imapd   24109 cyrus   12u   REG       8,17  8843264  9797635 /private/cyrus/config/deliver.db
imapd   24109 cyrus   13uW  REG       8,17      165 11207941 /private/cyrus/mail/s/user/speltsk/Sent Items/cyrus.header
imapd   24109 cyrus   14uW  REG       8,17     2156 11207939 /private/cyrus/mail/s/user/speltsk/Sent Items/cyrus.index
imapd   24109 cyrus   15u   REG       8,17    43628 11207940 /private/cyrus/mail/s/user/speltsk/Sent Items/cyrus.cache
imapd   24109 cyrus   16uW  REG       8,17       16 11371046 /private/cyrus/config/quota/s/user.speltsk
imapd   24109 cyrus   17u   REG       8,17    53248 11207480 /private/cyrus/mail/s/user/speltsk/Sent Items/41.

So it doesn't have /dev/(u)random open.  But it does have a user's message
open.  And the connection is one of our dial-up hosts, so it seems like
that the user's modem connection got abruptly dropped.

> The backtrace isn't terribly illuminating (if it even resembles reality at
> all).

Agreed.  I was hoping it could trace it back into the originating function
in imapd.

It looks like somewhere along the line the read from the network is
getting stuck.  I don't know why this would happen, but maybe there is a
bug in OpenSSL (libcrypto).  However, that doesn't mean that Cyrus should
feel free to hold the lock during a potentially blocking system call...

	Andy





More information about the Info-cyrus mailing list