Support-Info(UPA2010): Failed to configure ILM MA
APPLIES TO
- SharePoint 2010 User Profile Synchronization Service
- Forefront Identity Manager 2010 (4.0.2450.49)
PROBLEM SCENARIO DESCRIPTION
- Attempting to start the User Profile Synchronization Service from SharePoint Central Administration, we see that the Forefront Identity Manager services (Forefront Identity Manager Service and Forefront Identity Manager Synchronization Service) both start just fine, but then they move to a stopping phase and you have to kill the service.
TROUBLESHOOTING
- Reviewing the ULS logs, we see a call out to the http://<fimserviceendpoint:5725/ResourceManagementService/ResourceFactory and a SQL Server Timeout
- Reviewed SQL Server and found that the Initial Size and Autogrow settings were quite small so we adjusted those, but I don't think that had anything to do with this issue.
- The Application Event Log and the FIM Service Trace contained the same exceptions and information on the exceptions.
ULS LOGS |
UserProfileApplication.SynchronizeMIIS: Failed to configure ILM MA, will attempt during next rerun. Exception: System.TimeoutException: The request channel timed out while waiting for a reply after 00:04:59.9844719. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout. ---> System.TimeoutException: The HTTP request to 'http://usphicwsrv500:5725/ResourceManagementService/ResourceFactory' has exceeded the allotted timeout of 00:05:00. The time allotted to this operation may have been a portion of a longer timeout. ---> System.Net.WebException: The operation has timed out |
APPLICATON EVENT LOG |
Log Name: ApplicationSource: Forefront Identity ManagerEvent ID: 3Level: ErrorKeywords: ClassicDescription:The description for Event ID 3 from source Forefront Identity Manager cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.If the event originated on another computer, the display information had to be saved with the event.The following information was included with the event:Microsoft.ResourceManagement.ResourceManagementException: Exception from HRESULT: 0x80230616 ---> System.Runtime.InteropServices.COMException (0x80230616): Exception from HRESULT: 0x80230616 at MIISRCW.IMMSServer.CreateMA(String pszMADataXML, String& ppszUpdatedXML) at Microsoft.ResourceManagement.SyncConfig.CreateMA(String maData, String& returnString) at Microsoft.ResourceManagement.ActionProcessor.SyncConfigActionProcessor.Create(String typeName, IList`1 createParameters, Guid creator, Guid cause) --- End of inner exception stack trace --- |
FIM SERVICE TRACE LOGS |
TRACE EVENTS<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"><System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"><EventID>3</EventID><Type>3</Type><SubType Name="Error">0</SubType><Level>2</Level><TimeCreated SystemTime="2017-06-20T20:15:18.0134231Z" /><Source Name="Microsoft.ResourceManagement" /><Correlation ActivityID="{00000000-0000-0000-0000-000000000000}" /><Execution ProcessName="Microsoft.ResourceManagement.Service" ProcessID="5712" ThreadID="20" /><Channel /><Computer>USPHICWSRV500</Computer></System><ApplicationData>Microsoft.ResourceManagement: Microsoft.ResourceManagement.ResourceManagementException: Exception from HRESULT: 0x80230616 ---> System.Runtime.InteropServices.COMException (0x80230616): Exception from HRESULT: 0x80230616at MIISRCW.IMMSServer.CreateMA(String pszMADataXML, String& ppszUpdatedXML)at Microsoft.ResourceManagement.SyncConfig.CreateMA(String maData, String& returnString)at Microsoft.ResourceManagement.ActionProcessor.SyncConfigActionProcessor.Create(String typeName, IList`1 createParameters, Guid creator, Guid cause)--- End of inner exception stack trace ---at Microsoft.ResourceManagement.Utilities.ExceptionManager.ThrowException(Exception exception)at Microsoft.ResourceManagement.ActionProcessor.SyncConfigActionProcessor.Create(String typeName, IList`1 createParameters, Guid creator, Guid cause)at Microsoft.ResourceManagement.ActionProcessor.SyncConfigActionProcessor.ProcessInputRequest(RequestType request)at Microsoft.ResourceManagement.ActionProcessor.ActionDispatcher.ProcessInputRequest(RequestType request)at Microsoft.ResourceManagement.WebServices.RequestDispatcher.ExecuteAction(RequestType request)at Microsoft.ResourceManagement.WebServices.RequestDispatcher.ExecuteAction[ResponseBodyType](RequestType request)at Microsoft.ResourceManagement.WebServices.RequestDispatcher.DispatchRequest[ResponseBodyType](RequestType request, Guid requestIdentifier, Object redispatchSingleInstanceKey)at Microsoft.ResourceManagement.WebServices.RequestDispatcher.DispatchRequest[ResponseBodyType](RequestType request)at Microsoft.ResourceManagement.WebServices.ResourceManagementService.Create(Message request)<System.Diagnostics xmlns="http://schemas.microsoft.com/2004/08/System.Diagnostics"><LogicalOperationStack></LogicalOperationStack><Timestamp>277425967490031</Timestamp><Callstack>Â Â at System.Environment.get_StackTrace()at System.Diagnostics.TraceEventCache.get_Callstack()at System.Diagnostics.XmlWriterTraceListener.WriteFooter(TraceEventCache eventCache)at System.Diagnostics.TraceSource.TraceEvent(TraceEventType eventType, Int32 id, String format, Object[] args)at Microsoft.ResourceManagement.Utilities.LoggingManager.ReportError(Exception exception)at Microsoft.ResourceManagement.WebServices.ResourceManagementService.Create(Message request)at SyncInvokeCreate(Object , Object[] , Object[] )at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)at System.ServiceModel.Dispatcher.ServiceOperationInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc)at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)at System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump(RequestContext request, Boolean cleanThread, OperationContext currentOperationContext)at System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(RequestContext request, OperationContext currentOperationContext)at System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult result)at System.ServiceModel.Diagnostics.Utility.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)at System.ServiceModel.AsyncResult.Complete(Boolean completedSynchronously)at System.ServiceModel.Channels.SecurityChannelListener`1.ReceiveItemAndVerifySecurityAsyncResult`2.InnerTryReceiveCompletedCallback(IAsyncResult result)at System.ServiceModel.Diagnostics.Utility.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)at System.ServiceModel.AsyncResult.Complete(Boolean completedSynchronously)at System.ServiceModel.Channels.InputQueue`1.AsyncQueueReader.Set(Item item)at System.ServiceModel.Channels.InputQueue`1.Dispatch()at System.ServiceModel.Channels.InputQueue`1.OnDispatchCallback(Object state)at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.WorkItem.Invoke2()at System.Security.SecurityContext.Run(SecurityContext securityContext, ContextCallback callback, Object state)at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.WorkItem.Invoke()at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.ProcessCallbacks()at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.CompletionCallback(Object state)at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.ScheduledOverlapped.IOCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)at System.ServiceModel.Diagnostics.Utility.IOCompletionThunk.UnhandledExceptionFrame(UInt32 error, UInt32 bytesRead, NativeOverlapped* nativeOverlapped)at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)</Callstack></System.Diagnostics></ApplicationData></E2ETraceEvent> |
CAUSE
- In this scenario, the customer had Azure AD Connect installed on the same server as the SharePoint 2010 UPA
- I believe this could have been a mix between DCOM Components being updated by AAD Connect Sync and/or the SQL Server Express Information on the box. Not sure though.
RESOLUTION
- Uninstall Azure AD Connect
- Reboot the SharePoint UPA Server
- Start the User Profile Synchronization Service from Central Administration
ADDITIONAL RESOURCES / LINKS
- Discovered this one during the troubleshooting phase: SharePoint 2010 User Profile Services fails to start: http://www.paulgrimley.com/2010/07/sharepoint-2010-user-profile-service.html