<div dir="ltr">Hi,<br><br>We have a .NET 4 application that uses mono 2.10.9 (packaged with the app) on OSX.  We get the error "Sharing violation on path..." often, but haven't been able to do anything about it.  We cannot reproduce the problem in house, and we use our released product frequently on OSX.  This error does not happen on Windows (this trace pattern).  We see this happening on 10.6, 10.7, and 10.8.  We are not aware of any file stream being leaked, not closed.<br>
Older version the application had this problem too. In the past, the application has been packaged with mono 2.10.4 and 2.10.7.  The current version uses mono 2.10.9 with sgen garbage collector.<br><br>Can we get information about this exception with respect to OSX, and suggestions on how to reproduce and debug the issue?<br>
<br>Here are file of interest with respect to mono 2.10.7:<br><a href="https://github.com/mono/mono/blob/2.10.7/mcs/class/corlib/System.IO/FileStream.cs#L196">https://github.com/mono/mono/blob/2.10.7/mcs/class/corlib/System.IO/FileStream.cs#L196</a><br>
    line 196: constructor of interest<br><br><a href="https://github.com/mono/mono/blob/2.10.7/mcs/class/corlib/System.IO/MonoIO.cs#L135">https://github.com/mono/mono/blob/2.10.7/mcs/class/corlib/System.IO/MonoIO.cs#L135</a><br>
  line 135: GetException returns the "Sharing violation on path {0}" exception<br><br><a href="https://github.com/mono/mono/blob/2.10.7/mono/io-layer/io.c">https://github.com/mono/mono/blob/2.10.7/mono/io-layer/io.c</a><br>
  numberous place sets the ERROR_SHARING_VIOLATION error code<br><br><a href="https://github.com/mono/mono/blob/2.10.7/mono/io-layer/error.h">https://github.com/mono/mono/blob/2.10.7/mono/io-layer/error.h</a><br><br><a href="https://github.com/mono/mono/blob/2.10.7/mono/io-layer/error.c#L209">https://github.com/mono/mono/blob/2.10.7/mono/io-layer/error.c#L209</a><br>
  line 209: WAPI related<br><br>Thank you,<br><br>Phi<br><br>Message: Sharing violation on path /Users/username/Library/Caches/Axure-6-5-Standard/415E/1A95/Page/59/976f597f5ae84df18886bfa2cf90d959/976f597f5ae84df18886bfa2cf90d959.rppkg<br>
Type: System.IO.IOException<br>Source: mscorlib<br><br>at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options)<br>at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize)<br>
at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int)<br>at System.IO.File.Create (System.String path, Int32 bufferSize)<br>at System.IO.File.Create (System.String path)<br>
at System.IO.FileInfo.Create ()<br>at (wrapper remoting-invoke-with-check) System.IO.FileInfo:Create ()<br>at Axure.Platform.Mac.Storage.MXFileStorage.Create (Guid dataId, System.String category)<br>at Axure.DocumentModel.Saving.DocumentFile.c (Guid A_0, System.String A_1)<br>
at Axure.DocumentModel.Saving.DocumentFile.a (Axure.DocumentModel.PackageObject A_0, Boolean A_1, System.Collections.Generic.Dictionary`2& A_2)<br>at Axure.DocumentModel.Saving.DocumentFile.SavePackages (ICollection packages, Boolean saveAllExternalObjects)<br>
at (wrapper synchronized) Axure.DocumentModel.Saving.DocumentFile:SavePackages (System.Collections.ICollection,bool)<br>at Axure.DocumentModel.Saving.DocumentFile.SavePackage (Axure.DocumentModel.PackageObject obj)<br>at (wrapper synchronized) Axure.DocumentModel.Saving.DocumentFile:SavePackage (Axure.DocumentModel.PackageObject)<br>
at Axure.Client.UbiquityClientForm.b (Axure.DocumentModel.PackageObject A_0)<br>at Axure.Client.UbiquityClientForm.CommitOuterObject (Boolean clearEditors)<br>at Axure.Client.UbiquityClientForm.CommitOuterObject ()<br>at <a href="http://Axure.Client.Menus.FileEditMenus.az">Axure.Client.Menus.FileEditMenus.az</a> (System.Object A_0, System.EventArgs A_1)<br>
at (wrapper delegate-invoke) <Module>:invoke_void__this___object_EventArgs (object,System.EventArgs)<br>at Axure.Platform.Component.Commands.CommandInfo.OnValueChanged (System.EventArgs e)<br>at Axure.Platform.Component.Commands.CommandInfo.set_Value (System.Object value)<br>
at Axure.Platform.Component.Commands.ButtonCommandInfo.set_Value (System.Object value)<br>at Axure.Platform.Mac.Controls.MXMenuDecorator+NSMenuItemEventManager.onAction (MObjc.NSObject sender)<br><br><br></div>