Microsoft KB Archive/313930

= Applications Might Stop Responding When Calling IADs::GetInfo in a Multi-Threaded Environment =

Article ID: 313930

Article Last Modified on 10/12/2005

-

APPLIES TO


 * Microsoft Active Directory Service Interfaces 2.5

-



This article was previously published under Q313930



SYMPTOMS
Applications may stop responding when calling the IADs::GetInfo function in a multi-threaded environment.

For example, a COM component that calls IADs::GetInfo hangs when instantiated from Active Server Pages (ASP). Typically, the first load of an ASP page in such an environment succeeds. However, a refresh causes the browser to stop responding.

This problem has the potential to apply to any user of the ADSI LDAP provider that invokes GetInfo within a multi-threaded environment, such as ASP, Microsoft Transaction Server (MTS) or any project that uses a multi-threaded model.

This problem does not occur when:
 * The application is running against an LDAP v3 server.
 * Components are single-threaded.
 * Components are not run under MTS or ASP.



CAUSE
The ADSI LDAP provider could leave orphaned critical sections, leading to various situations where a process stops responding.



RESOLUTION
A supported hotfix is now available from Microsoft, but it is only intended to correct the problem that is described in this article. Only apply it to systems that are experiencing this specific problem. This hotfix may receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next Windows 2000 service pack that contains this hotfix.

To resolve this problem immediately, contact Microsoft Product Support Services to obtain the fix. For a complete list of Microsoft Product Support Services phone numbers and information about support costs, visit the following Microsoft Web site:

http://support.microsoft.com/contactus/?ws=support

NOTE: In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The typical support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

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 - 13-DEC-2001 15:03  5.0.2195.4685  123,664  adsldp.dll 13-DEC-2001 15:03  5.0.2195.4762  130,320  adsldpc.dll 13-DEC-2001 15:03  5.0.2195.4016  62,736   adsmsext.dll 13-DEC-2001 15:03  5.0.2195.4731  356,112  advapi32.dll 13-DEC-2001 15:03  5.0.2195.4571  82,704   cmnquery.dll 13-DEC-2001 15:03  5.0.2195.4141  133,904  dnsapi.dll 13-DEC-2001 15:03  5.0.2195.4379  91,408   dnsrslvr.dll 13-DEC-2001 15:03  5.0.2195.4534  41,744   dsfolder.dll 13-DEC-2001 15:03  5.0.2195.4534  156,944  dsquery.dll 13-DEC-2001 15:03  5.0.2195.4574  110,352  dsuiext.dll 08-OCT-2001 14:54  5.0.2195.4485  88,336   hotfix.exe 13-DEC-2001 15:18                 27,775   hotfix.inf 13-DEC-2001 15:06  5.0.2195.4685  521,488  instlsa5.dll 13-DEC-2001 15:03  5.0.2195.4630  145,680  kdcsvc.dll 26-NOV-2001 16:33  5.0.2195.4680  199,440  kerberos.dll 04-SEP-2001 08:32  5.0.2195.4276  71,024   ksecdd.sys 26-NOV-2001 17:55  5.0.2195.4685  503,568  lsasrv.dll 26-NOV-2001 17:55  5.0.2195.4685  33,552   lsass.exe 07-DEC-2001 16:05  5.0.2195.4745  107,280  msv1_0.dll 13-DEC-2001 15:03  5.0.2195.4594  306,960  netapi32.dll 13-DEC-2001 15:03  5.0.2195.4686  359,184  netlogon.dll 13-DEC-2001 15:03  5.0.2195.4746  916,240  ntdsa.dll 13-DEC-2001 15:03  5.0.2195.4748  388,368  samsrv.dll 13-DEC-2001 15:03  5.0.2195.4583  128,784  scecli.dll 13-DEC-2001 15:03  5.0.2195.4600  299,792  scesrv.dll -  -   -          -   -          3,042,619    sp3.cat 30-MAY-2001 00:03  5.0.2195.3649  3,584    spmsg.dll 13-DEC-2001 15:03  5.0.2195.4600  48,400   w32time.dll 06-NOV-2001 11:43  5.0.2195.4600  56,592   w32tm.exe 13-DEC-2001 15:03  5.0.2195.4726  125,712  wldap32.dll

18-DEC-2001 08:51            56bit



WORKAROUND
You can work around this problem by reverting to a single-threaded model. However, converting to a single-threaded model is often inconvenient, and is impossible when the application in question must be multi-threaded.



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 corrected in Windows 2000 Service Pack 3.

Additional query words: hang deadlock multithread multithreaded singlethread singlethreaded lock seize

Keywords: kbhowtomaster kbqfe kbwin2000sp3fix kbdirservices kbdswadsi2003swept kbhotfixserver KB313930

-

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

© Microsoft Corporation. All rights reserved.