User Profile Sync service Stuck on Starting​​,: Index (zero based) must be greater than or equal to zero and less than the size of the argument list

 

Got this while troubleshooting a Customer case where  the User Profile Sync service would be Stuck on starting with following being logged ULS Logs

08/07/2015 18:39:30.84        OWSTIMER.EXE (0x1C3C)        0x2CFC        SharePoint Portal Server        User Profiles        9q1j        Medium        ILM Configuration: Opening firewall ports.     

08/07/2015 18:39:31.05        OWSTIMER.EXE (0x1C3C)        0x2CFC        SharePoint Portal Server        User Profiles        9q1k        Medium        ILM Configuration: Starting services.      

08/07/2015 18:39:31.05        OWSTIMER.EXE (0x1C3C)        0x2CFC        SharePoint Portal Server        User Profiles        9q15        High        UserProfileApplication.SynchronizeMIIS: Failed to configure ILM, will attempt during next rerun. Exception: System.FormatException: Index (zero based) must be greater than or equal to zero and less than the size of the argument list.

at System.Text.StringBuilder.AppendFormat(IFormatProvider provider, String format, Object[] args)

at System.String.Format(IFormatProvider provider, String format, Object[] args)

at Microsoft.Office.Server.Administration.ProfileSynchronizationServiceInstance.IsStarted(ServiceController controller)

at Microsoft.Office.Server.Administration.ProfileSynchronizationServiceInstance.WaitUntilStarted()

at Microsoft.Office.Server.Administration.UserProfileApplication.SetupSynchronizationService(ProfileSynchronizationServiceInstance profileSyncInstance).       

08/07/2015 18:39:31.05        OWSTIMER.EXE (0x1C3C)        0x2CFC        SharePoint Portal Server        User Profiles        9i1u        Medium        UserProfileApplication.SynchronizeMIIS: End setup for 'UPA1'.      

 

Possible Causes  & remediation steps

1. Check for dependency on  FIM service .

image

# If there is a Dependency , Then go the Regkey "DependonService" & remove it . Had Seen that one of the customer had a dependency set some how , while their should not be any

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\FIMService

image

 

 

2. follow the following action plan to increase the service startup timeout:

1. Click Start, click Run, type regedit, and then click OK.

2. Locate and then click the following registry subkey:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control

3. In the right pane, locate the ServicesPipeTimeout entry. If the ServicesPipeTimeout entry does not exist, you must create it. To do this, follow these steps:

On the Edit menu, point to New, and then click DWORD Value.

Type ServicesPipeTimeout, and then press ENTER.

Right-click ServicesPipeTimeout, and then click Modify.

4. Click Decimal, type 300000, and then click OK.This value represents the time in milliseconds before a service times out.

5. Restart the computer.

6. Restart the UPA sync service.

 

Post By : Rajan Kapoor [MSFT]