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 program intermittently crashes on Exchange Server 2007


View products that this article applies to.

Symptoms

The Microsoft Exchange Transport service (Edgetransport.exe) that is located on the Hub Transport role or on the Edge Transport role for Exchange Server 2007 intermittently crashes. When this problem occurs, the following events are logged:

Event Type:�Error
Event Source:�MSExchange Common
Event Category:�General
Event ID:�4999
Description:
Watson report about to be sent to dw20.exe for process id: <ID>, with parameters: E12, c-RTL-AMD64, <version number>, edgetransport, M.E.Net, M.E.S.A.AuthenticationContext.InitializeForOutboundExchangeAuth, System.ArgumentNullException, be38, <version number>.� ErrorReportingEnabled: False


Event Type:�Error Event Source:�MSExchangeTransport Event Category:�PoisonMessage Event ID:�10003 Description: The transport process failed during message processing with the following call stack: System.ArgumentNullException: Value cannot be null. Parameter name: tlsEapKey �� at Microsoft.Exchange.Security.Authentication.AuthenticationContext.InitializeForOutboundExchangeAuth(String hashAlgorithm, String targetServicePrincipalName, Byte[] certificatePublicKey, Byte[] tlsEapKey) �� at Microsoft.Exchange.Protocols.Smtp.AuthSmtpCommand.OutboundCreateCommand() �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.CreateSmtpCommand(String cmd) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.SendPipelinedCommands() �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.MoveToNextState() �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.HandlePostParseResponse(SmtpCommand command) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.InvokeResponseHandler(SmtpCommand command) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.StartProcessingResponse(Byte[] buffer, Int32 offset, Int32 size, Boolean overflow) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.ReadLineComplete(IAsyncResult asyncResult) �� at Microsoft.Exchange.Net.LazyAsyncResult.Complete(IntPtr userToken) �� at Microsoft.Exchange.Net.NetworkConnection.BeginReadLine(AsyncCallback callback, Object state) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.StartProcessingResponse(Byte[] buffer, Int32 offset, Int32 size, Boolean overflow) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.ReadLineComplete(IAsyncResult asyncResult) �� at Microsoft.Exchange.Net.LazyAsyncResult.Complete(IntPtr userToken) �� at Microsoft.Exchange.Net.NetworkConnection.BeginReadLine(AsyncCallback callback, Object state) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.StartProcessingResponse(Byte[] buffer, Int32 offset, Int32 size, Boolean overflow) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.ReadLineComplete(IAsyncResult asyncResult) �� at Microsoft.Exchange.Net.LazyAsyncResult.Complete(IntPtr userToken) �� at Microsoft.Exchange.Net.NetworkConnection.BeginReadLine(AsyncCallback callback, Object state) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.StartProcessingResponse(Byte[] buffer, Int32 offset, Int32 size, Boolean overflow) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.ReadLineComplete(IAsyncResult asyncResult) �� at Microsoft.Exchange.Net.LazyAsyncResult.Complete(IntPtr userToken) �� at Microsoft.Exchange.Net.NetworkConnection.BeginReadLine(AsyncCallback callback, Object state) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.StartProcessingResponse(Byte[] buffer, Int32 offset, Int32 size, Boolean overflow) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.ReadLineComplete(IAsyncResult asyncResult) �� at Microsoft.Exchange.Net.LazyAsyncResult.Complete(IntPtr userToken) �� at Microsoft.Exchange.Net.NetworkConnection.BeginReadLine(AsyncCallback callback, Object state) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.StartProcessingResponse(Byte[] buffer, Int32 offset, Int32 size, Boolean overflow) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.ReadLineComplete(IAsyncResult asyncResult) �� at Microsoft.Exchange.Net.LazyAsyncResult.Complete(IntPtr userToken) �� at Microsoft.Exchange.Net.NetworkConnection.BeginReadLine(AsyncCallback callback, Object state) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.StartProcessingResponse(Byte[] buffer, Int32 offset, Int32 size, Boolean overflow) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.ReadLineComplete(IAsyncResult asyncResult) �� at Microsoft.Exchange.Net.LazyAsyncResult.Complete(IntPtr userToken) �� at Microsoft.Exchange.Net.NetworkConnection.BeginReadLine(AsyncCallback callback, Object state) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.StartProcessingResponse(Byte[] buffer, Int32 offset, Int32 size, Boolean overflow) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.ReadLineComplete(IAsyncResult asyncResult) �� at Microsoft.Exchange.Net.LazyAsyncResult.Complete(IntPtr userToken) �� at Microsoft.Exchange.Net.NetworkConnection.BeginReadLine(AsyncCallback callback, Object state) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.StartProcessingResponse(Byte[] buffer, Int32 offset, Int32 size, Boolean overflow) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.ReadLineComplete(IAsyncResult asyncResult) �� at Microsoft.Exchange.Net.LazyAsyncResult.Complete(IntPtr userToken) �� at Microsoft.Exchange.Net.NetworkConnection.BeginReadLine(AsyncCallback callback, Object state) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.StartProcessingResponse(Byte[] buffer, Int32 offset, Int32 size, Boolean overflow) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.ReadLineComplete(IAsyncResult asyncResult) �� at Microsoft.Exchange.Net.LazyAsyncResult.Complete(IntPtr userToken) �� at Microsoft.Exchange.Net.NetworkConnection.BeginReadLine(AsyncCallback callback, Object state) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.StartProcessingResponse(Byte[] buffer, Int32 offset, Int32 size, Boolean overflow) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.ReadLineComplete(IAsyncResult asyncResult) �� at Microsoft.Exchange.Net.LazyAsyncResult.Complete(IntPtr userToken) �� at Microsoft.Exchange.Net.NetworkConnection.BeginReadLine(AsyncCallback callback, Object state) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.StartProcessingResponse(Byte[] buffer, Int32 offset, Int32 size, Boolean overflow) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.ReadLineComplete(IAsyncResult asyncResult) �� at Microsoft.Exchange.Net.LazyAsyncResult.Complete(IntPtr userToken) �� at Microsoft.Exchange.Net.NetworkConnection.BeginReadLine(AsyncCallback callback, Object state) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.StartProcessingResponse(Byte[] buffer, Int32 offset, Int32 size, Boolean overflow) �� at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.ReadLineComplete(IAsyncResult asyncResult) �� at Microsoft.Exchange.Net.LazyAsyncResult.Complete(IntPtr userToken) �� at Microsoft.Exchange.Net.NetworkConnection.InvokeRecvCallback(LazyAsyncResultWithTimeout asyncResult, Object result) �� at Microsoft.Exchange.Net.NetworkConnection.ReadLineDataAvailable(IAsyncResult asyncResult) �� at System.Net.LazyAsyncResult.Complete(IntPtr userToken) �� at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) �� at System.Net.ContextAwareResult.Complete(IntPtr userToken) �� at System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken) �� at System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped) �� at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)

↑ Back to the top


Cause

This problem occurs because Transport Layer Security (TLS) 1.0 support is unavailable on a local server or on a remote server.

↑ Back to the top


Resolution

To resolve this problem, apply the following update:
971534� Description of Update Rollup 1 for Exchange Server 2007 Service Pack 2
Even if the crash does not occur, you must make sure that TLS is available so that message delivery is not affected.

↑ 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

To check whether TLS 1.0 support is available on a local server or on a remote server, refer to the following information:

Make sure that the local server does not have the following value set to 0:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client\Enabled


If the local server does not have this value set to 0, the problem is caused by a remote Hub server or a remote Edge server that has the following registry value set to 0:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server\Enabled


To determine which servers the Hub Transport role or the Edge Transport role were connected to when the crash occurred, make Connectivity Logging available. To do this, use the following sample code:
Set-TransportServer <SERVERNAME> -ConnectivityLogEnabled $true
Logs can be found in the following directory:
\Exchange Server\TransportRoles\Logs\Connectivity
Connectivity Logging can be used to determine which servers were connected to the local server through active outgoing connections when the crash occurred. These connections are indicated by a "+" in the description field. If an outgoing connection is logged without a disconnection event following it, that remote server should be checked. This kind of outgoing connection is indicated by a "-" in the description field.
The following is a sample display of a connection that did not crash:
2009-05-07T14:12:06.301Z,08CB9D34EFD12DB8,SMTP,eu,+,be7c1046-a885-4a5e-ac95-39bea623a113
2009-05-07T14:12:06.316Z,08CB9D34EFD12DB8,SMTP,eu,>,LON-E2K7-64.fourthcoffee.com[192.168.20.11]
2009-05-07T14:12:06.472Z,08CB9D34EFD12DB8,SMTP,eu,>,Established connection to 192.168.20.11
2009-05-07T14:12:06.847Z,08CB9D34EFD12DB8,SMTP,eu,-,Messages: 1 Bytes: 6098
Note This sample shows a connection event (+) that uses an established connection. Then, the connection event is followed by a disconnection event (-) that indicates that one message was transferred.

The following is a sample display of a connection that crashed:
2009-05-07T14:10:08.558Z,08CB9D34A9A32BAC,SMTP,eu,+,be7c1046-a885-4a5e-ac95-39bea623a113
2009-05-07T14:10:08.605Z,08CB9D34A9A32BAC,SMTP,eu,>,DAL-E2K7-64.fourthcoffee.com[192.168.20.11]
2009-05-07T14:10:08.715Z,08CB9D34A9A32BAC,SMTP,eu,>,Established connection to 192.168.20.32
Note This sample shows a connection event (+) that uses an established connection, but no disconnection occurred. In this case, review DAL-E2K7-64 to check whether the following registry value is set to 0:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server\Enabled

↑ Back to the top


Keywords: KB971053, kbqfe, kbhotfixrollup, kbfix, kbexpertiseinter, kbsurveynew

↑ Back to the top

Article Info
Article ID : 971053
Revision : 1
Created on : 11/19/2009
Published on : 11/19/2009
Exists online : False
Views : 312