Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

EdgeTransport.exe process crashes without sending an NDR message when you send a message to a distribution group in an Exchange Server 2010 environment


View products that this article applies to.

Symptoms

Consider the following scenarios when a Dynamic Distribution Group has a Lightweight Directory Access Protocol (LDAP) filter that contains more than 32,000 characters in a Microsoft Exchange Server 2010 environment:

Scenario 1

Assume that you send a message to the Dynamic Distribution Group directly. In this situation, the EdgeTransport.exe process crashes on the Exchange Server 2010 Hub Transport server. However, you do not receive a non-delivery report (NDR) message. Additionally, the following events are logged in the Application log:
Log Name: Application
Source: MSExchangeTransport
Date: Date
Event ID: 10003
Task Category: PoisonMessage
Level: Error
Keywords: Classic
User: N/A
Computer: Computer
Description:
The transport process failed during message processing with the following call stack: Microsoft.Exchange.Data.Directory.ADFilterException: The filter string size exceeds maximum allowed size of 32k characters.
at Microsoft.Exchange.Data.Directory.Recipient.ADRecipientCache.ExpandGroup(IADDistributionList group)
at Microsoft.Exchange.Transport.Categorizer.GroupItem.ExpandMembers(Expansion expansion)
at Microsoft.Exchange.Transport.Categorizer.GroupItem.ProcessLocally(Expansion expansion)
at Microsoft.Exchange.Transport.Categorizer.RecipientItem.Process(Expansion expansion)
at Microsoft.Exchange.Transport.Categorizer.Resolver.ResolveAll()
at Microsoft.Exchange.Transport.Categorizer.CategorizerComponent.Stage2ResolveEngine(TransportMailItem transportMailItem, TaskContext taskContext)
at Microsoft.Exchange.Transport.Categorizer.TaskContext.Invoke()
at Microsoft.Exchange.Transport.Categorizer.CatScheduler.JobThreadEntry(Object ignored)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)

Log Name: Application
Source: MSExchange Common
Date: Date
Event ID: 4999
Task Category: General
Level: Error
Keywords: Classic
User: N/A
Computer: Computer
Description:
Watson report about to be sent for process id: Process ID, with parameters: E12, Build Type, Version Number, edgetransport, M.E.Data.Directory, M.E.D.D.R.ADRecipientCache.ExpandGroup, M.E.D.Directory.ADFilterException, XXXX, Version Number.
ErrorReportingEnabled: False

Scenario 2

Assume that you send a message to another distribution group that uses the Dynamic Distribution Group as a delivery restriction. In this situation, the EdgeTransport.exe process crashes on the Exchange Server 2010 Hub Transport server. However, you do not receive a non-delivery report (NDR) message. Additionally, the following events are logged in the Application log:
Log Name: Application
Source: MSExchangeTransport
Date: Date
Event ID: 10003
Task Category: PoisonMessage
Level: Error
Keywords: Classic
User: N/A
Computer: Computer
Description:
The transport process failed during message processing with the following call stack: Microsoft.Exchange.Data.Directory.ADFilterException: The filter string size exceeds maximum allowed size of 32k characters.
at Microsoft.Exchange.Data.Directory.LdapFilterBuilder.LdapFilterFromQueryFilter(QueryFilter queryFilter, Boolean skipCheckVirtualIndex)
at Microsoft.Exchange.Data.Directory.ADGenericPagedReader`1..ctor(ADSession session, ADObjectId rootId, QueryScope scope, QueryFilter filter, SortBy sortBy, Int32 pageSize, IEnumerable`1 properties, CreateObjectDelegate objectCtor, CreateObjectsDelegate objectArrayCtor, Boolean skipCheckVirtualIndex)
at Microsoft.Exchange.Data.Directory.ADPagedReader`1..ctor(ADSession session, ADObjectId rootId, QueryScope scope, QueryFilter filter, SortBy sortBy, Int32 pageSize, IEnumerable`1 properties, CreateObjectDelegate objectCtor, CreateObjectsDelegate objectArrayCtor, Boolean skipCheckVirtualIndex)
at Microsoft.Exchange.Data.Directory.ADPagedReader`1..ctor(ADSession session, ADObjectId rootId, QueryScope scope, QueryFilter filter, SortBy sortBy, Int32 pageSize, IEnumerable`1 properties, Boolean skipCheckVirtualIndex)
at Microsoft.Exchange.Data.Directory.ADDynamicGroupPagedReader`1..ctor(ADSession session, ADObjectId rootId, QueryScope scope, String ldapFilter, Int32 pageSize, CustomExceptionHandler customExceptionHandler, IEnumerable`1 properties)
at Microsoft.Exchange.Data.Directory.Recipient.ADDynamicGroup.Expand(Int32 pageSize)
at Microsoft.Exchange.Data.Directory.Recipient.ADRecipient.TryIsStrictMemberOfWithLimit(ADObjectId recipientId, ADRecipient rootGroup, Boolean directOnly, ADRecipientSession session, HashSet`1 visitedGroups, Int32& adQueryCount, Int32 adQueryLimit, Boolean& isMember)
at Microsoft.Exchange.Data.Directory.Recipient.ADRecipient.TryIsMemberOfWithLimit(ADObjectId recipientId, ADObjectId groupId, Boolean directOnly, ADRecipientSession session, Int32& adQueryLimit, Boolean& isMember)
at Microsoft.Exchange.Data.Directory.Recipient.ADRecipientRestriction.TryIsSenderMemberOfWithLimit(IEnumerable`1 groupIdList, Boolean& isSenderMemberOf)
at Microsoft.Exchange.Data.Directory.Recipient.ADRecipientRestriction.CheckPermissionRestriction()
at Microsoft.Exchange.Data.Directory.Recipient.ADRecipientRestriction.Check()
at Microsoft.Exchange.Data.Directory.Recipient.ADRecipientRestriction.CheckDeliveryRestriction(ADObjectId senderId, Boolean senderIsAuthenticated, ICollection`1 rejectMessagesFrom, ICollection`1 rejectMessagesFromDLMembers, ICollection`1 acceptMessagesFrom, ICollection`1 acceptMessagesFromDLMembers, ICollection`1 bypassModerationFrom, ICollection`1 bypassModerationFromDLMembers, ICollection`1 moderators, ICollection`1 managedBy, Boolean requiresAllSendersAreAuthenticated, Boolean moderationEnabled, RecipientType recipientType, ADRecipientSession session, ISimpleCache`2 senderMembershipCache)
at Microsoft.Exchange.Transport.Categorizer.DeliveryRestriction.CheckRestriction(ISimpleCache`2 memberOfGroupCache, Int64& maxRecipientMessageSize)
at Microsoft.Exchange.Transport.Categorizer.RestrictedItem.CheckDeliveryRestrictions(Expansion expansion)
at Microsoft.Exchange.Transport.Categorizer.GroupItem.CheckDeliveryRestrictions(Expansion expansion)
at Microsoft.Exchange.Transport.Categorizer.RestrictedItem.PreProcess(Expansion expansion)
at Microsoft.Exchange.Transport.Categorizer.RecipientItem.Process(Expansion expansion)
at Micosoft.Exchange.Transport.Categorizer.Resolver.ResolveAll()
at Microsoft.Exchange.Transport.Categorizer.CategorizerComponent.Stage2ResolveEngine(TransportMailItem transportMailItem, TaskContext taskContext)
at Microsoft.Exchange.Transport.Categorizer.TaskContext.Invoke()
at Microsoft.Exchange.Transport.Categorizer.CatScheduler.JobThreadEntry(Object ignored)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)

Log Name: Application
Source: MSExchange Common
Date: Date
Event ID: 4999
Task Category: General
Level: Error
Keywords: Classic
User: N/A
Computer: Computer
Description:
Watson report about to be sent for process id: Process ID, with parameters: E12, Build Type, Version Number, edgetransport, M.E.Data.Directory, M.E.D.D.LdapFilterBuilder.LdapFilterFromQueryFilter, M.E.D.Directory.ADFilterException, XXXX, Version Number.
ErrorReportingEnabled: False

↑ Back to the top


Cause

This issue occurs because the string size of an LDAP filter has a limit of 32KB characters. When the filter exceeds this limit, an ADFilterException exception occurs.

↑ Back to the top


Resolution

To resolve this issue, install the following update rollup:
2661854 Description of Update Rollup 2 for Exchange Server 2010 Service Pack 2


Note After you apply the update rollup, the maximum string size of the LDAP filter is extended to 128KB characters.

↑ Back to the top


Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

↑ Back to the top


More Information

For more information about how to create a Dynamic Distribution Group in an Exchange organization, visit the following Microsoft website:For more information about how to configure message delivery restrictions, visit the following Microsoft website:For more information about the msExchDynamicDLFilter attribute, visit the following Microsoft website:

↑ Back to the top


Keywords: kbqfe, kbfix, kbsurveynew, kbexpertiseinter, kb

↑ Back to the top

Article Info
Article ID : 2696857
Revision : 1
Created on : 1/7/2017
Published on : 4/20/2012
Exists online : False
Views : 397