The situation

One of our clients reported recently, that the content managers started to be affected by a situation, where they were…

  1. not able to fully load the Sitecore Experience Editor anymore (stuck with the spinning loading-icon)
  2. and also weren't able to use the Sitecore Link Manager in the Content Editor anymore (content tree was not loading anymore / empty).

The failed solution attempt

Upon reproducing the situation, the first approach was to simply clear the Sitecore caches via:

/sitecore/admin/cache.aspx

But unfortunately this did not help nor resolve the situation.

The real cause of the issues

As seen from the web-browser console
By inspecting the issues further, the following errors in the web-browser console / developer tools were noticed:
Application Cache Progress event /-/speak/v1/ribbon/QuickBar.js – ?sc_mode=edit&...
Application Cache Error event: Resource fetch failed (500) /-/speak/v1/ribbon/QuickBar.js
GET /-/speak/v1/assets/main.js net::ERR_ABORTED – require.js
Uncaught Error: Script error for: main – require.js

As seen in the Sitecore log
Additionally, the Sitecore log confirmed issues with the SPEAK UI:
4072 09:51:17 INFO AUDIT (sitecore\user):
Start editing: master:/sitecore/content/Site/Home/Pageitem, language: en-US, version: 1, id: {8F009746-5E94-40B1-8E93-DAD797BB9E21}

7948 09:51:41 ERROR Application error.
Exception: System.NullReferenceException
Message: Object reference not set to an instance of an object.
Source: Sitecore.Speak.Client
at Sitecore.Resources.Pipelines.ResolveScript.Controls.Scan()
at Sitecore.Resources.Pipelines.ResolveScript.Controls.Process(ResolveScriptArgs args)
at (Object , Object[] )
at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
at Sitecore.Resources.Scripts.ScriptHandler.DoProcessRequest(HttpContext context)
at Sitecore.Resources.Scripts.ScriptHandler.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

The final solution

We ended up simply performing a proper IIS restart of the Sitecore AppPool on the Content Management-Webserver: as soon as the Sitecore site was up and running again – the JavaScript errors in the Sitecore Content Editor & Experience Editor were gone.

Unfortunately the first rule of IT Crowd seemed to apply here:

IT Crowd - Turning it Off and On again

We hope you will never run into this issue – but if you do, we hope this article helps resolving the issue more quickly.