I ran into a bizarre error today. The client has two full-up DAG servers – all roles on each server, including UM. We noticed that the UM role would not stay running. Checking the DR site revealed that the DR server had the exact same set of errors and the UM service would not stay running. The errors we were seeing are:
(application log, EID 1000, source “application error”)
Faulting application name: UMworkerprocess.exe, version: 14.1.218.11, time stamp: 0x4c5faa82
Faulting module name: Microsoft.Rtc.Internal.Media.dll, version: 3.5.6907.206, time stamp: 0x4c2c21fe
Exception code: 0xc0000005
Fault offset: 0x000000000019ccab
Faulting process id: 0x%9
Faulting application start time: 0x%10
Faulting application path: %11
Faulting module path: %12
Report Id: %13
(application log, EID 1430, source MSExchange Unified Messaging)
The Unified Messaging server shut down process umservice (PID=17732) because a fatal error occurred.
(application log, EID 1038, source MSExchange Unified Messaging
The Microsoft Exchange Unified Messaging service was unable to start. More information: "Microsoft.Exchange.UM.UMService.UMServiceException: The UM worker process exceeded the configured maximum number of consecutive crashes, "5".
at Microsoft.Exchange.UM.UMService.WorkerProcessManager.RestartWorkerInstance(WorkerInstance workerInstance)
at Microsoft.Exchange.UM.UMService.WorkerProcessManager.OnWorkerExited(WorkerInstance workerInstance, Boolean resetRequested, Boolean fatalError)
at Microsoft.Exchange.UM.UMService.WorkerInstance.OnExited(Object sender, EventArgs e)
at System.Diagnostics.Process.OnExited()
at System.Diagnostics.Process.RaiseOnExited()
at System.Threading._ThreadPoolWaitOrTimerCallback.WaitOrTimerCallback_Context_f(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading._ThreadPoolWaitOrTimerCallback.PerformWaitOrTimerCallback(Object state, Boolean timedOut)"
WFT?!
I could not find anything obvious, and a Google on these items turned up nothing substantive. I double-checked my install as-builts, verified that the proper prerequisite were met (desktop-experience, speechplatformruntime, ucmaruntimesteup). I also checked the remainder of the services to confirm that all other Exchange functions were as expected.
I went down the galgrammargenerator route to rule out corrupt grxml files. I stood up a naked E2010 in a lab, installed the UM role, grabbed the core grxml files and still the UM service would not start and stay running. I then removed the service and reinstalled, which did not help.
What DID work was that I remembered that the OCS to OWA integration required a ucmaredist.msp file…so I tried that. Voila!
Question to ponder: why did the lab server install and function properly without the ucmaredist.msp file? I built the lab server using the same sequence and files as the prod server so as to duplicate the error.