U4-6009 - Distributed calls not working in 7.2

Created by Tommy Enger 13 Dec 2014, 09:28:31 Updated by wtct 03 Nov 2016, 11:32:53

When enabling distributed calls in 7.2 there is an error when adding/editing document and media types. As soon as distributed calls are disabled, it starts working again. (Publishing new or changing exisiting pages works fine, and the changes gets distributed to all the servers as well.)

Exception Details: System.NotSupportedException: This messenger cannot execute without a valid/current UmbracoContext with an HttpContext assigned

From the log:

2014-12-11 10:48:05,952 [38] INFO Umbraco.Web.BatchedServerMessenger - [Thread 58] Submitting calls to distributed servers 2014-12-11 10:02:05,142 [38] ERROR Umbraco.Core.UmbracoApplicationBase - [Thread 59] An unhandled exception occurred

System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.NotSupportedException: This messenger cannot execute without a valid/current UmbracoContext with an HttpContext assigned

Server stack trace: at Umbraco.Web.BatchedServerMessenger.PerformDistributedCall(IEnumerable1 servers, ICacheRefresher refresher, MessageType dispatchType, IEnumerable1 ids, Type idArrayType, String jsonPayload) at Umbraco.Core.Sync.DefaultServerMessenger.MessageSeversForIdsOrJson(IEnumerable1 servers, ICacheRefresher refresher, MessageType dispatchType, IEnumerable1 ids, String jsonPayload) at Umbraco.Web.BatchedServerMessenger.MessageSeversForIdsOrJson(IEnumerable1 servers, ICacheRefresher refresher, MessageType dispatchType, IEnumerable1 ids, String jsonPayload) at Umbraco.Core.Sync.DefaultServerMessenger.PerformRefresh(IEnumerable1 servers, ICacheRefresher refresher, String jsonPayload) at Umbraco.Web.Cache.DistributedCache.RefreshByJson(Guid factoryGuid, String jsonPayload) at Umbraco.Web.Cache.DistributedCacheExtensions.RefreshContentTypeCache(DistributedCache dc, IContentType contentType) at Umbraco.Core.EnumerableExtensions.ForEach[TItem](IEnumerable1 items, Action`1 action) at Umbraco.Core.Services.ContentTypeService.Save(IContentType contentType, Int32 userId) at umbraco.cms.businesslogic.web.DocumentType.Save() at umbraco.controls.ContentTypeControlNew.<>c__DisplayClass9.b__4(SaveAsyncState asyncState) at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs) at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)

Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(Message reqMsg, Boolean bProxyCase) at System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(Object NotUsed, MessageData& msgData) at System.Action`1.EndInvoke(IAsyncResult result) at System.Web.UI.PageAsyncTaskApm.d__3.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.UI.PageAsyncTaskManager.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.Web.UI.Page.d__2c.MoveNext() at System.Web.UI.Page.HandleError(Exception e) at System.Web.UI.Page.d__2c.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.TaskAsyncHelper.EndTask(IAsyncResult ar) at ASP.umbraco_settings_editnodetypenew_aspx.EndProcessRequest(IAsyncResult ar) in c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\5409f21c\234547e6\App_Web_editnodetypenew.aspx.a5729980.qos-kpyv.0.cs:line 0 at System.Web.HttpApplication.CallHandlerExecutionStep.OnAsyncHandlerCompletion(IAsyncResult ar)

1 Attachments

Comments

Shannon Deminick 15 Dec 2014, 00:47:27

This is fixed in rev: 60a1116acd116d0d83423ceb007577835833daf8

Was due to this commit, I've added a comment to see if the change was required for some other reason: https://github.com/umbraco/Umbraco-CMS/commit/81e56bed9efc615158316f7b49c0e24fb3906a45#commitcomment-8965178


Tommy Enger 16 Dec 2014, 07:36:03

--I updated /bin/ /umbraco/ and /umbraco_client/ folder from the 7.2.1 release, but I still get the same error. Anything else I need to do to get it working?--

I was too quick there... works :)


Tom Richardson 01 Apr 2015, 15:37:15

@Shandem This problem also exists for the RefreshMemberCache call, and still appears to be an active problem in 7.2.3


Shannon Deminick 01 Apr 2015, 22:48:26

@kwarismian If you have a new issue you need to open a new issue as this one is closed and already targets a previous release. Please include all information and steps to reproduce on the new issue created.


wtct 03 Nov 2016, 11:26:59

We have the same problem in 6.2.6.

Do we have to upgrade to 7.2.1 to solve this problem?


wtct 03 Nov 2016, 11:32:53

@Shandem We have the same problem in 6.2.6. I checked source code and this line is not commented in 6.2.6 release.


Priority: Major

Type: Bug

State: Fixed

Assignee: Shannon Deminick

Difficulty: Normal

Category:

Backwards Compatible: True

Fix Submitted:

Affected versions: 7.2.0

Due in version: 7.2.1

Sprint:

Story Points:

Cycle: