Siegbert Laukas schrieb:
> - All latest perl-module are installed. (Perl 5.6)
> - postfix 2.1.5
> - spamassassin newest
> - clamav (have already change from antivir)
>
>
> After update to the last amavisd 2.3.3, we have the following Problem:
>
> Normal-Szenario:
> ================
> 1. mail is received, and amavisd process is running:
>
> 7013 ? S 0:01 amavisd (master)
> 7033 ? S 0:00 amavisd (ch1-07033-01-idle)
> 7034 ? S 0:00 amavisd (virgin child)
> 7035 ? S 0:00 amavisd (virgin child)
> 7036 ? S 0:00 amavisd (virgin child)
> 7037 ? S 0:00 amavisd (virgin child)
>
> 2. new mail is received, and amavisd goes to the next child process.
>
> 7013 ? S 0:01 amavisd (master)
> 7033 ? S 0:00 amavisd (ch1-avail)
> 7034 ? S 0:00 amavisd (ch1-07034-01-idle)
> 7035 ? S 0:00 amavisd (virgin child)
> 7036 ? S 0:00 amavisd (virgin child)
> 7037 ? S 0:00 amavisd (virgin child)
>
> 3. This goes forward, 1..2 days and after some 100 e-mails we see this
> process view (ps -ax |grep amavisd):
>
> 7013 ? S 0:01 amavisd (master)
> 7033 ? S 0:00 amavisd (ch9-avail)
> 7034 ? S 0:00 amavisd (ch9-avail)
> 7035 ? S 0:00 amavisd (ch9-avail)
> 7036 ? S 0:00 amavisd (ch9-avail)
> 7037 ? S 0:00 amavisd (ch9-avail)
>
> 4. some mails laster, the next new mail is receive, the mail log shows:
>
> ...Requesting process rundown after 11 tasks (and 7 sessions)
>
> and the amavisd master process tried to create a new (virgin child)
> process (max_server is reached).
>
> The new (amavisd virgin child) is created (new pid), but only for 2-3
> seconds. After this time the new virgin child crash, and the amavisd
> master process tried to recreate a new virgin child.
>
> This goes forward (loops) and burn cpu load to 100 %. Last step = manual
> stop amavisd and restart.
>
> see "strace the amavisd master pid" (strace -t -p 7013) on creating new
> virgin child process:
>
> 09:45:50 wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 13], WNOHANG,
> NULL) = 23259
> 09:45:50 wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 13], WNOHANG,
> NULL) = 23258
> 09:45:50 wait4(-1, 0xbffff6e8, WNOHANG, NULL) = 0
> 09:45:50 time(NULL) = 1141116350
> 09:45:50 gettimeofday({1141116350, 968087}, NULL) = 0
> 09:45:50 fork() = 23260
> 09:45:51 fork() = 23261
> 09:45:51 select(0, NULL, NULL, NULL, {10, 0}) = ? ERESTARTNOHAND (To be
> restarted)
> 09:45:51 --- SIGCHLD (Child exited) ---
> 09:45:51 sigreturn() = ? (mask now [])
> 09:45:51 wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 13], WNOHANG,
> NULL) = 23260
> 09:45:51 wait4(-1, 0xbffff6e8, WNOHANG, NULL) = 0
> 09:45:51 time(NULL) = 1141116351
> 09:45:51 gettimeofday({1141116351, 119877}, NULL) = 0
> 09:45:51 fork() = 23262
> 09:45:51 --- SIGCHLD (Child exited) ---
> 09:45:51 sigreturn() = ? (mask now [])
> 09:45:51 select(0, NULL, NULL, NULL, {10, 0}) = ? ERESTARTNOHAND (To be
> restarted)
> 09:45:51 --- SIGCHLD (Child exited) ---
> 09:45:51 sigreturn() = ? (mask now [])
> 09:45:51 wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 13], WNOHANG,
> NULL) = 23262
> 09:45:51 wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 13], WNOHANG,
> NULL) = 23261
> 09:45:51 wait4(-1, 0xbffff6e8, WNOHANG, NULL) = 0
> 09:45:51 time(NULL) = 1141116351
> 09:45:51 gettimeofday({1141116351, 270867}, NULL) = 0
> 09:45:51 fork() = 23263
> 09:45:51 --- SIGCHLD (Child exited) ---
> 09:45:51 sigreturn() = ? (mask now [])
> 09:45:51 fork() = 23264
> 09:45:51 select(0, NULL, NULL, NULL, {10, 0}) = ? ERESTARTNOHAND (To be
> restarted)
> 09:45:51 --- SIGCHLD (Child exited) ---
> 09:45:51 sigreturn() = ? (mask now [])
> 09:45:51 wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 13], WNOHANG,
> NULL) = 23264
> 09:45:51 wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 13], WNOHANG,
> NULL) = 23263
> 09:45:51 wait4(-1, 0xbffff6e8, WNOHANG, NULL) = 0
> 09:45:51 time(NULL) = 1141116351
> 09:45:51 gettimeofday({1141116351, 474127}, NULL) = 0
> 09:45:51 fork() = 23265
> 09:45:51 fork() = 23266
> 09:45:51 select(0, NULL, NULL, NULL, {10, 0}) = ? ERESTARTNOHAND (To be
> restarted)
> 09:45:51 --- SIGCHLD (Child exited) ---
> 09:45:51 sigreturn() = ? (mask now [])
> 09:45:51 wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 13], WNOHANG,
> NULL) = 23265
> 09:45:51 wait4(-1, 0xbffff6e8, WNOHANG, NULL) = 0
> 09:45:51 time(NULL) = 1141116351
> 09:45:51 gettimeofday({1141116351, 616914}, NULL) = 0
> 09:45:51 fork() = 23267
> ...
>
>
> - I'ts enough free memory available.
> - with amavisd-debug no errors or other corrupt process is seen
>
>
> Has anyone a good tip.
>
> Thanks for any comment.
>
>
> Siegbert Laukas
>
Next step, go back to Net:Server 0.88 and it's work !!!!!!
On the same Server without any changes in the config-files.
>>> see different between Net:Server 0.90 and 0.88:
0.88:
=====
11:54:38 select(0, NULL, NULL, NULL, {10, 0}) = ? ERESTARTNOHAND (To be
restarted)
11:54:48 --- SIGCHLD (Child exited) ---
11:54:48 sigreturn() = ? (mask now [])
11:54:48 wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 0], WNOHANG, NULL)
= 22274
11:54:48 wait4(-1, 0xbffff6e8, WNOHANG, NULL) = 0
11:54:48 time(NULL) = 1141124088
11:54:48 kill(30134, SIG_0) = 0
11:54:48 gettimeofday({1141124088, 82311}, NULL) = 0
11:54:48 fork() = 31720
11:54:48 select(0, NULL, NULL, NULL, {10, 0}) = 0 (Timeout)
11:54:58 time(NULL) = 1141124098
11:54:58 select(0, NULL, NULL, NULL, {10, 0}) = 0 (Timeout)
....
0.90:
=====
09:45:51 select(0, NULL, NULL, NULL, {10, 0}) = ? ERESTARTNOHAND (To be
restarted)
09:45:51 --- SIGCHLD (Child exited) ---
09:45:51 sigreturn() = ? (mask now [])
09:45:51 wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 13], WNOHANG,
NULL) = 23260
09:45:51 wait4(-1, 0xbffff6e8, WNOHANG, NULL) = 0
09:45:51 time(NULL) = 1141116351
09:45:51 gettimeofday({1141116351, 119877}, NULL) = 0
09:45:51 fork() = 23262
09:45:51 --- SIGCHLD (Child exited) ---
09:45:51 sigreturn() = ? (mask now [])
09:45:51 select(0, NULL, NULL, NULL, {10, 0}) = ? ERESTARTNOHAND (To be
restarted)
09:45:51 --- SIGCHLD (Child exited) ---
09:45:51 sigreturn() = ? (mask now [])
09:45:51 wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 13], WNOHANG,
NULL) = 23262
09:45:51 wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 13], WNOHANG,
NULL) = 23261
...
Is this an error in the new Net:Server 0.90 ????
Thanks for any info.
Regards
Siegbert
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
AMaViS-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/amavis-user
AMaViS-FAQ:http://www.amavis.org/amavis-faq.php3
AMaViS-HowTos:http://www.amavis.org/howto/