You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@spamassassin.apache.org by bu...@bugzilla.spamassassin.org on 2004/09/02 10:43:32 UTC

[Bug 3743] New: Spamd not cleaning up defunct processes

http://bugzilla.spamassassin.org/show_bug.cgi?id=3743

           Summary: Spamd not cleaning up defunct processes
           Product: Spamassassin
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: major
          Priority: P3
         Component: spamc/spamd
        AssignedTo: dev@spamassassin.apache.org
        ReportedBy: shjorth@telstra.com


Version: SpamAssassin-3.0.0-RC2
Linux <host> 2.4.21-15.0.3.ELsmp #1 SMP Tue Jun 29 18:04:47 EDT 2004 i686 i686
i386 GNU/Linux
Perl: This is perl, v5.8.0 built for i386-linux-thread-multi

We have noticed that spamd is not cleaning up child processes that are 'defunct'
and is considering these processes to be available; therefore over time this is
leading to the number of available active processes dropping until eventually
there are no 'child' processes left to handle requests:

520       9297     1  0 17:27 ?        00:00:00 /net/sa/bin/spamd -u
spamassassin -x -d --max-children 7
520       8145  9297  2 17:57 ?        00:01:01 [spamd <defunct>]
520        668  9297  4 18:32 ?        00:00:17 spamd child
520        918  9297  3 18:32 ?        00:00:15 spamd child
520       1325  9297  3 18:33 ?        00:00:11 spamd child
520       2160  9297  3 18:34 ?        00:00:09 spamd child
520       2325  9297  3 18:35 ?        00:00:09 spamd child
520       2508  9297  3 18:35 ?        00:00:08 spamd child

You can see that the zombie process was never 'detected' by the spamd parent (no
mention if process 8145 sending a SIGCHLD):

Sep  2 17:27:07 larry spamd[9297]: server started on port 783/tcp (running
version 3.0.0-rc2)
Sep  2 17:27:07 larry spamd[9297]: server successfully spawned child process,
pid 9306
Sep  2 17:27:07 larry spamd[9297]: server successfully spawned child process,
pid 9307
Sep  2 17:27:07 larry spamd[9297]: server successfully spawned child process,
pid 9308
Sep  2 17:27:07 larry spamd[9297]: server successfully spawned child process,
pid 9309
Sep  2 17:27:07 larry spamd[9297]: server successfully spawned child process,
pid 9310
Sep  2 17:27:07 larry spamd[9297]: server successfully spawned child process,
pid 9311
Sep  2 17:27:07 larry spamd[9297]: server successfully spawned child process,
pid 9312
Sep  2 17:57:37 larry spamd[9297]: server hit by SIGCHLD, pid 9306
Sep  2 17:57:37 larry spamd[9297]: server successfully spawned child process,
pid 7933
Sep  2 17:57:39 larry spamd[9297]: server hit by SIGCHLD, pid 9310
Sep  2 17:57:39 larry spamd[9297]: server successfully spawned child process,
pid 7979
Sep  2 17:57:39 larry spamd[9297]: server hit by SIGCHLD, pid 9311
Sep  2 17:57:39 larry spamd[9297]: server successfully spawned child process,
pid 7981
Sep  2 17:57:43 larry spamd[9297]: server hit by SIGCHLD, pid 9308
Sep  2 17:57:43 larry spamd[9297]: server successfully spawned child process,
pid 8067
Sep  2 17:57:46 larry spamd[9297]: server hit by SIGCHLD, pid 9309
Sep  2 17:57:46 larry spamd[9297]: server successfully spawned child process,
pid 8127
Sep  2 17:57:48 larry spamd[9297]: server hit by SIGCHLD, pid 9307
Sep  2 17:57:48 larry spamd[9297]: server successfully spawned child process,
pid 8145
Sep  2 18:32:33 larry spamd[9297]: server hit by SIGCHLD, pid 9312
Sep  2 18:32:33 larry spamd[9297]: server successfully spawned child process,
pid 668
Sep  2 18:32:56 larry spamd[9297]: server hit by SIGCHLD, pid 7979
Sep  2 18:32:56 larry spamd[9297]: server successfully spawned child process,
pid 918
Sep  2 18:33:37 larry spamd[9297]: server hit by SIGCHLD, pid 7981
Sep  2 18:33:37 larry spamd[9297]: server successfully spawned child process,
pid 1325
Sep  2 18:34:51 larry spamd[9297]: server hit by SIGCHLD, pid 7933
Sep  2 18:34:51 larry spamd[9297]: server successfully spawned child process,
pid 2160
Sep  2 18:35:00 larry spamd[9297]: server hit by SIGCHLD, pid 8127
Sep  2 18:35:00 larry spamd[9297]: server successfully spawned child process,
pid 2325
Sep  2 18:35:11 larry spamd[9297]: server hit by SIGCHLD, pid 8067
Sep  2 18:35:11 larry spamd[9297]: server successfully spawned child process,
pid 2508

Could there be some kind of polling code to verify whether the child processes
are in a zombie state and act accordingly.

Thanks,

Shane.



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.