[Mono-bugs] [Bug 648193] New: xsp2 stops responding if application files are touched more than once (while busy)

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Wed Oct 20 20:26:58 EDT 2010


https://bugzilla.novell.com/show_bug.cgi?id=648193

https://bugzilla.novell.com/show_bug.cgi?id=648193#c0


           Summary: xsp2 stops responding if application files are touched
                    more than once (while busy)
    Classification: Mono
           Product: Mono: Class Libraries
           Version: 2.8.x
          Platform: i386
        OS/Version: RHEL 5
            Status: NEW
          Severity: Major
          Priority: P5 - None
         Component: Sys.Web
        AssignedTo: mhabersack at novell.com
        ReportedBy: tekhedd at byteheaven.net
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.10)
Gecko/20100914 Firefox/3.6.10

xsp2 (or xsp-server2 if running under mod_mono) will stop responding if you
"touch *" more than once while it is serving a request. the application does
not have to be doing anything, but the problem manifests differently depending
on whether my page has codebehind DLLs, and whether it inherits from codebehind
dlls.



*Why this is important*

Customer backups touch files (presumably as part of a "last archived" timestamp
or something), causing the application to refresh and, about 25% of the time,
to stop responding. Customer is not happy. 

Reproducible: Sometimes

Steps to Reproduce:
1) No codebehind: various exceptions 

To reproduce: make a simple webapp that contains nothing but this file:

<%@ Page language="c#" ValidateRequest="false" AutoEventWireup="false"%>
<html>
<head>
<title>test</title>
</head>
<body>
testbody
</body>
</html>

run xsp (I used port 8081) on this app.

in a separate terminal, run 

 while true; do wget http://localhost:8081/test/test.aspx -O- ; done

This will ensure that the page is almost always busy.

In a third terminal, touch test.aspx. Do this a lot (or in a loop, once per
second works for me) and within a minute the application will catch an uncaught
ThreadAbortException. At this point the app will stop responding until the
current request times out. If you keep doing this, eventually the app will stop
responding entirely. It will not exit cleanly and will need to be killed. (I
will attach exception stack traces from a different machine.)

2) Hang indefinitely: codebehind and the infinte stop

Using the same test file in my production application, I do not see exceptions,
but the same behavior occurs--eventually the application that was refreshed
stops responding..

Actual Results:  
Results are inline with "steps to reproduce"

Expected Results:  
web site should refresh and continue serving files. 

I understand that waitChangeNotification is not implemented, otherwise I might
try this as a workaround.

It's critical to me, but I'm calling it major because the workaround is "don't
touch those files". 

I don't understand the http server code enough to track down the bug. Help
would be appreciated.

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


More information about the mono-bugs mailing list