U4-7201 - Can only save once in some editors after upgrade to 7.3

Created by Tommy Enger 07 Oct 2015, 13:21:18 Updated by Shannon Deminick 23 Oct 2015, 09:45:32

Is duplicated by: U4-7256

Is duplicated by: U4-7266

Relates to: U4-7207

Only possible to save once in some editors after upgrading to 7.3.0. Must refresh page to be able to save again. The problem always occur on "Partial View Macro Files" and "Partial Views".

How to: https://youtu.be/C6zk2MATONE

See discussion here: https://our.umbraco.org/forum/getting-started/installing-umbraco/71903-upgrade-from-728-to-730-can-save-only-one-time-must-refresh

Comments

Sebastiaan Janssen 07 Oct 2015, 13:26:27

Can repro, the error coming back from the "SavePartialView API is:

[NullReferenceException: Object reference not set to an instance of an object.] Umbraco.Core.IO.PhysicalFileSystem.GetRelativePath(String fullPathOrUrl) +10 Umbraco.Core.Persistence.Repositories.PartialViewRepository.Get(String id) +41 Umbraco.Core.Services.FileService.GetPartialView(String path) +63 Umbraco.Web.WebServices.SaveFileController.b__6(IFileService s, String n) +8 Umbraco.Web.WebServices.SaveFileController.SavePartialView(IFileService svce, String filename, String oldname, String contents, String pathPrefix, Func3 get, Func3 validate, Func3 save) +233 Umbraco.Web.WebServices.SaveFileController.SavePartialView(String filename, String oldName, String contents) +454 lambda_method(Closure , ControllerBase , Object[] ) +169 System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +14 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary2 parameters) +156 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2 parameters) +27 System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState) +22 System.Web.Mvc.Async.WrappedAsyncResult2.CallEndDelegate(IAsyncResult asyncResult) +29 System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +32 System.Web.Mvc.Async.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d() +50 System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +225 System.Web.Mvc.Async.<>c__DisplayClass33.<BeginInvokeActionMethodWithFilters>b__32(IAsyncResult asyncResult) +10 System.Web.Mvc.Async.WrappedAsyncResult1.CallEndDelegate(IAsyncResult asyncResult) +10 System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +34 System.Web.Mvc.Async.<>c__DisplayClass2b.<BeginInvokeAction>b__1c() +26 System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +100 System.Web.Mvc.Async.WrappedAsyncResult1.CallEndDelegate(IAsyncResult asyncResult) +10 System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +27 System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +13 System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +36 System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +54 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +39 System.Web.Mvc.Controller.<BeginExecute>b__15(IAsyncResult asyncResult, Controller controller) +12 System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +28 System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +54 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +29 System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10 System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +21 System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +36 System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +54 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +31 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9651796 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155


Sean Sachen 12 Oct 2015, 18:52:47

I am having the same issue on a 7.3 install. Tried IE11, Chrome, and FireFox. Having to mainly use IE 11 due to the first tab being blank issue.


Shannon Deminick 22 Oct 2015, 10:35:54

It also turns out that creating partial views results in YSODs. I'll fix as part of this issue.


Mads Rasmussen 23 Oct 2015, 09:02:04

@Shandem I have tested the PR and everything looks good. I was able to reproduce the error in 7.3 and the PR fixes the issue.


Priority: Major

Type: Bug

State: Fixed

Assignee:

Difficulty: Normal

Category:

Backwards Compatible: True

Fix Submitted:

Affected versions: 7.3.0

Due in version: 7.3.1

Sprint: Sprint 1

Story Points:

Cycle: