Microsoft KB Archive/306074

= MMC Snap-In May Cause Access Violation with Missing Registry Entry =

Article ID: 306074

Article Last Modified on 10/31/2006

-

APPLIES TO


 * Microsoft Windows 2000 Service Pack 2
 * Microsoft Windows 2000 Advanced Server

-



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 &quot;r&quot; 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}] @=&quot;ADs LDAP Pathname Descriptor Object&quot;

[HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc}\InprocServer32]@=&quot;activeds.dll&quot;

&quot;ThreadingModel&quot;=&quot;Both&quot;

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

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

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

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}] @=&quot;ADs Pathname Object&quot;

[HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc}\InprocServer32]@=&quot;activeds.dll&quot;

&quot;ThreadingModel&quot;=&quot;Both&quot;

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

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

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

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]

@=&quot;URL:LDAP Protocol&quot;

&quot;EditFlags&quot;=hex:02,00,00,00

&quot;URL Protocol&quot;=&quot;&quot;

[HKEY_CLASSES_ROOT\LDAP\Clsid]

@=&quot;{228D9A81-C302-11cf-9AA4-00AA004A5691}&quot;

[HKEY_CLASSES_ROOT\LDAP\shell]

[HKEY_CLASSES_ROOT\LDAP\shell\open]

[HKEY_CLASSES_ROOT\LDAP\shell\open\command]

@=&quot;\&quot;D:\\Program Files\\Outlook Express\\wab.exe\&quot; /ldap:%1&quot;



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

Keywords: kbenv kberrmsg kbprb KB306074

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.