[Mono-bugs] [Bug 68854][Cri] Changed - mod_mono returns 503 when using the Apache 2 "worker" MPM

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Fri, 4 Feb 2005 07:26:33 -0500 (EST)

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by gonzalo@ximian.com.


--- shadow/68854	2005-02-03 23:13:05.000000000 -0500
+++ shadow/68854.tmp.27787	2005-02-04 07:26:33.000000000 -0500
@@ -1,13 +1,13 @@
 Bug#: 68854
 Product: Mono: Tools
 Version: 1.1
 OS: SUSE 9.0
 OS Details: 
-Status: REOPENED   
+Status: RESOLVED   
+Resolution: FIXED
 Severity: Unknown
 Priority: Critical
 Component: mod_mono
 AssignedTo: gonzalo@ximian.com                            
 ReportedBy: mlasky@novell.com               
 QAContact: mono-bugs@ximian.com
@@ -259,6 +259,40 @@
 apache2 mutex around the process startup. It will be in svn tonight.
 ------- Additional Comments From rlyon@novell.com  2005-02-03 23:13 -------
 Great! Thank You.
+------- Additional Comments From gonzalo@ximian.com  2005-02-04 07:26 -------
+The patch is in now.
+I readded the wait() and the second fork.
+The parameters for the child_init function are swapped in apache 1.3 (!?).
+I've been testing with apache 1.3 and 2.0 MPM worker and it works fine.
+About locking around the call to fork mod-mono-server, we can do it
+for apache2 if you want, but there's no need for it. The only
+'problem' i've seen so far is that i get this in the logs:
+Error: There's already a server listening on /tmp/mod_mono_server
+Some time ago, i made mod-mono-server try to connect to the socket
+before binding so it just exits when it is launched from several
+processes at the same time in a 'there can only be one' fashion. If
+for any reason we get more than 1, only the last one that Bind'ed the
+file will be actually working.
+As for the watchdog setup, the easiest approach is to have a script
+that runs mod-mono-server in a loop and restarts it (doing a cleanup
+if needed) when it dies unexpetedly. Then set MonoExecutablePath to
+the path of the script (make it executable ;-) and you're done.
+I feel a little bit embarrased for not finding that child_init stuff
+before but at the same time happy for, finally, getting rid of this
+problem in mod_mono. You made my day.
+Again, thanks.