logs archiveIRC Archive / Freenode / #exim / 2015 / July / 28 / 1
hs12
Running 4.86 from time to time I see a log line 'spam acl condition: error reading from spamd socket: Resource temporarily unavailable', but at the same time I see a mail.log entry stating that spamd scans the message. Is there anything I should know? The scan results (inserted with add_header) are missing then.
rjek
I occationally get something similar when SpamAssassin takes way too long to process a mail
hs12
What is "too long"?
scantime=6.1
rjek
I've had them take a minute :)
jgh_
seconds? minutes?
hs12
spam.h: SPAMD_TIMEOUT=120 (what units?)
jgh_
seconds
hs12
Jul 28 09:45:07 mx spamd[4271]: spamd: checking message <55B732FB.1030601@dmfs.org> for nobody@localhost:108
Jul 28 09:45:13 mx spamd[4271]: spamd: result: . -2 - BAYES_00,DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS scantime=6.1,size=4190,user=nobody@localhost,uid=108,required_score=5.0,rhost=localhost,raddr=127.0.0.1,rport=/run/spamd.sock,mid=<55B732FB.1030601@dmfs.org>,bayes=0.000000,autolearn=ham
2015-07-28 09:45:08 [18947] 1ZJzZT-0004vb-EF spam acl condition: error reading from spamd socket: Resource temporarily unavailable
2015-07-28 09:45:08 [18947] 1ZJzZT-0004vb-EF H=mail-wi0-f174.google.com [209.85.212.174] I=[84.19.194.2]:25 Warning: spam score is
...07: spamd scans the message, 08: exim complains, 13: message is scanned.
Message reception was 07 according to my logs.
jgh_
your spamd_address option?
         

hs12
Local socket: spamd_address = /run/spamd.sock
jgh_
single server, all default options then
hs12
Yes. The invocation: deny spam = nobody@localhost:true/defer_ok
jgh_
ah, the defer_ok can explain the exim acceptance
hs12
Yes, but does it lower the timeout to <6 seconds?
jgh_
no
and this is EAGAIN, which does not feel like a timeout
cebka
I've recently found a message that literally kills SA
it was also painful for rspamd, and during debugging it I've suddenly sent 120k DNS requests for a single mail to uribl
in 2 seconds...
jgh_
oww
hs12
cebka: the message in question is ham and just 1.2k message size.
cebka
now such a messages are no longer a problem, but that was funny experience
hs12: I'm just talking that spammers are now using DoS techniques to break your spam scanner. not about your particular case (just something related)
hs12
jgh_: I'll check spam.c around 510...515. May be EAGAIN should be handled seperatly.
jgh_
what OS?
hs12
(Action) needs to find some food first, then I'll continue
jgh_: Debian 8
jgh_: sorry, Debian 7
jgh_
timeouts ought to be getting managed by a select, which doesn't return EAGAIN according to the manpage
if you can repeat this, an strace would be nice
rjek
Can it return EAGAIN if it gets interrupted by a signal, I wonder?
jgh_
docs say EINTR for select on a signal
the followup recv() can return EAGAIN if no data is readable (it's in nonblocking mode)
rjek
Ah, yes, of course.
jgh_
yet the select (only looking for readability) said yes
huh. there's a note of bugginess in select... "may be other instances in which a file descriptor is spuriously reported as ready"
so we ought to loop on EAGAIN/EWOULDBLOCK
hs12: ip_recv() in src/ip.c - wrap fd_ready() down to recv() in a loop
poll() is just as buggy
hs12
while :; do killall -USR1 exim; done # seems to reproduce it
quebre
hi
is there config option to define max age of message in queue ?
and if it's older it would delete it ?
         

jgh__
retry rules
quebre
what ?
ah
:D
ty
« prev next »