Szymon Juraszczyk wrote:
> Package: pyzor Version: 0.4.0+cvs20030201-2 Severity: important
>
> After upgrading pyzor from 0.4.0.0-9 to 0.4.0+cvs20030201-2, a tandem
> Amavisd-new + SpamAssassin stops working and all email gets stuck in the
> mailer queue. Below is example error message from the maillog accompanying
> the problem:
>
> Apr 10 15:08:37 monster amavis[24312]: (24312-01) TROUBLE in check_mail:
> forwarding FAILED: Can't rewind mail file: Invalid seek at
> /usr/local/sbin/amavisd line 3783, <GEN4> line 210
>
> Doesn't seem pyzor related at all, but trying to work out this wierd problem
> and exhausting all other ideas, I eventually remembered that I had updated
> pyzor package a few days earlier. After downgrading pyzor to 0.4.0.0-9
> everything magically started to work again. It's definitely got something to
> do with the pyzor upgrade then.
>
> The error messages resemble the ones described in the bug #295852 actually.
>
> I'm using amavisd-new 2.2.1 (not installed from a Debian package) and
> spamassassin 3.0.2-1 (Debian package).
>

I've been running SA3 + amavisd-new on my servers for a while and the upgrade of
pyzor didn't have that effect on me.  Still, I've looked into this some.

Parsing the error message actually isn't that bad, amavis failed in the
check_mail function, while it was attempting to forward the mail:

<snip>
        # THIRD: now that we know what to do with it, do it!

        if ($forward_method ne '') {  # message must be delivered explicitly
            $which_section = "forwarding";
            ensure_mime_entity($msginfo,$fh,$tempdir,[EMAIL PROTECTED]); #need 
header
            # will forward only to those recipients not yet marked
            # as 'done' by the above content filtering sections
            for (;;) {
                my($hdr_edits) = Amavis::Out::EditHeader->new;
                $hdr_edits = add_forwarding_header_edits_common(
                    $conn,$msginfo,$hdr_edits,$hold,$any_undecipherable,
                    $virus_presence_checked,$spam_presence_checked);
                my($done_all);
                my($recip_cl);  # ref to a list of similar recip objects
                ($hdr_edits,$recip_cl,$done_all) =
                    add_forwarding_header_edits_per_recip(
                        $conn,$msginfo,$hdr_edits,$hold,$any_undecipherable);
                last  if [EMAIL PROTECTED];
                $msginfo->header_edits($hdr_edits);
                mail_dispatch($forward_method,$conn,$msginfo,0,
                              sub {my($r)[EMAIL PROTECTED]; grep {$_ eq $r} 
@$recip_cl} );
                last  if $done_all;
            }
        }
        prolong_timer($which_section);
</snip>

The 'Can't rewind mail file' part is an amavis thing.  Throughout amavis makes
calls like '$msg->seek(0,0) or die "Can't rewind mail file: $!";'  This also
tends to appear in functions that send the mail from amavis, so it's probably
likely that mail_dispatch() calls a function that calls a seek().

Basically, I don't really think at this point that it's a pyzor issue, as pyzor
doesn't give errors like that (the seek errors are different as per #295852).
In addition I can't seem to reproduce it, so if you could either give me details
of your setup and/or jack the debug level way up on amavis that would enable me
to give you some more help and hopefully solve this.

Chris

--
Christopher Sacca <[EMAIL PROTECTED]> | http://csacca.thecsl.org
Americorps CTC VISTA | http://www.cpcs.umb.edu/vista/
1024D/AFF87013 - FC21 092C 95C6 0071 6416  E79B CB46 96A4 AFF8 7013


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to