Sync Engine crash using outbound scope filter in sync rules

Hello,
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.

FIMError3

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).

FIMError2

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.

FIMError1

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.

FIMError4

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.
Damn…..

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.

Peter

%d bloggers like this: