Event ID: 9040 may occur every 15 minutes on a computer that is running Exchange Server 2007
| Article ID | : | 948934 |
| Last Review | : | March 12, 2008 |
| Revision | : | 1.0 |
SYMPTOMS
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
WORKAROUND
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
MORE INFORMATION
APPLIES TO
| • | Microsoft Exchange Server 2007 Enterprise Edition |
| • | Microsoft Exchange Server 2007 Standard Edition |
Keywords:Â |
kbprb kbtshoot kbexpertiseinter KB948934 |
Microsoft Knowledge Base Article
This article contents is Microsoft Copyrighted material.
Microsoft Corporation. All rights reserved. Terms of Use | Trademarks
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
Back to the top
Leave a Reply