Sorry for the break, I will try to post more frequently in the near future.
Sometimes a very small mistake can lead into a bigger problem, where you can spend a lot time on.
This happens to me with FIM Sync Rules some days ago.
I created a sync rule in the FIM Portal to import some objects from Active Directory. I used the sync rule method without using EREs, so I set up an Outbound Scope Filter, like in the screenshot below.
The outbound scope filter just checks a string and a Boolean attribute to determine the objects for which outbound sync should apply. But exactly there I made my small mistake.
I ran a delta import on the FIM MA and after that a delta sync and got an error that Sync Engine service has stopped (stopped-server).
No other information where displayed and the event log only shows some not very useful errors.
Faulting application name: miiserver.exe, version: 4.1.3510.0, time stamp: 0x5307e22e Faulting module name: ntdll.dll, version: 6.1.7601.18229, time stamp: 0x51fb164a Exception code: 0xc0000374 Fault offset: 0x00000000000c4102 Faulting process id: 0x2c68 Faulting application start time: 0x01cf86eb70f151bf Faulting application path: D:\FIM\Synchronization Service\Bin\miiserver.exe Faulting module path: C:\Windows\SYSTEM32\ntdll.dll Report Id: b4f78312-01e0-11e4-adbb-3c4a927120f6
Using the preview function on the Management Agent instead of a normal delta sync throws me another error:
Unable to get preview XML from server, the remote procedure call failed.
So I spend some hours on investigation on this error and tried a lot of things, one of the last things I tried was to remove one of the outbound scope filter rules, so removed the userclass string attribute and only test my sync rule with the boolean attribute in the scope filter.
Now I got a sync-rule-scoping-filter-invalid-xml error together with another crash of the Sync Engine.
I take a deeper look on my scope filter and just for fun I changed the value from “True” to “true” (upper/lowercase).
Another delta import followed by a delta sync and the sync rule was projected into to metaverse.
So I spend 3 hours on just an upper/lowercase typo problem, thanks a lot FIM. 😉
I tried to reproduce the error on another environment, and also get the sync-rule-scoping-filter-invalid-xml error but this Sync Engine didn’t crash. Seems to be a combination of maybe the patch level and other things the lead into the complete crash of the service.
So everyone, be a careful using compare values on boolean attributes in scope filters.