You are currently offline, waiting for your internet to reconnect

Event ID: 9040 may occur every 15 minutes on a computer that is running Exchange Server 2007

SYMPTOMS
On a computer that is running Microsoft Exchange Server 2007, you may find that the following event error is logged in the Application event log almost every 15 minutes.

Event ID: 9040 Raw Event ID: 9040 Record Nr.: 63172 Category: Assistants Source: MSExchange Assistants Type: Error Message: Service MSExchangeMailboxAssistants.  A code bug has been detected due to this exception: Microsoft.Exchange.Assistants.AIGrayException ---> Microsoft.Exchange.Common.GrayException ---> System.ArgumentNullException: Value cannot be null. Parameter name: serverDn    at Microsoft.Exchange.Data.Storage.ConnectionCacheKey..ctor(String serverDn, ConnectFlag connectFlags)    at Microsoft.Exchange.Data.Storage.ConnectionCachePool.GetConnectionCache(String server, ConnectFlag connectFlags)    at Microsoft.Exchange.Data.Storage.ConnectionCachePool.OpenMailbox(String serverDn, String userDn, String mailboxDn, Guid mailboxGuid, Guid mdbGuid, Object identity, ConnectFlag connectFlag, OpenStoreFlag openStoreFlag, CultureInfo cultureInfo, String clientInfoString, Boolean secondTry)    at Microsoft.Exchange.Data.Storage.ConnectionCachePool.OpenMailbox(String serverDn, String userDn, String mailboxDn, Guid mailboxGuid, Guid mdbGuid, Object identity, ConnectFlag connectFlag, OpenStoreFlag openStoreFlag, CultureInfo cultureInfo, String clientInfoString)    at Microsoft.Exchange.Data.Storage.MailboxSession.Initialize(LogonType logonType, ExchangePrincipal owner, DelegateLogonUser delegateUser, Object identity, OpenMailboxSessionFlags flags)    at Microsoft.Exchange.Data.Storage.MailboxSession.CreateMailboxSession(LogonType logonType, ExchangePrincipal owner, DelegateLogonUser delegateUser, Object identity, OpenMailboxSessionFlags flags, CultureInfo cultureInfo, String clientInfoString)    at Microsoft.Exchange.Data.Storage.MailboxSession.OpenAsAdmin(ExchangePrincipal mailboxOwner, CultureInfo cultureInfo, String clientInfoString, Boolean useLocalRpc, Boolean ignoreHomeMdb)    at Microsoft.Exchange.Data.Storage.MailboxSession.OpenAsAdmin(ExchangePrincipal mailboxOwner, CultureInfo cultureInfo, String clientInfoString, Boolean useLocalRpc)    at Microsoft.Exchange.Assistants.DatabaseInfo.GetMailbox(ExchangePrincipal principal, String clientInfo)    at Microsoft.Exchange.InfoWorker.Assistants.OOF.OofScheduleStore.ScanForScheduledOof()    at Microsoft.Exchange.InfoWorker.Assistants.OOF.OofScheduleStore.Load(Boolean useCache)    at Microsoft.Exchange.InfoWorker.Assistants.OOF.OofScheduler..ctor(DatabaseInfo databaseInfo, Boolean useCache)    at Microsoft.Exchange.InfoWorker.Assistants.OOF.OofAssistant.OnStartInternal(EventBasedStartInfo startInfo)    at Microsoft.Exchange.InfoWorker.Assistants.EventBasedAssistant.OnStart(EventBasedStartInfo startInfo)    at Microsoft.Exchange.Assistants.EventBasedAssistantCollection.StartAssistants(EventBasedStartInfo startInfo)    at Microsoft.Exchange.Assistants.EventController.Start()    at Microsoft.Exchange.Assistants.OnlineDatabase.Start()    at Microsoft.Exchange.Assistants.Util.<>c__DisplayClass2.<CatchMeIfYouCan>b__0()    at Microsoft.Exchange.Common.IL.ILUtil.DoTryFilterCatch(TryDelegate tryDelegate, FilterDelegate filterDelegate, CatchDelegate catchDelegate)    --- End of inner exception stack trace ---    at Microsoft.Exchange.Common.GrayException.ExceptionCatcher(Object exception)    at Microsoft.Exchange.Common.IL.ILUtil.DoTryFilterCatch(TryDelegate tryDelegate, FilterDelegate filterDelegate, CatchDelegate catchDelegate)    at Microsoft.Exchange.Common.GrayException.MapAndReportGrayExceptions(UserCodeDelegate tryCode)    at Microsoft.Exchange.Assistants.Util.CatchMeIfYouCan(CatchMe function)    --- End of inner exception stack trace ---    at Microsoft.Exchange.Assistants.Util.CatchMeIfYouCan(CatchMe function)    at Microsoft.Exchange.Assistants.Base.CatchMeIfYouCan(CatchMe function).

CAUSE
This problem occurs because the ExchangeLegacyDN attribute of the server object does not match the ExchangeLegacyDN attribute for the user.
WORKAROUND
To work around this problem, run the following Exchange cmdlets.
Get-ExchangeServer -ID  Servername |FL name, ExchangeLegacyDN
Get-Mailbox | FL Displayname, ServerLegacyDN
Examine the ServerLegacyDN attribute on the mailbox to determine whether it matches the ExchangeLegacyDN attribute on the server object. The cmdlets output will help determine the mailboxes that are mismatched. Correct the mismatched users, and then stop and restart the mailbox assistant service.

Note If there are more than 1000 mailboxes on the server, run the "Get-Mailbox -ResultSize Unlimited | FL Displayname, ServerLegacyDN" cmdlet instead of the "Get-Mailbox | FL Displayname, ServerLegacyDN" cmdlet.
STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
MORE INFORMATION
To correct the attribute for a user, back up the attribute, and then use a tool to correct the attribute. To back up the attribute, use the ADSIEdit tool or another tool.
Properties

Article ID: 948934 - Last Review: 01/07/2009 21:19:49 - Revision: 2.0

Microsoft Exchange Server 2007 Enterprise Edition, Microsoft Exchange Server 2007 Standard Edition

  • kbprb kbtshoot kbexpertiseinter KB948934
Feedback
ml>