[Mono-bugs] [Bug 618043] New: fastcgi-mono-server2 stops accepting requests, after heavy load
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Mon Jun 28 15:57:10 EDT 2010
http://bugzilla.novell.com/show_bug.cgi?id=618043
http://bugzilla.novell.com/show_bug.cgi?id=618043#c0
Summary: fastcgi-mono-server2 stops accepting requests, after
heavy load
Classification: Mono
Product: Mono: Runtime
Version: 2.6.x
Platform: 32bit
OS/Version: Linux
Status: NEW
Severity: Critical
Priority: P5 - None
Component: misc
AssignedTo: mono-bugs at lists.ximian.com
ReportedBy: novell at pasichnyk.net
QAContact: mono-bugs at lists.ximian.com
Found By: ---
Blocker: ---
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US)
AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.70 Safari/533.4
I have a fairly simple web app, hosted in lighttpd via fastcgi (single
process). The app serves up entirely dynamic content (single .ashx), no static
content is delivered. Incoming requests are very small (just url parameters
for payload), and no real content is delivered (just a Response.Redirect()
after processing completes).
Under low or medium load, the system performs fine, however after running 1 or
more load test using siege or ab, the system stops accepting new connections.
When it does this there are several errors that show up in the sites error log,
all coming from the fastcgi process...
- Failed to process connection. Reason: Object reference not set to an instance
of an object
- Failed to process connection. Reason: Collection was modified; enumeration
operation may not execute.
- Failed to process connection. Reason: The descriptor is not a socket
Once i start seeing these errors in the log, either many incoming requests will
fail/timeout, or the will all timeout. Usually all will timeout.
Requests for static content are still served fine, so lighttpd is functioning
as expected.
I know for sure that the fastcgi process is still running fine when it stops
taking connections, becuase i have a separate thread spawned off to do
maintenance work (Save some queued data to a database if there is work to do)
and it keeps running, writing out trace messages.
This is occurring on Gentoo x86, running on mono-2.6.4 and xsp-2.6.
Switching to spawn-fcgi didn't change anything.
Reproducible: Always
Steps to Reproduce:
1. Create a site with an .ashx handler that does a Response.Redirect()
2. load it up with over 500 requests/sec using "siege" or "ab"
3. tail the error log for the site
Actual Results:
Website stops acceptiong connections, and reports the following errors in the
error_log.
- Failed to process connection. Reason: Object reference not set to an instance
of an object
- Failed to process connection. Reason: Collection was modified; enumeration
operation may not execute.
- Failed to process connection. Reason: The descriptor is not a socket
Restarting the process (if using spawn-fcgi) or restarting lighttpd (if using
lighttpd controlled fastcgi processes) resolves the issue, until more load
comes to the server at which time it will stop functioning again.
Expected Results:
website doesn't stop accepting connections
--
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