The Module DLL kerbauth.dll failed to load. The data is the error. (The Module DLL C:Program FilesMicrosoftExchange ServerV14Binkerbauth.dll failed to load. The data is the error.)

I thought of writing this blog since i saw this issue on a few of cases.

Symptoms

========================

After re-installing Exchange Server, you may see 503-Service unavailable while browsing Exchange Management Console or “Default Website”

At times, you may also see that the request keeps spinning in the browser and response does not comes back at all.

You may see following entry in the application event logs

The Module DLL E:\Program Files\Microsoft\Exchange Server\V14\Bin\kerbauth.dll failed to load.  The data is the error.

 

Cause

=======================

Reason for 503-Service unavailable is that application pool is stopped but the actual reason is something else has caused the app pool crash and finally leading to stopped state. This application pool was stopped because of by default 5 consecutive exceptions within 5 minutes which is default behavior for IIS worker process.

This issue starts happening if during re-install of the Exchange Server, you select a different location to install.

When Exchange server was installed for the first time, it registers its custom modules with IIS and for this it makes entries in the IIS root config file i.e. applicationHost.config at this location C:\Windows\System32\inetsrv\config. These enties are made under the <globalmodules> section. You will see one such entry for kerbauth.dll.

  <add name="kerbauth" image="C:\Program Files\Microsoft\Exchange Server\V14\Bin\kerbauth.dll" />

While uninstalling the Exchange from the server, these entries might not be removed from the applicationHost.config. Issue starts when while re-installing the Exchange, the installation drive is changed. So such dlls will be copied at some other location while this entry is not modified in the applicationHost.config file.

While accessing the website, IIS will try to load this dll from the old path C:\Program Files\Microsoft\Exchange Server\V14\Bin\kerbauth.dll while this dll is not there and exists at some other path now.

While loading this dll, IIS will not be able to locate this and will throw an error and you must see an entry like following in the application event logs.

Log Name:      Application

Source:        Microsoft-Windows-IIS-W3SVC-WP

Date:          9/5/2013 11:03:23 AM

Event ID:      2280

Task Category: None

Level:         Error

Keywords:      Classic

User:          N/A

Computer:      STAL-EXCH01.stalber.loc

Description:

The Module DLL E:\Program Files\Microsoft\Exchange Server\V14\Bin\kerbauth.dll failed to load.  The data is the error.

Event Xml:

<Event xmlns="https://schemas.microsoft.com/win/2004/08/events/event">

  <System>

    <Provider Name="Microsoft-Windows-IIS-W3SVC-WP" Guid="{670080D9-742A-4187-8D16-41143D1290BD}" EventSourceName="W3SVC-WP" />

    <EventID Qualifiers="49152">2280</EventID>

    <Version>0</Version>

    <Level>2</Level>

    <Task>0</Task>

    <Opcode>0</Opcode>

    <Keywords>0x80000000000000</Keywords>

    <TimeCreated SystemTime="2013-09-05T15:03:23.000000000Z" />

    <EventRecordID>160043</EventRecordID>

    <Correlation />

    <Execution ProcessID="0" ThreadID="0" />

    <Channel>Application</Channel>

    <Computer>STAL-EXCH01.stalber.loc</Computer>

    <Security />

  </System>

  <EventData>

    <Data Name="ModuleDll">E:\Program Files\Microsoft\Exchange Server\V14\Bin\kerbauth.dll</Data>

    <Binary>7E000000</Binary>

  </EventData>

</Event>

If IIS fails to load this dll, it keeps throwing this error message and then finally will stop the application pool. So we start getting 503-Service unavailable error.

Resolution

==================

To resolve this issue, you need to manually change the path of kerbauth.dll to the latest path where exchange has been installed during reinstall.

1. Open ApplicationHost.config file at this path C:\Windows\System32\inetsrv\config

2. Find the entry for kerbauth.dll like following

<add name="kerbauth" image="E:\Program Files\Microsoft\Exchange Server\V14\Bin\kerbauth.dll" />

3. Change the path for this dll as per the latest location of the Exchange Server installation files.

<add name="kerbauth" image="C:\Program Files\Microsoft\Exchange Server\V14\Bin\kerbauth.dll" />

 

Please feel free to provide the feedback on this post. Let me know if you have any concerns.