[Mono-bugs] [Bug 545276] New: ASP.NET shadow copy checks also st_mode field

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Thu Oct 8 05:21:24 EDT 2009


http://bugzilla.novell.com/show_bug.cgi?id=545276


           Summary: ASP.NET shadow copy checks also st_mode field
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.4.x
          Platform: x86-64
        OS/Version: RHEL 5
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: JIT
        AssignedTo: lupus at novell.com
        ReportedBy: stefano.sapienti at apsystems.it
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---


User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.14)
Gecko/2009082707 Firefox/3.0.14 (.NET CLR 3.5.30729)

During website compilation the check on an assembly of the \bin directory to
decide if it has to be copied or not to temporary dir checks also st_mode
field.
If the source file has not the same access mode of shadow copied ones it copies
the assembly one time for every webpage parsed, causing very long loading time
for big websites.
The check is done inside mono\metadata\appdomain.c on the
private_file_needs_copying function.

Reproducible: Always

Steps to Reproduce:
1. Install a web app with multiple pages and multiple dll inside bin directory
2. run chmod -R 777 on bin directory (everything different from 700 should
work)
3. start mono in debug mode
4. start the application
Actual Results:  
If you have many assemblies in bin directory you'll notice heavy disk load, if
not you can check on mono logs and you'll found a couple of lines like

Mono-INFO: Assembly Loader probing location:
'/var/www/test/bin/testlibrary.dll'.
Mono-INFO: Assembly Loader shadow-copied assembly to:
'/tmp/apache-temp-aspnet-0/ddd13fb8/assembly/shadow/dcbea906/bc9b83ee_60252ae8_00000001/testlibrary.dll'.

for every webpage.
The log is not granular but the files are really copied every time.

Expected Results:  
Same logs as above but the files should be copied only one time.
If you run chmod -R 700 on bin directory and restarts xsp or mod-mono-server
you'll notice a faster loading due to same st_mode on both files.


I think that mode is not a parameter that helps to understand if a file is
newer or not, size and date should be enough.

-- 
Configure bugmail: http://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