[Mono-bugs] [Bug 573477] New: FlushFileBuffers call invalidates safe file handle

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Mon Jan 25 09:12:34 EST 2010


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

http://bugzilla.novell.com/show_bug.cgi?id=573477#c0


           Summary: FlushFileBuffers call invalidates safe file handle
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.6.x
          Platform: x86
        OS/Version: Windows
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: io-layer
        AssignedTo: lupus at novell.com
        ReportedBy: adriano.verona at gmail.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


Created an attachment (id=338574)
 --> (http://bugzilla.novell.com/attachment.cgi?id=338574)
Opening / Closing / Flushing multiple files

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.3)
Gecko/20090824 Firefox/3.5.3

- Environment

PS C:\temp\TestFlushFileBuffersOnMono\TestFlushFileBuffersOnMono> & "C:\Program
Files (x86)\Mono-2.6.1\bin\mono" --version
Mono JIT compiler version 2.6.1 (tarball)
Copyright (C) 2002-2008 Novell, Inc and Contributors. www.mono-project.com
        TLS:           normal
        GC:            Included Boehm (with typed GC and Parallel Mark)
        SIGSEGV:       normal
        Notification:  Thread + polling
        Architecture:  x86
        Disabled:      none        

- Not reproducible on Mono 2.4.2.3 using FileStream.Handle instead of
SafeFileHandle (tried with Windows / Linux)

Current output running with 100 files:

Running with 100 files.

OpenFiles:....................................................................................................
Flush:....................................................................................................
CloseFiles:....................................................................................................
OpenFiles:....................................................................................................
CloseFiles:.
Unhandled Exception: System.IO.IOException: Invalid handle to path
"C:\Users\x\AppData\Local\Temp\TestFFBMono_0"
  at System.IO.FileStream.Dispose (Boolean disposing) [0x0007f] in
C:\cygwin\tmp\monobuild\build\BUILD\mono-2.6.1\mcs\class\corlib\System.IO\FileStream.cs:940
  at System.IO.Stream.Close () [0x00000] in
C:\cygwin\tmp\monobuild\build\BUILD\mono-2.6.1\mcs\class\corlib\System.IO\Stream.cs:112
  at TestFlushFileBuffersOnMono.Test.CloseFile (Int32 index) [0x00000] in
C:\temp\TestFlushFileBuffersOnMono\TestFlushFileBuffersOnMono\Program.cs:77
  at TestFlushFileBuffersOnMono.Test.ForEachFile (System.Func`2 predicate,
System.Action`1 action) [0x00057] in
C:\temp\TestFlushFileBuffersOnMono\TestFlushFileBuffersOnMono\Program.cs:111
  at TestFlushFileBuffersOnMono.Test.CloseFiles () [0x00000] in
C:\temp\TestFlushFileBuffersOnMono\TestFlushFileBuffersOnMono\Program.cs:72
  at TestFlushFileBuffersOnMono.Test.Run () [0x00042] in
C:\temp\TestFlushFileBuffersOnMono\TestFlushFileBuffersOnMono\Program.cs:55
  at TestFlushFileBuffersOnMono.Program.Main (System.String[] args) [0x0001a]
in C:\temp\TestFlushFileBuffersOnMono\TestFlushFileBuffersOnMono\Program.cs:19

- On My System:
    - it always happens in the second call to CloseFiles()

    - It is reproducible running with  7 to 12 files, 
    - It is NOT reproducible running with  8 to 22 files, 
    - It is reproducible running with 23 to 44, 
    - It is NOT reproducible running with  45 to 50 files

Reproducible: Always

Steps to Reproduce:
Compile and run the attached program
Actual Results:  
System.IO.IOException: Invalid handle to path "bla bla bla"

Expected Results:  
no exception

-- 
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