KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q260180: Access Violation in Inetinfo.exe

Article: Q260180
Product(s): Internet Information Server
Version(s): 4.0
Operating System(s): 
Keyword(s): 
Last Modified: 11-JUN-2002

-------------------------------------------------------------------------------
The information in this article applies to:

- Microsoft Internet Information Server version 4.0 
- Microsoft Windows NT Server version 4.0 
-------------------------------------------------------------------------------

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:

  Q256986 Description of the Microsoft Windows Registry

SYMPTOMS
========

After you start Internet Information Server (IIS), it stops responding and an
Access Violation error message occurs with either a stack trace in a Dr. Watson
Log File or a User Dump. For examples of these, see the "More Information"
section of this article.

CAUSE
=====

This problem is caused by a misconfiguration of the NetBIOS Linkage settings,
where the NetBIOS LanaMap value must contain a two-byte value (a "tuple") for
each string in the NetBIOS Bind value. For details on how to view these values,
see the second method in the "Workaround" section of this article.

The following is an example of a single string in the Bind value:

  \Device\NetBT_CPqNF31

If this is the only string in the Bind value, then the LanaMap value must contain
only one two-byte tuple for the one Bind string.

The LanaMap must contain the correct number of two-byte tuples, for example:

  1 string in the "Bind" value = 1 two-byte tuple (for example, 01 01)
  2 strings in the "Bind" value = 2 two-byte tuples (for example, 01 01 01 02)

WORKAROUND
==========

You can work around this issue by using one of the following two methods. The
first method requires you to restart Windows NT Server at least twice. By using
the second method, you do not need to restart Windows NT Server.

Method 1:

1. In Control Panel, click Network, and then click the Services tab.

2. Select NetBIOS Interface, and then click Remove to remove the NetBIOS
  Interface.

3. Restart Windows NT Server when you are prompted.

4. In Control Panel, click Network, and then click the Services tab.

5. Click Add, and then select NetBIOS Interface from the list of Network
  Services to install the NetBIOS Interface.

6. When you are prompted, supply the location of the Windows NT installation
  files.

7. Restart Windows NT Server when you are prompted.

8. If a service pack has been applied to Windows NT Server, you must re-apply
  it.

Method 2:

You can verify the number of strings in the Bind value and the number of
corresponding two-byte tuples in the LanaMap value by following these steps:

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.

1. Start Registry Editor (Regedt32.exe).

2. Locate the following key in the registry:

  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBIOS\Linkage

3. View the following value by double-clicking the value or by selecting the
  value, and then clicking Multi String on the Edit menu):

  Value Name: Bind
  Data Type: REG_MULTI_SZ
  Value: Its value will contain one or more strings such as
  \Device\NetBT_CPqNF31

  Click OK to close the Multi String Editor.

4. View the following value by double-clicking the value or by selecting the
  value, and then clicking Binary on the Edit menu:

  Value Name: LanaMap
  Data Type: REG_BINARY
  Value: Its value will contain sets of two-byte tuples such as 0100 (a single
  two-byte tuple viewed in hex)

  Click OK to close the Binary Editor.

5. Quit Registry Editor.

If the LanaMap value does not contain one set of two-byte tuples for each string
in the Bind value, use the following steps to correct this problem:

1. Start Registry Editor (Regedt32.exe).

2. Locate the following key in the registry:

  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBIOS\Linkage

3. Select the following value, and then click Binary on the Edit menu:

  Value Name: LanaMap
  Data Type: REG_BINARY
  Value:

  The Value field must contain one set of two-byte tuples for each string in the
  Bind value. The first tuple in each set is always 01; the second tuple must
  be the Lana number of the corresponding transport device that NetBIOS should
  bind to (as listed in the Bind value). This value can be obtained from the
  NetBIOS Configuration dialog box:

  a. In Control Panel, click Network, and then click the Services tab.

  b. Select NetBIOS Interface, and then click Properties.

  For example, if the Lana Number in the NetBIOS Configuration dialog box for
  the first device in the Bind value is 000, the first set of two-byte tuples
  in the LanaMap value would be 0100. If the Lana Number for the second device
  in the Bind value is 002, the second set of two-byte tuples in the LanaMap
  value would be 0102.

4. Quit Registry Editor.

5. Restart the IIS services.

MORE INFORMATION
================

This configuration problem can also cause similar symptoms in Microsoft Exchange
Server. For additional information, click the article number below to view the
article in the Microsoft Knowledge Base:

  Q194811 XADM: Access Violation in Store.exe


  

  *----> Stack Back Trace <----*

  FramePtr ReturnAd Param#1  Param#2  Function Name
  00e0fb64 77673d4b 00000000 00000000 !wcslen 
  00e0fb94 68563505 00000000 00000000 mswsock!EnumProtocolsA 
  00e0fbbc 68563913 00e0fbd4 00000000 inetsloc!<nosymbols> (FPO: Non-FPO [1,3,3])
  00e0fd9c 68561652 00000000 0023e550 inetsloc!<nosymbols> (FPO: Non-FPO [0,115,3])
  00e0fdcc 68599873 00000004 00000000 inetsloc!INetRegisterService (FPO: Non-FPO [5,8,3])
  00e0fe00 68c1c096 0023e550 68598fd0 infocomm!IIS_SERVICE::InitializeDiscovery (FPO: Non-FPO [0,5,2])
  00e0fe08 68598fd0 0023e550 00000000 w3svc!ServiceEntry  (FPO: [1,0,1])
  00e0fe40 68c1bf7e 68c1be67 68c1c02c infocomm!IIS_SERVICE::StartServiceOperation  (FPO: [EBP 0x00000000] [3,8,4])
  00e0fe80 0100175d 00000001 000b2c70 w3svc!ServiceEntry (FPO: Non-FPO [3,9,3])
  00e0ffa8 77dd8c15 00000001 000b2c70 inetinfo!<nosymbols> (FPO: Non-FPO [2,67,3])
  00e0ffec 00000000 00000000 00000000 advapi32!RegisterServiceCtrlHandlerA 
  00000000 00000000 00000000 00000000 inetinfo!<nosymbols> 

  

  Access violation - code c0000005 (!!! second chance !!!)
  eax=00089ef0 ebx=00000208 ecx=0000006c edx=00000090 esi=00000002 edi=00000018
  eip=780015cc esp=00f4faf8 ebp=00f4fb60 iopl=0         nv up ei pl nz na pe nc
  cs=001b  ss=0023  ds=0023  es=0023  fs=0038  gs=0000             efl=00000202
  MSVCRT!wcslen+4:
  780015cc 66833900         cmp     word ptr [ecx],0x0    ds:0023:0000006c=????

  0:005> kv
  ChildEBP RetAddr  Args to Child
  00f4fb60 77673d34 00000000 00000000 00f4fbb4 MSVCRT!wcslen+0x4
  00f4fb90 68563505 00000000 00000000 00f4fbb4 MSWSOCK!EnumProtocolsA+0x18 (FPO: [Non-Fpo])
  00f4fbb8 68563913 00f4fbd0 00000000 00000400 inetsloc!GetEnumNBLana+0x20 (FPO: [Non-Fpo])
  00f4fd98 68561652 00000000 00267100 00000000 inetsloc!ServerRegisterAndListen+0x205 (FPO: [Non-Fpo])
  00f4fdc8 6859ae24 00000001 00000000 00000001 inetsloc!INetRegisterService+0xd6 (FPO: [Non-Fpo])
  00f4fdfc 683367be 00000000 00267100 6859acb7 INFOCOMM!IIS_SERVICE__InitializeDiscovery+0x9e (FPO: [Non-Fpo])
  00f4fe08 6859acb7 00267100 68331c9c 00f4fe80 ftpsvc2!InitializeService+0x25 (FPO: [1,0,2])
  00f4fe40 68336596 683364c4 68336799 683367db INFOCOMM!IIS_SERVICE__StartServiceOperation+0x9d (FPO: [EBP 0x68331c9c] [3,8,4])
  68331c9c 43565350 00000000 00000031 2f4d4c2f ftpsvc2!ServiceEntry+0xc0 (FPO: [Non-Fpo])
  5446534d 00000000 00000000 00000000 00000000 0x43565350

Additional query words:

======================================================================
Keywords          :  
Technology        : kbWinNTsearch kbWinNT400search kbWinNTSsearch kbWinNTS400search kbWinNTS400 kbiisSearch kbiis400
Version           : :4.0
Issue type        : kbprb
Solution Type     : kbpending

=============================================================================

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.