IIS应用程序池在回收时崩溃

时间:2017-10-25 16:04:32

标签: iis crash-dumps arr

我希望有人可以帮助解决这个非常奇怪的情况。

w3wp进程(对于我们服务器上的任何站点)在它被回收时会因访问冲突异常而崩溃。无论是由于时间或请求限制还是手动触发,都会发生这种情况。它似乎与我们的应用程序无关,因为没有内容的虚拟网站表现出相同的行为。

生产中有2个服务器出现此行为,使用NLB和ARR将负载平衡加载到IIS服务器场。我们在本地基础设施上有2个测试服务器具有相同的设置,这也存在这个问题,但是"单个服务器"同一应用程序的设置(和开发者机器)没有这个问题。

这些错误的事件日志如下所示:

Faulting application name: w3wp.exe, version: 7.5.7601.17514, time stamp: 0x4ce7afa2
Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000
Exception code: 0xc0000005
Fault offset: 0x0000000000000001
Faulting process id: 0x32d8
Faulting application start time: 0x01d34d9dc16ec0b0
Faulting application path: c:\windows\system32\inetsrv\w3wp.exe
Faulting module path: unknown
Report Id: f3b2821a-b991-11e7-9902-00505683efbb

有时他们有一个不同的错误模块,但主要是它"未知":

Faulting module name: nativerd.dll, version: 7.5.7601.17855, time stamp: 0x4fc85321

Faulting module name: iiscore.dll, version: 7.5.7601.17514, time stamp: 0x4ce7c6c8

我在使用DebugDiag 2.2发生这些错误时捕获了故障转储,并且分析显示了引发异常的线程的以下内容:

Thread 0 - System ID 16208

    Entry point   w3wp!wmainCRTStartup 
    Create time   25/10/2017 09:19:17 
    Time spent in user mode   0 Days 00:00:00.078 
    Time spent in kernel mode   0 Days 00:00:00.015 

        Call Stack

        iiscore!W3_URL_INFO::`vftable' 
        nativerd!TerminateNativeConfiguration+16 
        w3wphost!W3WP_HOST::~W3WP_HOST+1fb 
        w3wphost!AppHostInitialize+325 
        w3wp!wmain+470 
        w3wp!PerfStopProvider+19b 
        kernel32!BaseThreadInitThunk+d 
        ntdll!RtlUserThreadStart+1d 

我也在WinDbg中看过这个并获得以下内容:

OS Thread Id: 0x3f50 (0)
Current frame: iiscore!W3_URL_INFO::`vftable'
Child-SP         RetAddr          Caller, Callee
00000000001df570 000007fef91ef4d6 nativerd!TerminateNativeConfiguration+0x16
00000000001df5a0 000007fefb1c4797 w3wphost!W3WP_HOST::~W3WP_HOST+0x1fb, calling 0000000000010000
00000000001df5d0 000007fefb1c4269 w3wphost!AppHostInitialize+0x325, calling w3wphost!W3WP_HOST::~W3WP_HOST
00000000001df630 00000000ffbe3c60 w3wp!wmain+0x470
00000000001df670 000007feff3414e4 msvcrt!calloc_impl+0x85, calling ntdll!RtlAllocateHeap
00000000001df720 000007feff3541ba msvcrt!_wgetmainargs+0x7b, calling msvcrt!wsetenvp
00000000001df750 00000000ffbe10a2 w3wp!PerfStopProvider+0x4c, calling msvcrt!_wgetmainargs
00000000001df770 000000007715df6a ntdll! ?? ::FNODOBFM::`string'+0x149ca, calling ntdll!NtQueryPerformanceCounter
00000000001df790 000007feff348e47 msvcrt!initterm+0x1f
00000000001df7c0 00000000ffbe11f1 w3wp!PerfStopProvider+0x19b, calling w3wp!wmain
00000000001df7d0 00000000ffbe1351 w3wp!wmainCRTStartup+0x9, calling w3wp!_security_init_cookie
00000000001df800 0000000076ec59cd kernel32!BaseThreadInitThunk+0xd
00000000001df830 00000000770fa561 ntdll!RtlUserThreadStart+0x1d

但是我正在努力解释这个问题。

对此可能会有什么了解,或者我如何继续诊断将非常感激。

非常感谢

1 个答案:

答案 0 :(得分:0)

如果这有可能帮助其他人,我们最终会将此跟踪到一个额外的IIS模块,Dionach StripHeaders导致访问冲突异常。这是一个已修复的已知错误,因此更新模块应解决我们的问题。