[Mono-bugs] [Bug 569789] New: mod_mono reaps the wrong process during graceful apache restarts

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Mon Jan 11 16:42:43 EST 2010



           Summary: mod_mono reaps the wrong process during graceful
                    apache restarts
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.6.x
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Major
          Priority: P5 - None
         Component: misc
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: jd at cpanel.net
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---

User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:
Gecko/2009121609 Iceweasel/3.0.6 (Debian-3.0.6-3)

The code mod_mono uses to daemonize the mono server does a wait() without
specifying the pid.  When this takes place during a graceful Apache restart it
predictably reaps the first Apache worker process instead of the first child in
the daemonize chain.

By reaping one of Apache's children mod_mono deprives Apache of the opportunity
to reap that child.  As a result, Apache thinks the child is stuck in the "G"
gracefully restarting state.  After enough graceful restarts Apache will
believe it has used up all the process slots it is allowed.

Reproducible: Always

Steps to Reproduce:
1. install apache with mod_mono
2. apachectl start
3. apachectl graceful
4. view status and you'll see a process listed as stuck in the "G" state

Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.

More information about the mono-bugs mailing list