procmail
[Top] [All Lists]

Re: problem with procmail.

1996-12-12 12:09:43
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

<Prev in Thread] Current Thread [Next in Thread>