Amavis 2.10.1 dies and is unusable when put under moderate load
Quanah Gibson-Mount
quanah at zimbra.com
Mon Jan 25 19:48:02 CET 2016
--On Thursday, January 21, 2016 11:08 AM -0800 Quanah Gibson-Mount
<quanah at zimbra.com> wrote:
> To be clear, this happens on any server (we have hundreds) if we put
> amavis under load. They have plenty of memory, and are not running out.
> I think this is related to the changes made here:
>
> - use a perl module File::LibMagic when available, instead of spawning
> a file(1) utility for classifying contents of mail parts.
> By using a direct interface to a libmagic library the startup cost
> of spawning an external process is avoided. Benchmarking shows that
> using libmagic is significantly faster especially for checking a small
> number of files - takes 4 ms for checking one file with libmagic
> vs. 27 ms with a spawned file(1); based on a patch by Markus Benning;
>
> or possibly this:
>
>
> - adjusted some timeouts to leave more reserve for later stages of
> mail processing and forwarding;
Switching to File::LibMagic reduced the failure rate from 6% to 3%, so that
helped some. It appears as though the reworking really broke the usage of
the "file" binary vs previous versions of Amavisd. Users be warned.
However, we continue to get a 3% error rate, which really is not
acceptable. In the latest run, we again see:
Jan 25 06:40:41 zqa-211 amavis[8673]: (08673-01-13) lookup_re("HTML
document, ASCII text, with very long lines") matches key
"(?^i:\\btext\\b)", result="asc"
Jan 25 06:40:41 zqa-211 amavis[8673]: (08673-01-13) lookup
[map_full_type_to_short_type] => true, "HTML document, ASCII text, with
very long lines" matches, result="asc", matching_key="(?^i:\\btext\\b)"
Jan 25 06:40:41 zqa-211 amavis[8673]: (08673-01-13) File-type of p001: HTML
document, ASCII text, with very long lines; (asc)
Jan 25 06:40:41 zqa-211 amavis[8673]: (08673-01-13) do_ascii: Decoding part
p001
Jan 25 06:40:41 zqa-211 amavis[8673]: (08673-01-13) do_ascii: Setting
sigaction handler, was 0
Jan 25 06:40:41 zqa-211 amavis[8673]: (08673-01-13) get_deadline
do_ascii_pre - deadline in 479.8 s, set to 288.000 s
Jan 25 06:40:41 zqa-211 amavis[8673]: (08673-01-13) prolong_timer
do_ascii_pre: timer 288, was 0, deadline in 479.8 s
Jan 25 06:40:52 zqa-211 amavis-services[22436]: PID 8673 went away,
08673-01-13
So there seems to be some bug in do_ascii_pre itself as well. I'll see how
the function has changed vs 2.9.0 next, I guess.
It would be really helpful if the amavisd source was in a publicly
accessible SCM like github.
--Quanah
--
Quanah Gibson-Mount
Platform Architect
Zimbra, Inc.
--------------------
Zimbra :: the leader in open source messaging and collaboration
More information about the amavis-users
mailing list