http://bugzilla.spamassassin.org/show_bug.cgi?id=3917





------- Additional Comments From [EMAIL PROTECTED]  2004-11-02 00:58 -------
Subject: Re:  SpamC is reporting "failed sanity check" on some messages

I was more thinking of making sure that SO_LINGER is set correctly.  This
really sounds like a classic case of linger being set to zero so the
trailing stuff gets flushed.  I have no idea if that is accessible at the
perl level, but you might be able to dig into the socket implementation code
and see what it is doing.

Alternate test that might work:  Try doing a shutdown, wait 1, then close.

I think you said a sleep before the close didn't help by itself, which is
potentially not unreasonable - the data might not have been flushed yet,
even with a longish delay.  I *think* that a shutdown and a short wait
before the close might maybe do as a workaround.  However, if it does, it is
still a workaround for quite possibly the incorrect value of SO_LINGER in
the original setsockopt call.

I do know that the Win NT/2K/XP socket implementation of TCP doesn't
normally lose data when used correctly.  There have been busted drivers in
the past that would cause this.  But that was pretty long ago, and it seems
highly unlikely that *everyone* would just happen to have one of these, and
it only fails when used from perl.  So my current guess is that there is/are
bug(s) in the perl socket code.  Linger is a pretty classic mistake a lot of
people make.

        Loren





------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

Reply via email to