[Mono-devel-list] Access violation after exiting a mono app with an open StreamWriter (latest builds)

Bill Middleton flashdict at gmail.com
Tue Apr 26 03:24:17 EDT 2005


Looks like a bug to me.  At least insofar as it doesn't throw an
exception running under .NET or Mono Windows.

Bill


On 4/25/05, Andrew Gleave <Andrew.Gleave at ifgmgt.com> wrote:
>  
> Hi, 
>     We have an app that uses a StreamWriter to write logging and debugging
> info to a file.  If I terminate the app (Ctrl -c) when it is running, then
> re-launch it, I get an access violation/ sharing violation when the
> StreamWriter is created.  I can't seem to remember this being an issue,
> before the IO layer became daemon-less.  This only affects recent builds and
> our RedHat 9 box running 1.1.7 is fine.  However, Debian running Revision
> 43534 is broken. And I know it affects Mac OS X also.  I have included some
> sample code, and if needed I can file a bug report. 
>   
> Thanks 
>   
> Andrew Gleave 
>   
> Software Engineer 
>   
> Exception: 
>   
> Unhandled Exception: System.IO.IOException: Sharing violation on path
> TestApp.log
> in <0x0032a> System.IO.FileStream:.ctor (System.String name, FileMode mode,
> FileAccess access, FileShare share, Int32 bufferSize, Boolean isAsync,
> Boolean anonymous)
> in <0x0001f> System.IO.FileStream:.ctor (System.String name, FileMode mode,
> FileAccess access, FileShare share)
> in (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor
> (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
> in <0x000e1> System.IO.StreamWriter:.ctor (System.String path, Boolean
> append, System.Text.Encoding encoding, Int32 bufferSize)
> in (wrapper remoting-invoke-with-check) System.IO.StreamWriter:.ctor
> (string,bool,System.Text.Encoding,int)
> in <0x0004a> ConsoleApplication4.Class1:Main (System.String[] args)
>  
>   
> Source: 
>   
>  
> 
> using System; 
> 
> using System.IO; 
> 
> namespace AccessViolation 
> 
> { 
> 
> class AccessViolationDemo 
> 
> { 
> 
> [STAThread] 
> 
> static void Main(string[] args) 
> 
> { 
> 
> StreamWriter writer = null; 
> 
> string command = string.Empty; 
> 
> try 
> 
> { 
> 
> writer = new StreamWriter("TestApp.log", true, System.Text.Encoding.UTF8,
> 4096); 
> 
> writer.AutoFlush = true; 
> 
> writer.WriteLine("{0} - Started App. Polling for input...", DateTime.Now); 
> 
> while(command != "quit") 
> 
> command = Console.ReadLine().ToLower(); 
> 
> } 
> 
> finally 
> 
> { 
> 
> writer.Close(); 
> 
> writer = null; 
> 
> } 
> 
> } 
> 
> } 
> 
> } 
> 
> The information contained in this E-mail is confidential. It may also be
> legally privileged. It is intended only for the stated addressee(s) and
> access to it by any other person is unauthorised. If you are not an
> addressee, you must not disclose, copy, circulate or in any other way use or
> rely on the information contained in this E-mail. Such unauthorised use may
> be unlawful. If you have received this E-mail in error, please inform us
> immediately and delete it and all copies from your system.
>  
> 
> Due to the fact that this E-mail could become corrupted or altered during
> transmission, any advice which it contains should not be relied upon unless
> subsequently confirmed by fax or letter signed by or on behalf of this
> company.
>  
> 
> E-mails do not constitute compliance with any time limits or deadlines. 
>  ________________________________
>  This e-mail message has been scanned for Viruses and Content and cleared by
> NetIQ MailMarshal ________________________________
>



More information about the Mono-devel-list mailing list