[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Compute loop + no processing with spamass-milter
From: |
Dan Nelson |
Subject: |
Re: Compute loop + no processing with spamass-milter |
Date: |
Sun, 18 Aug 2002 16:55:57 -0500 |
User-agent: |
Mutt/1.5.1i |
In the last episode (Aug 17), Terry Kennedy said:
> I'm trying to install the milter on BSD/OS 4.3. I started with the
> 0.1.1 kit, but I get "timeout before data read" from sendmail.
>
> Here's the log. At the point where the logging stops, the milter is
> chewing all available CPU.
>
[snip]
> Aug 10 07:05:37 test2 spamass-milter[11970]: mlfi_eoh: enter
> Aug 10 07:09:37 test2 sm-msp-queue[11971]: g7AB5bdX011971: Milter
> (spamassassin): timeout before data read
>
> At this point the milter is still chewing all available CPU:
> 11970 p0 S 0:00.08 spamass-milter -p /var/run/spamass.sock -d 2
> 11972 p0 R 5:00.34 (spamass-milter)
> later...
> 11970 p0 S 0:00.16 spamass-milter -p /var/run/spamass.sock -d 2
> 11972 p0 R 13:07.12 (spamass-milter)
>
> and it will continue doing that until it is killed. I don't think this is
> related to the poll() emulation as this is the same behavior I was seeing
> with the 0.1.1 version, which used select().
This is wort of weird. There's really nothing in mlfi_eoh. All it
does it write a blank line so spamc knows where the headers stop and
the body starts. Does BSD/OS have strace/truss/ktrace? Try tracing
the milter while it's hung like that and see what syscalls it's
calling. A gdb stack trace might be interesting too.
> If I take a test mail message and do "spamc < test > output", I get
> the expected output, so I'm pretty sure it is in the milter and not
> spamc/spamd. And I tried this with the exact same message that the
> milter wedged on, so that shouldn't be the problem either.
Does it process any emails at all, or is there a special set of killer
messages? If it doesn't do anything, there might be an interaction
with your poll emulation library, especially since the milter is
threaded. I can convert the poll to select easy enough and send you a
patch for testing. Poll is just a nicer interface to use, which is why
I started with it.
--
Dan Nelson
address@hidden