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.

The EdgeTransport.exe process crashes when processing certain email messages on an Exchange Server 2007 Hub Transport server


View products that this article applies to.

Symptoms

Assume that you send or receive an email message that has a multipart/mixed content type and inline content disposition in a Microsoft Exchange Server 2007 environment. For example, you use an Apple device to send an email message that contains a body that resembles the following:
<text>
<image>
<text>
In this situation, the EdgeTransport.exe process on the Hub Transport server crashes. Additionally, the following events are logged in the Application log:
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 to dw20.exe for process id: <ProcessID>, with parameters: E12, c-RTL-AMD64, <version number>, edgetransport, M.E.D.Storage, M.E.D.S.InboundMimeConverter.DetermineMixedContentEncoding, System.NullReferenceException, <XXXX>, <version number>. ErrorReportingEnabled: False

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: System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.Exchange.Data.Storage.InboundMimeConverter.DetermineMixedContentEncoding()
at Microsoft.Exchange.Data.Storage.InboundMimeConverter.PromoteMimeMessageMixedBody()
at Microsoft.Exchange.Data.Storage.InboundMimeConverter.PromoteDelayedBody(Item item, Boolean promoteEmptyBody)
at Microsoft.Exchange.Data.Storage.InboundMimeConverter.ConvertToItemInternal(MimePromotionFlags promotionFlags)
at Microsoft.Exchange.Data.Storage.InboundMimeConverter.<>c__DisplayClasse.<ConvertToItem>b__c()
at Microsoft.Exchange.Data.Storage.ConvertUtils.CallCts(Trace tracer, String methodName, String exceptionString, CtsCall ctsCall)
at Microsoft.Exchange.Data.Storage.InboundMimeConverter.ConvertToItem(MimePromotionFlags promotionFlags)
at Microsoft.Exchange.Data.Storage.ItemConversion.InternalConvertAnyMimeToItem(Item itemOut, EmailMessage messageIn, InboundConversionOptions options, MimePromotionFlags promotionFlags, Boolean isStreamToStream)
at Microsoft.Exchange.Data.Storage.ItemConversion.ConvertAnyMimeToItem(Item itemOut, EmailMessage messageIn, InboundConversionOptions options, MimePromotionFlags flags)
at Microsoft.Exchange.Data.Storage.ItemConversion.ConvertAnyMimeToItem(Item itemOut, EmailMessage messageIn, InboundConversionOptions options)
at Microsoft.Exchange.MailboxTransport.StoreDriver.DeliveryItem.ConvertFromAnyMime(EmailMessage message, InboundConversionOptions options)
at Microsoft.Exchange.MailboxTransport.StoreDriver.MailItemDeliver.CopyContentToItem(MailRecipient recipient)
at Microsoft.Exchange.MailboxTransport.StoreDriver.MailItemDeliver.<>c__DisplayClass1.<DeliverToRecipient>b__0()
at Microsoft.Exchange.MailboxTransport.StoreDriver.StorageExceptionHandler.RunUnderExceptionHandler(IMessageConverter converter, StoreDriverDelegate workerFunction)
at Microsoft.Exchange.MailboxTransport.StoreDriver.MailItemDeliver.DeliverToRecipient(MailRecipient recipient)
at Microsoft.Exchange.MailboxTransport.StoreDriver.MailItemDeliver.DeliverToRecipients()
at Microsoft.Exchange.MailboxTransport.StoreDriver.StoreDriver.DeliverMailItem(NextHopConnection connection, TransportMailItem mailItem)
at Microsoft.Exchange.MailboxTransport.StoreDriver.StoreDriver.LocalDeliveryCallback(Object state)
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)


↑ Back to the top


Cause

This issue occurs because an InvalidCastException exception occurs when the Hub Transport server processes email messages. This behavior causes the Edge Transport.exe process to crash.

↑ Back to the top


Resolution

To resolve this issue, install the following update rollup:
2602324 Description of Update Rollup 5 for Exchange Server 2007 Service Pack 3

↑ 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 the multipart content type, visit the following Microsoft website:For more information about inline content, visit the following Microsoft website:

↑ Back to the top


Keywords: KB2556751, kbexpertiseinter, kbsurveynew, kbqfe, kbfix

↑ Back to the top

Article Info
Article ID : 2556751
Revision : 5
Created on : 9/26/2011
Published on : 9/26/2011
Exists online : False
Views : 406