Article ID: 323523 - View products that this article applies to.
This article was previously published under Q323523
This article has been archived. It is offered "as is" and will no longer be updated.
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.
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).
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:
301378Component: Information store, MAD, EXMGMT
(http://support.microsoft.com/kb/301378/EN-US/ )XGEN: How to Obtain the Latest Exchange 2000 Server Service Pack
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.
Collapse this tableExpand this table
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.
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.