A User May Experience a Slow Logoff Process Because of an Open Registry Handle in the Classes Hive (319909)



The information in this article applies to:

  • Microsoft Windows 2000 Server SP1
  • Microsoft Windows 2000 Server SP2
  • Microsoft Windows 2000 Advanced Server SP1
  • Microsoft Windows 2000 Advanced Server SP2
  • Microsoft Windows 2000 Professional SP1
  • Microsoft Windows 2000 Professional SP2

This article was previously published under Q319909

SYMPTOMS

The first user who logs on to a workstation after the computer is restarted may experience slow logoff times (more than 60 seconds). When this problem occurs, the Userenv.log file contains entries that are similar to:

USERENV(76c.818) 13:06:00:133 MyRegUnLoadKey: Hive unload for S-1-5-21-789336058-1580818891-1801674531-1106_Classes failed due to open registry key. Windows will try unloading the registry hive once a second for the next 60 seconds (max).

-or-

Event Type:Error
Event Source:Userenv
Event Category:None
Event ID:1000
Date:4/26/2002
Time:10:54:46 AM
User:NT AUTHORITY\SYSTEM
Computer:ComputerName
Description:
Windows cannot unload your registry class file. If you have a roaming profile, your settings are not replicated. Contact your administrator.

DETAIL Access is denied. , Build number ((2195)).

Diagnostic tools (such as Oh.exe) show that Lsass.exe has an open handle to this key.

CAUSE

The Activeds.dll dynamic-link library (DLL) creates COM instances during initialization. This indirectly causes a handle to HKEY_CURRENT_USER\Software\Classes to be cached. If Activeds.dll is initialized by a thread in a service process while the thread impersonates a user, the handle persists after the user logs off.

RESOLUTION

To resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

260910 How to Obtain the Latest Windows 2000 Service Pack

The English version of this fix has the file attributes (or later) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
   Date         Time   Version        Size     File name
   --------------------------------------------------------
   15-Apr-2002  15:20  5.0.2195.4898  182,544  Activeds.dll
				
Note Although the hotfix package for this fix is listed as post-SP3, the fix is included in Windows 2000 Service Pack 3 (SP3).

WORKAROUND

To work around this problem, turn on the IPSec Policy agent.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Windows 2000 Service Pack 3.

MORE INFORMATION

HKEY_CURRENT_USER\Software\Classes is an alias of HKEY_USERS\_user_sid_Classes, which is a user's private classes hive (the Userprofile\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat file). When it accesses HKEY_CLASSES_ROOT (which is aliased to HKEY_LOCAL_MACHINE\Software\Classes), Advapi32 first checks HKEY_CURRENT_USER\Software\Classes for an override. An open handle to the user's private classes key is cached for performance reasons.

If the IPSec Policy agent is running (it runs in Lsass.exe), it loads and initializes Activeds in the System context during the startup process. User class key overrides are not possible in this case. However, if the agent is not running, the first time that HKEY_CLASSES_ROOT is read may be in the user's context (that is, by an impersonating thread during the user's logon process). This causes a handle to the user's classes key to be cached.

For additional information about how to obtain a hotfix for Windows 2000 Datacenter Server, click the article number below to view the article in the Microsoft Knowledge Base:

265173 The Datacenter Program and Windows 2000 Datacenter Server Product

For additional information about how to install multiple hotfixes with only one reboot, click the article number below to view the article in the Microsoft Knowledge Base:

296861 Use QChain.exe to Install Multiple Hotfixes with One Reboot

For additional information about how to install Windows 2000 and Windows 2000 hotfixes at the same time, click the article number below to view the article in the Microsoft Knowledge Base:

249149 Installing Microsoft Windows 2000 and Windows 2000 Hotfixes



Modification Type:MinorLast Reviewed:9/27/2005
Keywords:kbHotfixServer kbQFE kbbug kbDirServices kbfix kbWin2000PreSP3Fix kbWin2000sp3fix KB319909