When I save a datatype in 7.4.1 I get the following error. Changes are saved and the file is also generated/updated in the uSync folder.
An error occured
The process cannot access the file because it is being used by another process.
Exception Details
System.IO.IOException: The process cannot access the file because it is being used by another process.
[defaultdialogs_stacktrace]
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.InternalMove(String sourceDirName, String destDirName, Boolean checkHost)
at Jumoo.uSync.BackOffice.Helpers.NameChecker.ManageOrphan(String file, String newFile)
at Jumoo.uSync.BackOffice.Helpers.NameChecker.CheckFolder(String folder, Guid Key, String newFile)
at Jumoo.uSync.BackOffice.Helpers.NameChecker.ManageOrphanFiles(String typeFolder, Guid Key, String newFile)
at Jumoo.uSync.BackOffice.Handlers.DataTypeHandler.DataTypeService_Saved(IDataTypeService sender, SaveEventArgs`1 e)
at Umbraco.Core.Events.TypedEventHandler`2.Invoke(TSender sender, TEventArgs e)
at Umbraco.Core.Services.DataTypeService.SaveDataTypeAndPreValues(IDataTypeDefinition dataTypeDefinition, IDictionary`2 values, Int32 userId)
at Umbraco.Web.Editors.DataTypeController.PostSave(DataTypeSave dataType)
at lambda_method(Closure , Object , Object[] )
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.<GetExecutor>b__9(Object instance, Object[] methodParameters)
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.AuthorizationFilterAttribute.<ExecuteAuthorizationFilterAsyncCore>d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.AuthorizationFilterAttribute.<ExecuteAuthorizationFilterAsyncCore>d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__1.MoveNext()
Don't know if you have issue tracker so I posted it here.
is is possible you have something else accessing the folder or maybe source control like TFS ?
some source control systems make files readonly, and when usync trys to save /move or delete one of the usync files it can cause a conflict?
I can get similar errors to above by marking files read only and then changing the name of the doctype. but normal doctype saves are working for me :-(
if possible could you stick the debugging on usync for me.
add
to config/log4net.config and then you should get oodles more logging in the umbraco log (/app_data/logs/umbracotracelog.{name}.txt
that might give a helping pointer to what's going wrong,
(in all likelihood i suspect you will get a Checking Folder: debug line just before the crash, it will at least tell us if the file is the same one for the datatype or another datatype name that is causing the crash)
Could it be related to a upgrade. Upgraded to Umbraco 7.4.1 last week and also upgraded uSync. I just deleted all uSync files and done a full export. Now the issue is gone.
Error when saving datatype in 7.4.1
Hi,
When I save a datatype in 7.4.1 I get the following error. Changes are saved and the file is also generated/updated in the uSync folder.
Don't know if you have issue tracker so I posted it here.
Dave
Hi
is is possible you have something else accessing the folder or maybe source control like TFS ?
some source control systems make files readonly, and when usync trys to save /move or delete one of the usync files it can cause a conflict?
I can get similar errors to above by marking files read only and then changing the name of the doctype. but normal doctype saves are working for me :-(
Kevin
Hi Kevin,
No permissions or locking issues. Only happens when I save datatypes as far I can see.
Dave
Hi
if possible could you stick the debugging on usync for me.
add
to config/log4net.config and then you should get oodles more logging in the umbraco log (/app_data/logs/umbracotracelog.{name}.txt
that might give a helping pointer to what's going wrong,
(in all likelihood i suspect you will get a
Checking Folder:
debug line just before the crash, it will at least tell us if the file is the same one for the datatype or another datatype name that is causing the crash)Hi Kevin,
Could it be related to a upgrade. Upgraded to Umbraco 7.4.1 last week and also upgraded uSync. I just deleted all uSync files and done a full export. Now the issue is gone.
Dave
is working on a reply...