最近几天,我们的生产服务器出现了几次崩溃,我不知道该如何修复这个问题。该服务器托管一个电子商务应用程序,该应用程序以经典 ASP 编写,在 IIS 7.5 + MSSQL 下运行。自周一以来,w3wp.exe 进程大约每天崩溃一次,原因是模块 rewrite.dll 中的访问冲突。最近没有安装任何更新,没有对应用程序代码进行修补,显然什么都没有改变。
有没有人有过类似的经历,可以给我提供解决方案?提前谢谢,这是来自调试诊断的崩溃挂起分析报告。
Type of Analysis Performed Crash Analysis
Machine Name
Operating System Windows Server 2008 R2 Service Pack 1
Number Of Processors
Process ID 456
Process Image C:\Windows\SysWOW64\inetsrv\w3wp.exe
System Up-Time 7 day(s) 02:04:17
Process Up-Time 6 day(s) 23:09:21
Thread 10 - System ID 5640
Thread 10 - System ID 5640
**Full Call Stack**
Function
rewrite!RegisterModule+38b86
rewrite!RegisterModule+38fd3
rewrite!RegisterModule+3855f
rewrite!RegisterModule+214d7
rewrite!RegisterModule+1ed78
rewrite!RegisterModule+1c2fc
rewrite!RegisterModule+3e63
rewrite!RegisterModule+5eb
iiscore!NOTIFICATION_CONTEXT::RequestDoWork+d5
iiscore!NOTIFICATION_CONTEXT::CallModulesInternal+305
iiscore!NOTIFICATION_CONTEXT::CallModules+28
iiscore!W3_CONTEXT::DoStateRequestStart+63
iiscore!W3_CONTEXT::DoWork+8d
iiscore!W3_MAIN_CONTEXT::StartNotificationLoop+49
iiscore!W3_MAIN_CONTEXT::OnNewRequest+47
w3dt!UL_NATIVE_REQUEST::DoStateProcess+26
w3dt!UL_NATIVE_REQUEST::DoWork+60
w3dt!OverlappedCompletionRoutine+1a
w3tp!THREAD_POOL_DATA::ThreadPoolThread+89
w3tp!THREAD_POOL_DATA::ThreadPoolThread+24
w3tp!THREAD_MANAGER::ThreadManagerThread+39
kernel32!BaseThreadInitThunk+e
ntdll!__RtlUserThreadStart+70
ntdll!_RtlUserThreadStart+1b
Exception Information
REWRITE!REGISTERMODULE+38B86WARNING - DebugDiag was not able to locate debug
symbols for rewrite.dll, so the information below may be incomplete.
In WER4CBC.tmp.mdmp the assembly instruction at rewrite!RegisterModule+38b86 in
C:\Windows\System32\inetsrv\rewrite.dll from Microsoft Corporation has caused
an access violation exception (0xC0000005) when trying to read from memory
location 0x7256665a on thread 10
Image Name: C: \Windows\System32\inetsrv\rewrite.dll
Base address: 0x00905a4d
Checksum: 0x00000000
COM DLL: False
ISAPIExtension: False
ISAPIFilter: False
Managed DLL: False
VB DLL: False
Loaded Image Name: rewrite.dll
Mapped Image Name: C:\Windows\System32\inetsrv\rewrite.dll
Module name: rewrite
Single Threaded: False
Module Size: 316,00 KBytes
Symbol File Name: rewrite.dll
Symbol Type: Export
Time Stamp: Thu Jun 24 01:11:33 2010
Comments:
Company Name: Microsoft Corporation
File Description: URL Rewrite Module for IIS 7
File Version: 7.1.0871.0
Internal Name: rewrite
Legal Copyright: Copyright © 2010 Microsoft Corporation
Legal Trademarks: Microsoft® is a registered trademark of Microsoft Corporation.
Original filename: rewrite.dll
Private Build: Built by danielvl on SPIDER.
Product Name: Microsoft® IIS Extensions
Product Version: 7.1.0871.0
Special Build: &
答案1
尝试安装修补程序http://support.microsoft.com/kb/2749660
此修补程序将更新 rewrite.dll 至版本 7.1.1678.0
访问冲突的另一个潜在原因是 RAM 故障,因此可能需要运行内存诊断工具,例如记忆测试。