Just had an odd issue with a small number of synchronised objects in a MIM 2016 Dev environment. The connector space objects in the HR MA had an “unexpected-error” reported in the Sync Service. When I try to preview sync one of the objects I get the following error:
Unable to get preview XML from server.
The remote procedure call failed. (Exception from HRESULT: 0x800706BE)
Trying a couple of times actually led to the Sync Service crashing.
The following events were reporting in the Event log. I’m including them here for reference however they didn’t shed any light on the underlying issue.
Log Name: Application Source: .NET Runtime Date: 14/09/2017 9:08:30 AM Event ID: 1026 Task Category: None Level: Error Keywords: Classic User: N/A Computer: removed Description: Application: miiserver.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: exception code c0000005, exception address 0000000055A3BDC0
Log Name: Application Source: Application Error Date: 14/09/2017 9:08:30 AM Event ID: 1000 Task Category: (100) Level: Error Keywords: Classic User: N/A Computer: removed Description: Faulting application name: miiserver.exe, version: 4.4.1302.0, time stamp: 0x580f2059 Faulting module name: MSVCR100.dll, version: 10.0.40219.1, time stamp: 0x4d5f034a Exception code: 0xc0000005 Fault offset: 0x000000000003bdc0 Faulting process id: 0x112c Faulting application start time: 0x01d32b8ecc66d7f8 Faulting application path: C:\Program Files\Microsoft Forefront Identity Manager\2010\Synchronization Service\Bin\miiserver.exe Faulting module path: C:\WINDOWS\SYSTEM32\MSVCR100.dll Report Id: 74ac951a-98d8-11e7-80ce-0050569e687b Faulting package full name: Faulting package-relative application ID:
I attached the Visual Studio debugger to see if I could get more info about where the crash was happening. All I could establish was that the sync was getting all the way through the advanced import flow rules, and was getting all the way through the Provision routine, and then unceremoniously crashing. Despite many attempts to step it through I could not estable where is was crashing, but it seemed clear that it wasn’t in my code.
Watching the Output window in Visual Studio I could see various DLLs and symbols being loaded and then this:
The program '[7704] miiserver.exe' has exited with code -1073741819 (0xc0000005) 'Access violation'. The program '[7704] miiserver.exe: Program Trace' has exited with code 0 (0x0).
The “Access Violiation” message did send me down a long track of trying to figure out if some permission had been lost, but I couldn’t find anything.
Next I tried to disconnect the HR connector from the Metaverse object and was rewarded with:
Could not find any resources appropriate for the specified culture or the neutral culture. Make sure “Microsoft.DirectoryServices.MetadirectoryServices.UI.Property.SheetBase.MIMErrorMessages.resources” was correctly embedded or linked into assembly “PropertySheetBase” at compile time, or that all the satellite assemblies required are loadable and fully signed.
This is one I’ve seen before in different circumstances (manual join) Â and posted about it on the technet forum. Considering the number of responses this is not an un-common error message, but the causes can be variable.
I am now of the conclusion that this message is sometimes shown when there is an underlying sync error, but depending on where you hit the error you are shown this message instead of something helpful. This is certainly the case in my current project where a particular missing Metaverse value can cause this error to appear on a manual join, and once the Metaverse attribute is populated the join works fine. However it doesn’t crash the Sync Service so this issue on my Dev server was something new.
The “Fix”
In the end I didn’t get to the bottom of it, but I did find a work-around. While I couldn’t disconnect the HR connector, I could disconnect all the others. Once I’d done that I could disconnect the HR connector. I then re-projected it and re-joined all the connectors, and the new Metaverse object is fine and does not report any errors on sync.
So it looks like some sort of corruption relating to the Metaverse object, but I really don’t know what. It may just be something to do with it being the Dev server, with data feeds switched on and off and multiple code changes. I may have even re-built the rules extensions while syncs were running – that’s the sort of thing that can happen on your Dev server.