Author: John W. Baxter Date: To: exim-users Subject: Re: [exim] "python traceback" warning from pyzor on every
SA-scanned email
On 7/27/10 1:14 AM, "Graeme Fowler" <graeme@???> wrote:
> Hi
>
> Firstly - you might need to ask this on a SA list rather than here,
> however...
>
> On Mon, 2010-07-26 at 13:09 -0700, Phillip Carroll wrote:
>> Notice the "internal error" line for pyzor. I can't figure out how to get
>> rid of this issue.
>
> OK...
>
>> and:
>> "run the following test:
>> # spamassassin -D pyzor -t < some.msg
>>
>> When the debug test is run from the console, no problem appears.
>> ===============snip=============================
>> Jul 26 12:45:22.275 [1139] dbg: pyzor: network tests on, attempting Pyzor
>> Jul 26 12:45:24.790 [1139] dbg: pyzor: pyzor is available: /usr/bin/pyzor
>> Jul 26 12:45:24.791 [1139] dbg: pyzor: opening pipe: /usr/bin/pyzor check <
>> /tmp
>> /.spamassassin1139jQFf0Etmp
>> Jul 26 12:45:25.001 [1139] dbg: pyzor: [1140] finished successfully
>> Jul 26 12:45:25.001 [1139] dbg: pyzor: got response: public.pyzor.org:24441
>> (200
>> , 'OK') 191 0
>> Jul 26 12:45:25.002 [1139] dbg: pyzor: listed: COUNT=191/5 WHITELIST=0
>> ===============snip=============================
>
> Your debug test is running as root. Exim, and SpamAssassin, almost
> certainly are not. That's the first clue.
>
>> Two questions:
>> (1) Does the warning mean pyzor is not doing anything for me?
>
> Almost certainly.
>
>> (2) How do I find out what is causing this error, since it obviously works
>> under debug.
>
> Try running it as the Exim or spamd user and see what happens. I would
> surmise that something in the Pyzor config is only readable by root, or
> it has some state file (I know little about how it works) which is only
> writeable by root.
>
> You may find more detail (like the traceback itself) in your SA logs -
> most likely in /var/log/maillog.
It is possible that the problem was triggered by doing an initial test using
the command line shown above, as root. That could have created a file only
root can read or write. Or it could be something else entirely, of course.
Python tracebacks, for one with Python knowledge, can be very useful. It's
annoying when they get truncated (Exim does that when we pipe to a Python
program which fails (every few days, for reasons we haven't figured
out--retries do not fail--it's always a message from a mobile device on
AT&T, which should narrow it down)). A switch to get more than one line
logged would be nice--I hope I haven't missed such a thing now that I've
ranted.