On Dec 11, 23:32, Philip Guenther wrote:
Subject: Re: problem with procmail.
[... orig deleted ...]
My guess is that there's something broken in the locking somewhere,
Yes, there's definitely a problem when using lockf()-style locking
(at least) under Solaris 2.5*.
perhaps due to locking a file across NFS. For example, I've heard
reports that sgi's NFS version 3 implementation doesn't include the
version 4 of the locking protocol, and that this causes problems when
locking from suns to sgis (I personally cannot confirm or refute
this). Did you specify a diverse enough set of directories for the
locking tests when you (or whoever) installed procmail? We're using
procmail 3.11pre4 as the local delivery agent here on a Solaris 2.5
machine and it's using just dotlocking and fcntl().
If you're groping for ideas then you could use "truss -p" to trace a
hanging procmail process. Just give it the pid of the *oldest*
procmail process (that's the one that's presumably holding up the
others) and it should show you what it's is hanging in, but I'd take
a look at the locking methods before this.
You can run `lslk' <URL:ftp://vic.cc.purdue.edu/pub/tools/unix/lslk>
to list locks, then run `truss -p' or `strace -p' on the offending
process(es). What you'll likely find is a MUA like `mailtool' has
a lock open on /var/mail which is keeping `procmail' (and therefore
`sendmail') from completing local mail delivery. Quitting `mailtool'
will unwedge the logjam. `lslk' is very nice -- it will even list
locks from remote hosts, including pid's.
The above scenario is under Solaris 2.5.1 with `mailtool' running on
a host with an NFS-mounted /var/mail and `procmail' on the mailhost
configured with:
procmail v3.11pre4 1995/10/29 written and created by Stephen R. van den Berg
. . .
Locking strategies: dotlocking, fcntl(), lockf()
Yesterday I noticed the locking problem when an SGI user ran:
xrsh mailhost mailtool
This was curious because I recall there not being delivery trouble as
long as `mailtool' was run on the local mailhost (i.e. non-NFS-mounted
mail spooldir).
Anyway, I haven't fully debugged all this yet (e.g. disabling lockf()
in `procmail'), nor do I have earlier versions of Solaris 2.x and
`mailtool' than 2.5* available for testing. Just wanted to kick in
my current data on the issue.
-sjk
--
Scott J. Kramer 811-X W. California Avenue
UNIX Software Consultant Sunnyvale, CA 94086, USA
<sjk(_at_)lux(_dot_)com> +1.408.736.9242