procmail
[Top] [All Lists]

Working Around Sendmail Bug

2004-02-25 15:23:22
Hi,

I'm running procmail with sendmail on a Redhat Linux system. Please forgive me if any of the below is stupid, I'm still learning this stuff.

Ever since I started using procmail to filter messages through spamassassin (using spamc/spamd), I've been running into a sendmail "knownbug" -- namely:

----------
* Delivery to programs that generate too much output may cause problems

  If e-mail is delivered to a program which generates too much
  output, then sendmail may issue an error:

  timeout waiting for input from local during Draining Input

  Make sure that the program does not generate output beyond a
  status message (corresponding to the exit status).  This may
  require a wrapper around the actual program to redirect output
  to /dev/null.
----------

The effect is that I get a bunch of stalled procmail and sendmail processes (one of each for the message that caused the problem, and an additional one of each for every subsequent message to that user), and of course none of the mail is actually delivered to the user in question. In order to fix the problem, I stop sendmail, killall procmail, killall sendmail, open the user's mailbox (/var/spool/mail/username) in vi and add a newline at the end, and then restart sendmail. If I don't add the newline to the user's mailbox, the problem reappears immediately when I restart sendmail. I have no idea why this is.

With about 20 users, this happens once or twice a day (in total, not each user). It doesn't happen if procmail isn't invoked.

This problem (or similar) has shown up a few times on this list, but I haven't come across a solution that has worked for me. As per David Stern's advice from last June, I've increased the value of "Timeout.Quit" in sendmail.cf, but to no effect.

Basically, I'm wondering if anyone has any advice on how I might go about (from sendmail knownbugs): "Making sure that the program does not generate output beyond a status message (corresponding to the exit status)." As far as I can see, this is the only way I'm going to solve this problem. I assume that it's procmail that is generating the output, but if it's spamassassin, I'll take the question to that list.

Every time spamd is invoked, I get 5 lines in my maillog -- could this be the output that's messing with sendmail?

Thanks for any advice.

Cheers,
Noah

_______________________________________________
procmail mailing list
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail

<Prev in Thread] Current Thread [Next in Thread>
  • Working Around Sendmail Bug, noah <=