The Configuration Manager console appears to hang when you add a driver to a boot image

Applies to: Microsoft System Center 2012 Configuration Manager Service Pack 2Microsoft System Center 2012 R2 Configuration Manager Service Pack 1

Symptoms


When you add a driver on the Drivers tab of the properties of a boot image, the Microsoft System Center Configuration Manager console may appear to hang or stop responding while it is loading the list of drivers from the driver catalog. For example, in an environment that has 500 drivers, the console may appear to stop responding for up to 8 minutes. However, the exact number of drivers and length of delay will vary, depending on system performance.

During this time, a review of the Smsprov.log file on the site server shows that Configuration Manager is in fact enumerating through the available drivers:

CExtUserContext::EnterThread : User=<DOMAIN\user> Sid=0x010500000:-000000515XXXXCEBFCF270C2XXXXC3CAFFF0 Caching IWbemContextPtr=0000008DEF086000 in Process 0x1534 (5428)    SMS Provider      5/27/2015 9:21:39 AM    2700 (0x0A8C) Context: SMSAppName=Configuration Manager Administrator console      SMS Provider               5/27/2015 9:21:39 AM    2700 (0x0A8C) Context: MachineName=<siteserver.fqdn>             SMS Provider      5/27/2015 9:21:39 AM    2700 (0x0A8C) Context: UserName==<DOMAIN\user>    SMS Provider      5/27/2015 9:21:39 AM    2700 (0x0A8C) Context: ObjectLockContext=796d1f9e-3512-4fd4-ae23-11cbe5883fda      SMS Provider               5/27/2015 9:21:39 AM    2700 (0x0A8C) Context: ApplicationName=Microsoft.ConfigurationManagement.exe        SMS Provider               5/27/2015 9:21:39 AM    2700 (0x0A8C) Context: ApplicationVersion=5.0.8239.1000           SMS Provider      5/27/2015 9:21:39 AM    2700 (0x0A8C) Context: LocaleID=MS\0x409       SMS Provider      5/27/2015 9:21:39 AM    2700 (0x0A8C) Context: __ProviderArchitecture=32         SMS Provider      5/27/2015 9:21:39 AM    2700 (0x0A8C) Context: __RequiredArchitecture=0 (Bool)              SMS Provider      5/27/2015 9:21:39 AM    2700 (0x0A8C) Context: __ClientPreferredLanguages=en-US,en   SMS Provider      5/27/2015 9:21:39 AM    2700 (0x0A8C) Context: __CorrelationId={3ACC714D-97FE-0005-897C-CC3AFE97D001}    SMS Provider               5/27/2015 9:21:39 AM    2700 (0x0A8C) Context: __GroupOperationId=181360     SMS Provider      5/27/2015 9:21:39 AM    2700 (0x0A8C) CExtUserContext : Set ThreadLocaleID OK to: 1033             SMS Provider      5/27/2015 9:21:39 AM               2700 (0x0A8C) CSspClassManager::PreCallAction, dbname=CM_392         SMS Provider      5/27/2015 9:21:39 AM               2700 (0x0A8C) ExecQueryAsync: START select FromCIID from SMS_CIRelation where ToCIID =16777966 AND RelationType=5  SMS Provider      5/27/2015 9:21:39 AM    2700 (0x0A8C) Adding Handle -346430696 to async call map         SMS Provider      5/27/2015 9:21:39 AM    2700 (0x0A8C) CExtProviderClassObject::DoCreateInstanceEnumAsync (SMS_CIRelation)  SMS Provider               5/27/2015 9:21:39 AM    2700 (0x0A8C) CSspQueryForObject :: Execute...               SMS Provider      5/27/2015 9:21:39 AM    2700 (0x0A8C) Execute WQL  =select FromCIID from SMS_CIRelation where ToCIID =16777966 AND RelationType=5  SMS Provider      5/27/2015 9:21:39 AM    2700 (0x0A8C) Execute SQL =select  all SMS_CIRelation.FromCIID from vSMS_CIRelation AS SMS_CIRelation  where (SMS_CIRelation.ToCIID = 16777966 AND SMS_CIRelation.RelationType = 5)              SMS Provider               5/27/2015 9:21:39 AM    2700 (0x0A8C) Results returned : 0 of 1  SMS Provider      5/27/2015 9:21:39 AM    2700 (0x0A8C) Removing Handle -346430696 from async call map             SMS Provider      5/27/2015 9:21:39 AM               2700 (0x0A8C) ExecQueryAsync: COMPLETE select FromCIID from SMS_CIRelation where ToCIID =16777966 AND RelationType=5       SMS Provider      5/27/2015 9:21:39 AM    2700 (0x0A8C) CExtUserContext::LeaveThread : Releasing IWbemContextPtr=-284663808              SMS Provider               5/27/2015 9:21:39 AM    2700 (0x0A8C) 

Cause


This issue occurs because of the time that is required to enumerate the available drivers.

Resolution


Depending on the number of drivers and on individual system performance, the operation may eventually complete successfully. However, to avoid the issue, consider creating additional folders to store your drivers. By doing this, you can reduce the number of drivers that are being enumerated in a single folder view.

The following workarounds are also available:
  • In the Operating Systems\Drivers node, select the driver to be added, right-click the driver, select Edit, select Boot Images, and then specify the boot image to which the selected driver is to be added.
  • During import or reimport of the driver into the driver catalog, add the driver to the necessary boot image at that time.
  • Add the driver to the boot image by using the Set-CMDriverBootImage Windows PowerShell cmdlet.
  • Use DISM to manually add the driver to the boot image.

More Information


Microsoft is investigating performance optimizations to improve the customer experience. More information will be published as it becomes available.