Microsoft KB Archive/323523

= XADM: An Access Violation Occurs in Exchange 2000 Components That Are Generated in DSAccess.dll =

Article ID: 323523

Article Last Modified on 10/26/2006

-

APPLIES TO


 * Microsoft Exchange 2000 Server Service Pack 2
 * Microsoft Exchange Server 2000 Service Pack 1

-



This article was previously published under Q323523





SYMPTOMS
An access violation may occur in ~CDNEntry (the destructor for the CDNEntry class object). This access violation may occur in the information store, the Simple Mail Transfer Protocol (SMTP) service (Inetinfo.exe or Exsmtp.dll), the system attendant (MAD), or Windows Management Services.



CAUSE
This problem may occur if a handle is corrupted. This corruption occurs if a directory object is returned to the Exchange services, and that directory object has an access control list (ACL) (ntSecurityDescriptor) and three other variable attributes that combine to equal exactly 32,768 bytes.

User objects that are smaller than 32 kilobytes (KB) are cached and disposed of correctly. User objects with attributes that equal more than 32 KB are not cached. Therefore, in both of these cases, handles are not corrupted.

If a handle is corrupted, a pointer is dereferenced to a NULL value. Exchange 2000 tries to free that memory at that location. Because that memory is not allocated, and the address that the pointer points to is not valid, the process generates an unhandled exception of type 0xC0000005 (Access Violation).



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

301378 XGEN: How to Obtain the Latest Exchange 2000 Server Service Pack

Component: Information store, MAD, EXMGMT

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.



STATUS
Microsoft has confirmed that this is a problem in Microsoft Exchange 2000 Server. This problem was first corrected in Microsoft Exchange 2000 Server Service Pack 3.



MORE INFORMATION
Although Microsoft does not discourage you from using large ACLs, note that in an Exchange 2000 organization, you can obtain significant performance improvements if you keep your user ACLs smaller than approximately 30 KB. Exchange 2000 does not cache user attributes that are larger than 32 KB. If users are not cached, Exchange 2000 has to retrieve those users from Active Directory more frequently. Therefore, those users generate more network traffic and put a heavier load on your domain controllers. The Exchange 2000 server has to wait for the Lightweight Directory Access Protocol (LDAP) call to return from the domain controller for every directory query. This causes Exchange Server performance to be less than optimal.

Additional query words: ACL

Keywords: kbbug kbexchange2000presp3fix kbexchange2000sp3fix kbfix KB323523

-

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

© Microsoft Corporation. All rights reserved.