You are currently offline, waiting for your internet to reconnect

The free/busy information about an Exchange Server 2007 user is not displayed

In a Microsoft Exchange Server 2007 environment, you find that the free/busy information about an user is not displayed. Additionally, you set the Exchange Server Diagnostics Logging level for the Availability Service to one of the following three levels
  • Lowest
  • Low
  • Medium
When you do this, the following event is logged in the Application log:

Event ID : 4013
Raw Event ID : 4013
Category : None
Source : MSExchange Availability
Type : Error
Message : Process <ID>[w3wp.exe:/LM/W3SVC/1/ROOT/EWS-<ID>]: Calendar query failed for mailbox <user name>SMTP:<smtp address>. The returned exception is as follows: Microsoft.Exchange.InfoWorker.Common.Availability.Win32InteropException: A Win32 function returned an error. The inner exception may have more details. ---> System.ArgumentOutOfRangeException: Non-negative number required.Parameter name: countat System.IO.BinaryReader.ReadBytes(Int32 count)at Microsoft.Exchange.Data.Storage.InternalRecurrence.ReadExceptionInfoSubstring(Binary Reader blobReader, Int32 usingCodePageId)at Microsoft.Exchange.Data.Storage.InternalRecurrence.ParseExceptionInfo(BinaryReader blobReader, RecurrenceVersion recurrenceVersion, Int32 usingCodePageId)at Microsoft.Exchange.Data.Storage.InternalRecurrence.InternalParse(Byte[] blob, Item masterItem, VersionedId masterItemId, ExchangeTimeZone organizerTimeZone, ExchangeTimeZone userTimeZone, Boolean expectNoException, Int32 usingCodePageId)at Microsoft.Exchange.Data.Storage.InternalRecurrence.InternalParse(Byte[] blob, VersionedId masterItemId, ExchangeTimeZone organizerTimeZone, ExchangeTimeZone userTimeZone, Int32 usingCodePageId)at Microsoft.Exchange.Data.Storage.InternalRecurrence.GetRecurrence(VersionedId versionedId, StoreSession session, Byte[] recurrenceBlob, Byte[] organizerTimeZoneBlob, Int32 usingCodePageId)at Microsoft.Exchange.Data.Storage.CalendarFolder.GetRecurringCalendarItems(DateTime startTime, DateTime endTime, PropertyDefinition[] dataColumns)at Microsoft.Exchange.Data.Storage.CalendarFolder.GetCalendarView(DateTime startTime, DateTime endTime, QueryFilter filter, SortBy[] sortColumns, PropertyDefinition[] dataColumns)at Microsoft.Exchange.InfoWorker.Common.Availability.CalendarQuery.InternalGetCalendarData(EmailAddress emailAddress, MailboxSession session)at Microsoft.Exchange.InfoWorker.Common.Availability.CalendarQuery.GetCalendarData(EmailAddress emailAddress)

The error is caused by certain internal functions in Exchange Server 2007 that throw a wrong exception for a corrupted calendar item. Therefore, the free/busy information for certain users is not displayed.
To resolve this problem, install the following update rollup:
972076 Description of Update Rollup 2 for Exchange Server 2007 Service Pack 2
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
For more information about how to change Logging Levels for Exchange Processes, visit the following Microsoft Web site:

Article ID: 976025 - Last Review: 01/22/2010 22:29:19 - Revision: 1.0

Microsoft Exchange Server 2007 Service Pack 2

  • kbsurveynew kbhotfixrollup kbexpertiseinter kbfix kbqfe KB976025