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.

RPC Client Access service crashes and Event 4999 is logged in Exchange Server 2013


View products that this article applies to.

Symptoms

When certain email messages are accessed by using Microsoft Outlook in online mode, the RPC Client Access service crashes or restarts unexpectedly. When this occurs, the following errors are logged in the event log. 

Note Sometimes, the service does not crash even though an entry for the event is still logged.

The following is logged in the RCA logs that are saved to the following location:

C:\Program Files\Microsoft\Exchange Server\V15\Logging\RPC Client Access

2015-04-23T19:05:35.961Z,3,603,/o=<id>/ou=exchange administrative group
(fydibohf23spdlt)/cn=recipients/cn=5dd9b1444df54688b0d2367fbc5e47aa-
crashmbx,,OUTLOOK.EXE,15.0.4711.1000,Classic,,,,ncacn_http,Client=MSExchangeRPC,,,,fault,00:00:00.2970000,,"
Watson: [IndexOutOfRangeException] Index was outside the bounds of the array. at
M.E.D.TextConverters.Internal.Format.FormatStore.TextStore.AddText(TextRunType runType, Char[] textBuffer,
Int32 offset, Int32 count) at M.E.D.TextConverters.Internal.Format.FormatStore.AddMarkupText(Char[]
textBuffer, Int32 offset, Int32 count) at
M.E.D.TextConverters.Internal.Html.HtmlFormatConverterWithEncapsulation.OutputEncapsulatedMarkup() at
M.E.D.TextConverters.Internal.Html.HtmlFormatConverterWithEncapsulation.Process(HtmlTokenId tokenId) at
M.E.D.TextConverters.ConverterStream.Read(Byte[] buffer, Int32 offset, Int32 count) at
M.E.D.TextConverters.Internal.RtfCompressed.RtfCompressCommon.ReadMoreData() at
M.E.D.TextConverters.Internal.RtfCompressed.RtfCompressConverter.Run() at
M.E.D.TextConverters.ConverterStream.Read(Byte[] buffer, Int32 offset, Int32 count) at
M.E.D.S.BodyReadStream.<>c__DisplayClassb.<Read>b__a() at
M.E.D.S.ConvertUtils.<>c__DisplayClass1`1.&lt;CallCtsWithReturnValue>b__0() at
M.E.D.S.ConvertUtils.CallCts(Trace tracer, String methodName, LocalizedString exceptionString, CtsCall
ctsCall) at M.E.D.S.ConvertUtils.CallCtsWithReturnValue[T](Trace tracer, String methodName, LocalizedString
exceptionString, CtsCallWithReturnValue`1 ctsCall) at M.E.D.S.BodyReadStream.Read(Byte[] buffer, Int32
offset, Int32 count) at M.E.D.S.Util.StreamHandler.CopyStreamData(Stream readStream, Stream writeStream,
Nullable`1 numBytes, Int32 t",,,.in,

↑ Back to the top


Cause

The issue is caused by a logic error that occurs in the TextConverter class when TextConverter performs a buffer copy operation.

↑ Back to the top


Resolution

To fix this issue, install Cumulative Update 14 for Exchange Server 2013 or a later cumulative update for Exchange Server 2013.

↑ Back to the top


Workaround

To work around this problem, identify the mailbox that caused the service to stop by using the RCA logs. Then, we recommend that you have the mailbox user change their Outlook setting from online mode to cached mode. 

Also, make sure that the user does not copy or move specific email messages to a .pst or local folder, either directly or by using an Outlook rule. To determine which message that is causing the problem, copy or move every message to the .pst file one at a time. The message that you cannot move is the one that is causing the problem. This problem causes a loss of connectivity loss or causes the RPC Client Access service to crash.

↑ 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


Keywords: kb, kbsurveynew, kbqfe

↑ Back to the top

Article Info
Article ID : 3061079
Revision : 2
Created on : 7/30/2020
Published on : 7/30/2020
Exists online : False
Views : 292