none
SharePoint 2013 March 2018 CU issue: Profile Synchronization service cannot start RRS feed

  • Question

  • Hi SharePoint admins!

    There seems to be a bug caused by the installation of the March 2018 CU for SharePoint 2013. When you try to start the User Profile Synchronization service (click on the button) it fails and in the ULS log writes the following:

    Name=Request (GET:http://darkweb001:2141/_layouts/15/ProfileSynchronizationServiceProvisionPage.aspx?ProfileSynchronizationServiceInstanceId=someGUID)
    
    Application error when access /_layouts/15/ProfileSynchronizationServiceProvisionPage.aspx, Error=AccessKey too long, cannot be more than one character.  Parameter name: value  
     at System.Web.UI.WebControls.WebControl.set_AccessKey(String value)    
     at Microsoft.SharePoint.Portal.WebControls.InputFormButtonAtBottom.set_AccessKeyLocId(LocStringId value)    
     at ASP._layouts_15_profilesynchronizationserviceprovisionpage_aspx.__BuildControl__control11()    
     at ASP._layouts_15_profilesynchronizationserviceprovisionpage_aspx.__BuildControlProfileSyncProvisionSettingsForm()    
     at ASP._layouts_15_profilesynchronizationserviceprovisionpage_aspx.__BuildControl__control4(Control __ctrl)    
     at System.Web.UI.MasterPage.InstantiateInContentPlaceHolder(Control contentPlaceHolder, ITemplate template)    
     at ASP._admin_admin_master.__BuildControlDeltaPlaceHolderMain()    
     at ASP._admin_admin_master.__BuildControl__control27()    
     at ASP._admin_admin_master.__BuildControlSPHtmlTag()    
     at ASP._admin_admin_master.__BuildControlTree(_admin_admin_master __ctrl)    
     at System.Web.UI.MasterPage.CreateMaster(TemplateControl owner, HttpContext context, VirtualPath masterPageFile, IDictionary contentTemplateCollection)    
     at System.Web.UI.Page.ApplyMasterPage()    
     at System.Web.UI.Page.PerformPreInit()    
     at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
     
     
     
     System.ArgumentOutOfRangeException: AccessKey too long, cannot be more than one character.  Parameter name: value   
     at System.Web.UI.WebControls.WebControl.set_AccessKey(String value)    
     at Microsoft.SharePoint.Portal.WebControls.InputFormButtonAtBottom.set_AccessKeyLocId(LocStringId value)    
     at ASP._layouts_15_profilesynchronizationserviceprovisionpage_aspx.__BuildControl__control11()    
     at ASP._layouts_15_profilesynchronizationserviceprovisionpage_aspx.__BuildControlProfileSyncProvisionSettingsForm()    
     at ASP._layouts_15_profilesynchronizationserviceprovisionpage_aspx.__BuildControl__control4(Control __ctrl)    
     at System.Web.UI.MasterPage.InstantiateInContentPlaceHolder(Control contentPlaceHolder, ITemplate template)    
     at ASP._admin_admin_master.__BuildControlDeltaPlaceHolderMain()    
     at ASP._admin_admin_master.__BuildControl__control27()    
     at ASP._admin_admin_master.__BuildControlSPHtmlTag()    
     at ASP._admin_admin_master.__BuildControlTree(_admin_admin_master __ctrl)    
     at System.Web.UI.MasterPage.CreateMaster(TemplateControl owner, HttpContext context, VirtualPath masterPageFile, IDictionary contentTemplateCollection)    
     at System.Web.UI.Page.ApplyMasterPage()    
     at System.Web.UI.Page.PerformPreInit()    
     at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
     
     
     Getting Error Message for Exception System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.ArgumentOutOfRangeException: AccessKey too long, cannot be more than one character.  Parameter name: value    
     at System.Web.UI.WebControls.WebControl.set_AccessKey(String value)    
     at Microsoft.SharePoint.Portal.WebControls.InputFormButtonAtBottom.set_AccessKeyLocId(LocStringId value)    
     at ASP._layouts_15_profilesynchronizationserviceprovisionpage_aspx.__BuildControl__control11()    
     at ASP._layouts_15_profilesynchronizationserviceprovisionpage_aspx.__BuildControlProfileSyncProvisionSettingsForm()    
     at ASP._layouts_15_profilesynchronizationserviceprovisionpage_aspx.__BuildControl__control4(Control __ctrl)    
     at System.Web.UI.MasterPage.InstantiateInContentPlaceHolder(Control contentPlaceHolder, ITemplate template)    
     at ASP._admin_admin_master.__BuildControlDeltaPlaceHolderMain()    
     at ASP._admin_admin_master.__BuildControl__control27()    
     at ASP._admin_admin_master.__BuildControlSPHtmlTag()    
     at ASP._admin_admin_master.__BuildControlTree(_admin_admin_master __ctrl)    
     at System.Web.UI.MasterPage.CreateMaster(TemplateControl owner, HttpContext context, VirtualPath masterPageFile, IDictionary contentTemplateCollection)    
     at System.Web.UI.Page.ApplyMasterPage()    
     at System.Web.UI.Page.PerformPreInit()    
     at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)    
     at System.Web.UI.Page.HandleError(Exception e)    
     at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)    
     at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)    
     at System.Web.UI.Page.ProcessRequest()    
     at System.Web.UI.Page.ProcessRequest(HttpContext context)    
     at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()    
     at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

    So it appears that this can no longer take the argument it used to for many years now:

    C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\profilesynchronizationserviceprovisionpage.aspx

            <SPSWC:InputFormButtonSection runat="server">
    	        <SPSWC:InputFormButtonAtBottom id="btnOK" runat="server" TextLocId="Page_OkButton_Text" AccessKeyLocID="ProfileAdmin_OK_AccessKey" />
    	        <SPSWC:InputFormButtonAtBottom id="btnCancel" CausesValidation="false" runat="server" TextLocId="Page_CancelButton_Text" AccessKeyLocID="ProfileAdmin_Cancel_AccessKey" />
            </SPSWC:InputFormButtonSection>

    Does anybody know how this can be fixed? (AccessKeyLocID argument)

    Or maybe what the hell this is all about? I checked Stefan Gossner's blog and nothing is mentioned there about such a horrific issue. :/

    P.S. There seems to be at least one more admin with the same headache.


    [SharePoint lurker]



    • Edited by Vadim Shupak Friday, March 23, 2018 3:29 PM edited title for clarity
    Friday, March 23, 2018 3:14 PM

Answers

All replies

  • You are not alone. Hope that M$ will share a official patch/workaround soon.

    I managed to overcome this issue just by replacing the file C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\profilesynchronizationserviceprovisionpage.aspx with the one from previous patch version (February 2018). In my case the issue appeared on UAT and I copied the file from Production environment.

    Hope that helps.

    Friday, March 23, 2018 4:29 PM
  • Thanks, Florin!

    I will check it, although I think they matched.


    [SharePoint lurker]

    Friday, March 23, 2018 4:58 PM
  • I am having same issue. Windows updates enabled in SharePoint production server and all the updates installed for SharePoint. Is there any other option to fix the issue?

    Suresh Pydi

    Saturday, March 24, 2018 7:43 AM
  • No luck so far. In my case these files are exactly the same - I used notepad++'s compare plugin and additionally, the files were not modified since 2012, so I am thinking there's something else I at play.

    [SharePoint lurker]

    Saturday, March 24, 2018 7:46 AM
  • We installed only security patches, not CU, that were released earlier March. We have same errors in two environments that have these patches installed. We have reached out to Microsoft and very few information is available on line.

    I am going to open a ticket with Microsoft to resolve this problem. I will update when I have something new.

    Thanks.

    Tuesday, March 27, 2018 1:06 PM
  • Thank you, cobra chen! We have installed them both in the same day, so did not validate the scenario with security updates.

    [SharePoint lurker]

    Tuesday, March 27, 2018 2:31 PM
  • I have talked to Microsoft support engineer and now they kind confirm that this is due to one of the security patches released earlier in March. We did not install CU, only security patches. So, if you have installed March CU, the same file is included in the CU package.

    There is a workaround, depends where you want to fix it:

    1. When you start user profile synch service in CA, you got AccessKey error.
    2. When you open user profile service application, open configure synch connection, click on Edit and got AccessKey error.

    Even though they have returned same error, they represent work around to different pages. I have tried the first one and I could restart the service from CA. I need to do more test before I think this is a good work around. The 2nd one I only identified it came from a different page. I am not sure the same work around would fix it.

    Microsoft should start working on this issue but I do not know when they will have something for everyone.

    I will come back tomorrow to update with my test, if I could find sometime to do it.

    Thank you very much.

    Tuesday, March 27, 2018 10:56 PM
  • Thanks Cobra chen

    Suresh Pydi

    Wednesday, March 28, 2018 7:45 PM
  • Good news!

    https://blogs.technet.microsoft.com/stefan_gossner/2018/03/29/common-problem-with-march-2018-security-fixes-for-sharepoint-2013-accesskey-too-long-cannot-be-more-than-one-character/


    [SharePoint lurker]

    Thursday, March 29, 2018 9:19 AM
  • There is a simple fix for this issue:

    • Delete the content of the following folder:
      C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files

    • Restart IIS (e.g. using IISRESET)

    https://blogs.technet.microsoft.com/stefan_gossner/2018/03/29/common-problem-with-march-2018-security-fixes-for-sharepoint-2013-accesskey-too-long-cannot-be-more-than-one-character/


    Stefan Goßner Senior Escalation Engineer - Microsoft Support Services This post is provided "AS IS" with no warrenties and confers no rights.

    • Marked as answer by Vadim Shupak Thursday, March 29, 2018 12:05 PM
    Thursday, March 29, 2018 11:50 AM
  • That worked, many thanks!


    [SharePoint lurker]

    Thursday, March 29, 2018 12:12 PM
  • I just got the same link from the support engineer regarding the updated resolution. Even though I am not sure March CU would not break this in our environment or not, I am glad to see a much easier resolution than I had tried two days ago.

    Thanks.

    Thursday, March 29, 2018 2:09 PM
  • Stefan Goßner's solution worked for me, though in order to delete the files in the Temporary ASP.NET folder I had to first do an iisreset /stop and then do iisreset /start after deleting all the folders and files.

    Tom


    SharePoint Systems Officer, Capital Regional District, BC, Canada








    Wednesday, June 6, 2018 12:10 AM