Recently worked on an issue that was a bit strange and produced a large BAIL error in the event log. 

Environment

  • FIM 2010 RTM (4.00.2592.0) & (4.00.3576.2)
  • Mixture of several management agents, where one was a SQL Server Management Agent

Problem statement

You are running synchronizations on one of your management agents that creates an object in your SQL Server Management Agent.  In doing so, you notice that you receive some synchronization errors.

You preview the object to attempt and discover the issue, and find that you have the attribute <object-id> attempting to synchronize with another attribute.  In this case, it was extensionAttribute11.

You review the management agent properties, and discover that you do not have flow configured for <object-id>.

Reviewing the Application Event Log, you find some bail errors for the FIMSynchronizationService logged on Event ID 6301.

 

Application event log

Build 4.00.2592.0

Log Name: Application
Source: FIMSynchronizationService
Date: 8/19/2011 10:56:22 AM
Event ID: 6301
Task Category: Server
Level: Error
Keywords: Classic
User: N/A
Description:
The server encountered an unexpected error in the synchronization engine:
 "BAIL: MMS(644): eafam.cpp(1298): 0x80230304 (The image or dimage already has an attribute with that name.)
BAIL: MMS(644): eafam.cpp(946): 0x80230304 (The image or dimage already has an attribute with that name.)
BAIL: MMS(644): eafam.cpp(1013): 0x80230304 (The image or dimage already has an attribute with that name.)
BAIL: MMS(644): amexec.cpp(1641): 0x80230304 (The image or dimage already has an attribute with that name.)
BAIL: MMS(644): amexec.cpp(2025): 0x80230304 (The image or dimage already has an attribute with that name.)
BAIL: MMS(644): eaf.cpp(1383): 0x80230304 (The image or dimage already has an attribute with that name.)
BAIL: MMS(644): eaf.cpp(656): 0x80230304 (The image or dimage already has an attribute with that name.)
ERR: MMS(644): synccoreimp.cpp(5219): 0x80230304 - export-flow failed 0x80230304
BAIL: MMS(644): synccoreimp.cpp(5220): 0x80230304 (The image or dimage already has an attribute with that name.)
BAIL: MMS(644): synccoreimp.cpp(4824): 0x80230304 (The image or dimage already has an attribute with that name.)
BAIL: MMS(644): synccoreimp.cpp(10670): 0x80230304 (The image or dimage already has an attribute with that name.)
BAIL: MMS(644): synccoreimp.cpp(10354): 0x80230304 (The image or dimage already has an attribute with that name.)
BAIL: MMS(644): synccoreimp.cpp(2527): 0x80230304 (The image or dimage already has an attribute with that name.)
ERR: MMS(644): synccoreimp.cpp(6306): 0x80230304 - MV to CS synchronization failed 0x80230304: [{EF9D2479-16BE-42D4-A9E3-7EE17F285E1B}]
BAIL: MMS(644): synccoreimp.cpp(6309): 0x80230304 (The image or dimage already has an attribute with that name.)
ERR: MMS(644): syncmonitor.cpp(2515): SE: Rollback SQL transaction for: 0x80230304
MMS(644): SE: CS image begin
MMS(644): SE: CS image end
Forefront Identity Manager 4.0.2592.0"
Event Xml:

After installing 4.00.3576.2)

The ser’ier encountered an unexpected error in the synchronization engine:
“BAIL: MMS(5980): eafam.cpp(1298): 0x80230304 (The image or dimage already has an attribute with that name.)
BAIL: MMS(5980): eafam.cpp(946): 0x80230304 (The image or dimage already has an attribute with that name.)
BAIL: MMS(5980): eafam.cpp(1013): 0x80230304 (The image or dimage already has an attribute with that name.)
BAIL: MMS(5980): amexec.cpp(1701): 0x80230304 (The image or dimage already has an attribute with that name.)
BAIL: MMS(5980): amexecjcpp(2086): 0x80230304 (The image or dimage already has an attribute with that name.)
BAIL: MMS(5980): eaf.cpptl4lfl: 0x80230304 (The image or dimage already has an attribute with that name.)
BAIL: MMS(5980): eaf.cpp(657): 0x80230304 (The image or dimage already has an attribute with that name.)
ERR: MMS(5980): synccoreimp.cpp(5250): 0x80230304 - export-flow failed 0x80230304
BAIL: MMS(5980): synccoreimp,cpp(5251): 0x80230304 (The mage or dimage already has an attribute with that name.)
BAIL: MMS(5980): synccoreimp.cpp(4842): 0x80230304 (The image or dimage already has an attribute with that name.)
BAIL: MMS(5980): synccoreimp.cpp(10748): 0x80230304 (The image or dimage already has an attribute with that name.)
BAIL: MMS(5980): synccoreimp.cpp(10432): 0x80230304 (The image or dimage already has an attribute with that name.)
BAIL: MMS(5980): synccoreimp.cpp(2527): 0x80230304 (The image or dimage already has an attribute with that name.)
ERR: MMS(5980): synccoreimp.cpp(6366): 0x80230304 - MVto CS synchronization failed 0x80230304: [{C6A8A9BF-492A-4384-BFE8-
99D480F86234}]
BAIL: MMS(5980): synccoreimpcpp(6369): 0x80230304 (The image or dimage already has an attribute with that name.)
ERR: MMS(5980): syncmonitor.cpp(2515): SE: Rollback SQL transaction for: 0x80230304
MMS(5980): SE: CS image begin
MMS(5980): SE: CS image end
Forefront Identity Manager 4.0.3576.2”
Log Name: Application
Source: FlMSynchronizationService Logged: 9/8/2011 4:46:31 PM
Event ID: 6301 Task Category: Server
Level: Error Keyords: Classic

Cause

After a close investigation, we found that the table being referenced in the SQL Server Management Agent contained a field with the name Object-ID.  The Synchronization Service engine works with a field/attribute called object-id.  The Synchronization Engine had problems with the SQL Server Management Agent having a field/attribute called Object-ID.

Resolution

In this case, we removed the “-“ from the Object-ID field name in the underlying table for the SQL Server Management Agent.  Once we removed the “-“, we were able to synchronize without issue.