http://issues.apache.org/SpamAssassin/show_bug.cgi?id=4696
------- Additional Comments From [EMAIL PROTECTED] 2006-01-25 04:17 -------
I've run into this on my own server, btw, and it was *definitely* load-related
there. It doesn't take a lot of load to cause it, either.
What happens is, the select call uses a 2-second timeout.
Now, this alarm in question is intended to "sanity-check" that select call and
catch the case where it ignores that timeout. It does this by doubling the
select's timeout, and if this second (backup) timeout is hit, it complains,
because select() should have timed out itself, instead of the backup timeout
being hit:
# use alarm to back up select()'s built-in alarm, to debug theo's bug
eval {
Mail::SpamAssassin::Util::trap_sigalrm_fully(sub { die "pf select timeout";
});
alarm ($tout*2) if ($tout);
($nfound, $timeleft) = select($rout=$rin, undef, $eout=$rin, $tout);
};
alarm 0;
Unfortunately, double 2 is only 4, which really isn't very big -- it's pretty
easy for a sudden load spike to stop a single process from executing two
consecutive lines of a perl script within 2 seconds, especially since there's an
eval {} context switch between the two.
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.