MMC Snap-In May Cause Access Violation with Missing Registry Entry (306074)



The information in this article applies to:

  • Microsoft Windows 2000 Server SP2
  • Microsoft Windows 2000 Advanced Server SP2

This article was previously published under Q306074
IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry

SYMPTOMS

When you are using Microsoft Management Console (MMC) with the Active Directory Sites and Services snap-in, you may receive an application error message such as the following one:
The instruction at 0x71d80a80 referenced memory at 0x00000000 The memory could not be read. Click on Ok to Terminate the program.
Note: The First hexadecimal number may change. Instead of the error message, you may notice that the program quits unexpectedly.

If you attach a debugger tool, such as Windbg, to the process or look at a user dump file created by Dr. Watson and have the proper symbols installed, the stack will look like the following text:
   ChildEBP RetAddr  Args to Child              
   0289fda0 71d73d6f 0289fde8 0289fe00 00bf4428 dsadmin!StripADsIPath+0x41 
   0289fe10 71d6ca61 00bf4428 00000000 00000000    dsadmin!CDSSearch__SetCookieFromData+0x90  
   0289fea4 71d6c92b 00bf4428 00bfe6a8 00bfe168    dsadmin!CDSDirect__CreateRootChild+0xf7  
   0289fec8 71d689ff 00bfe6a8 00bfe168 71d8b357    dsadmin!CDSDirect__EnumerateRootContainer+0x57  
   0289fed4 71d8b357 00bf9fd0 00bfe6a8 00bfe168    dsadmin!CDSComponentData__QueryFromWorkerThread+0x2e 
   0289ff14 7700ca3b 00230178 00bf2668 00bf2668    dsadmin!CWorkerThread__Run+0x69
   0289ff80 7800a3c0 0206fe48 00230178 00230178 MFC42u!Ordinal6105+0xb9
   0289ffb4 77e8758a 00bf2668 00230178 00230178 MSVCRT!_threadstartex+0x5f 
   0289ffec 00000000 7800a361 00bf2668 00000000 KERNEL32!BaseThreadStart+0x52 
				
In addition, if you unassemble a few instructions before EIP, the following text is displayed with the faulting instruction displayed immediately after the call to __GetPathCracker (in this case, 71d80a80):
   71d80a7b e886fffdff    call dsadmin!CDsAdminModule__GetPathCracker    (71d60a06)
   71d80a80 8b08             mov     ecx,[eax]
   71d80a82 8d55f0           lea     edx,[ebp-0x10]
				
For example, if you use the letter "r" to obtain the registers
   0:005> r
   eax=00000000 ebx=023dfe00 ecx=00000000 edx=800401e4 esi=71da4160    edi=00000000
   eip=71d80a80 esp=023dfd7c ebp=023dfda0 iopl=0         nv up ei ng nz na po nc
   cs=001b  ss=0023  ds=0023  es=0023  fs=0038  gs=0000                efl=00010286
   dsadmin!StripADsIPath+41:
   71d80a80 8b08             mov     ecx,[eax]            ds:0023:00000000=????????
				
and then type the following text to unassemble around EIP:
   u 71d80a80-0x10 71d80a80+0x5
				
In this case, 71d80a80 was obtained by examining the EIP= register from above.

CAUSE

This error can occur when either of the following registry keys is missing or corrupted:

HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc}

HKEY_CLASSES_ROOT\LDAP

The second key that is listed may be missing or corrupt or may not contain the value:

{228D9A81-C302-11cf-9AA4-00AA004A5691}

RESOLUTION

WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.

NOTE: If your registry keys contain values rather than being blank or missing, you should first back up the keys by using the Export Registry Key feature in Regedit.exe. You should then examine the entries for differences and merge them if you need to.

If the HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc} key is missing or damaged, add the following lines to a text file, rename it with a .reg extension, and then import it to your registry.

On a Windows 2000-based domain controller use the following text:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc}] @="ADs LDAP Pathname Descriptor Object"

[HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc}\InprocServer32]@="activeds.dll"
"ThreadingModel"="Both"

[HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc}\ProgID] @="Pathname"

[HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc}\TypeLib] @="{97d25db0-0363-11cf-abc4-02608c9e7553}"

[HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc}\Version] @="0.0"

On a Windows 2000-based domain member computer use the following text:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc}] @="ADs Pathname Object"

[HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc}\InprocServer32]@="activeds.dll"
"ThreadingModel"="Both"

[HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc}\ProgID] @="Pathname"

[HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc}\TypeLib] @="{97d25db0-0363-11cf-abc4-02608c9e7553}"

[HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc}\Version] @="0.0"

If the HKEY_CLASSES_ROOT\LDAP key is missing, or damaged, use the following text:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\LDAP]
@="URL:LDAP Protocol"
"EditFlags"=hex:02,00,00,00
"URL Protocol"=""

[HKEY_CLASSES_ROOT\LDAP\Clsid]
@="{228D9A81-C302-11cf-9AA4-00AA004A5691}"

[HKEY_CLASSES_ROOT\LDAP\shell]

[HKEY_CLASSES_ROOT\LDAP\shell\open]

[HKEY_CLASSES_ROOT\LDAP\shell\open\command]
@="\"D:\\Program Files\\Outlook Express\\wab.exe\" /ldap:%1"

MORE INFORMATION

For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

269489 Missing HKCR\ldap\Clsid Registry Key Causes Numerous Errors


Modification Type:MinorLast Reviewed:1/27/2006
Keywords:kbenv kberrmsg kbprb KB306074