|
SA Bugzilla – Full Text Bug Listing |
Summary: | not recovering from "prefork: select returned -1!" | ||
---|---|---|---|
Product: | Spamassassin | Reporter: | Kai Bolay <kai> |
Component: | spamc/spamd | Assignee: | SpamAssassin Developer Mailing List <dev> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | spamass, tim |
Priority: | P5 | ||
Version: | 3.1.4 | ||
Target Milestone: | Undefined | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Attachments: | spamd logfile |
Description
Kai Bolay
2006-10-24 17:10:33 UTC
Created attachment 3727 [details]
spamd logfile
this log excerpt (more context in attachment) shows how the problem develops:
[...]
info: prefork: child states: BBIIBIBIBBIBI
info: spamd: handled cleanup of child pid 19135 due to SIGCHLD
warn: Use of uninitialized value in numeric eq (==) at SpamdForkScaling.pm line
662.
warn: Use of uninitialized value in numeric eq (==) at SpamdForkScaling.pm line
662.
warn: Use of uninitialized value in numeric eq (==) at SpamdForkScaling.pm line
662.
warn: Use of uninitialized value in numeric eq (==) at SpamdForkScaling.pm line
662.
warn: Use of uninitialized value in numeric eq (==) at SpamdForkScaling.pm line
662.
info: prefork: child states: BBIIBIBIBBIBS
[...]
warn: prefork: retrying syswrite(): Resource temporarily unavailable at
SpamdForkScaling.pm line 623.
warn: prefork: syswrite(8) to 745 failed on try 2 at SpamdForkScaling.pm line
600.
[...]
warn: prefork: retrying syswrite(): Resource temporarily unavailable at
SpamdForkScaling.pm line 623.
warn: prefork: syswrite(8) to 745 failed on try 3 at SpamdForkScaling.pm line
600.
[...]
warn: prefork: retrying syswrite(): Resource temporarily unavailable at
SpamdForkScaling.pm line 623.
warn: prefork: syswrite(8) to 745 failed on try 4 at SpamdForkScaling.pm line
600.
warn: prefork: giving up at SpamdForkScaling.pm line 602.
warn: prefork: write of ping failed to 745 fd=8: Resource temporarily
unavailable at SpamdForkScaling.pm line 333.
warn: prefork: killing failed child 745 fd=8 at SpamdForkScaling.pm line 127.
warn: prefork: killed child 745 at SpamdForkScaling.pm line 141.
warn: prefork: select returned -1! recovering: Bad file descriptor
info: spamd: handled cleanup of child pid 745 due to SIGCHLD
warn: prefork: select returned -1! recovering: Bad file descriptor
[...]
warn: prefork: select returned -1! recovering: Bad file descriptor
[...]
warn: prefork: select returned -1! recovering: Bad file descriptor
warn: prefork: select returned -1! recovering: Bad file descriptor
warn: prefork: select returned -1! recovering: Bad file descriptor
warn: prefork: select returned -1! recovering: Bad file descriptor
warn: prefork: select returned -1! recovering: Bad file descriptor
warn: prefork: select returned -1! recovering: Bad file descriptor
[...]
Same issue here, under FreeBSD. Actually it turned up after the commit from bug 5494 was applied. This very much sounds like this bug was introduced by the fix. Specific error messages different, but IMHO lead to the same root cause: Nov 24 02:34:02 merak spamd[72062]: prefork: sysread(7) failed after 300 secs at /usr/local/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/SpamdForkScaling.pm line 575. etc. Note this is perl 5.8.8. So it doesn't appear perl version specific. And similar to bug 4594, --round-robin solves the issue. (In reply to comment #2) > Same issue here, under FreeBSD. Actually it turned up after the commit from bug > 4594 was applied. This very much sounds like this bug was introduced by the fix. 3.1.4 doesn't have the fix from bug 4594, so no. |