IIS问题,Web应用程序

时间:2010-11-03 07:42:07

标签: iis recycle

当我使用Web应用程序时,应用程序会将我注销。我认为它可能是一个IIS回收。

EventViewer消息:

.NET Runtime version 2.0.50727.4927 - Fatal Execution Engine Error (000007FEF582FA42) (80131506)
----------

Faulting application name: w3wp.exe, version: 7.5.7600.16385, time stamp: 0x4a5bd0eb
Faulting module name: mscorwks.dll, version: 2.0.50727.4927, time stamp: 0x4a27466f
Exception code: 0xc0000005
Fault offset: 0x00000000006be81f
Faulting process id: 0x%9
Faulting application start time: 0x%10
Faulting application path: %11
Faulting module path: %12
Report Id: %13

-------------
Fault bucket , type 0
Event Name: APPCRASH
Response: Not available
Cab Id: 0

Problem signature:
P1: w3wp.exe
P2: 7.5.7600.16385
P3: 4a5bd0eb
P4: mscorwks.dll
P5: 2.0.50727.4927
P6: 4a27466f
P7: c0000005
P8: 00000000006be81f
P9: 
P10: 

Attached files:

These files may be available here:
C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_w3wp.exe_6a41af6fc5f73afd65a4b62225f4f0ff51ba820_60e9d666

Analysis symbol: 
Rechecking for solution: 0
Report Id: d745615a-e67c-11df-83c0-d8d385b73c58
Report Status: 4

我用windbg分析了故障转储,但我不知道如何解决问题和解决问题:

0:056> !analyze -v
*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************

Unable to load image C:\Windows\assembly\NativeImages_v2.0.50727_64\mscorlib\9a017aa8d51322f18a40f414fa35872d\mscorlib.ni.dll, Win32 error 0n2
*** WARNING: Unable to verify checksum for mscorlib.ni.dll
Unable to load image C:\Windows\assembly\NativeImages_v2.0.50727_64\System.Web.RegularE#\bf11731ff6e75c72e9939a05151e7484\System.Web.RegularExpressions.ni.dll, Win32 error 0n2
*** WARNING: Unable to verify checksum for System.Web.RegularExpressions.ni.dll
Unable to load image C:\Windows\assembly\NativeImages_v2.0.50727_64\System.Web\d753bba0990df9a19883f05d5b681d3b\System.Web.ni.dll, Win32 error 0n2
*** WARNING: Unable to verify checksum for System.Web.ni.dll
Unable to load image C:\Windows\assembly\NativeImages_v2.0.50727_64\System.Data\46a0336046744a9f29986b208b8d38d4\System.Data.ni.dll, Win32 error 0n2
*** WARNING: Unable to verify checksum for System.Data.ni.dll
Unable to load image C:\Windows\winsxs\amd64_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7600.16385_none_2b4f45e87195fcc4\GdiPlus.dll, Win32 error 0n2
*** WARNING: Unable to verify timestamp for GdiPlus.dll
Unable to load image C:\Windows\assembly\NativeImages_v2.0.50727_64\System\247913fa7ae6fcf04ea33d28d24ab611\System.ni.dll, Win32 error 0n2
*** WARNING: Unable to verify checksum for System.ni.dll
GetPageUrlData failed, server returned HTTP status 500
URL requested: http://watson.microsoft.com/StageOne/w3wp_exe/7_5_7600_16385/4a5bd0eb/mscorwks_dll/2_0_50727_4927/4a27466f/c0000005/006be81f.htm?Retriage=1

FAULTING_IP: 
mscorwks!COMCryptography::_GetKeyParameter+24f
000007fe`f5dde81f 418b4514        mov     eax,dword ptr [r13+14h]

EXCEPTION_RECORD:  ffffffffffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 000007fef5dde81f (mscorwks!COMCryptography::_GetKeyParameter+0x000000000000024f)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 0000000000000000
   Parameter[1]: 0000000000000014
Attempt to read from address 0000000000000014

PROCESS_NAME:  w3wp.exe

ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.

EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.

EXCEPTION_PARAMETER1:  0000000000000000

EXCEPTION_PARAMETER2:  0000000000000014

READ_ADDRESS:  0000000000000014 

FOLLOWUP_IP: 
mscorwks!COMCryptography::_GetKeyParameter+24f
000007fe`f5dde81f 418b4514        mov     eax,dword ptr [r13+14h]

MOD_LIST: <ANALYSIS/>

NTGLOBALFLAG:  0

APPLICATION_VERIFIER_FLAGS:  0

MANAGED_STACK: !dumpstack -EE
No export dumpstack found

MANAGED_BITNESS_MISMATCH: 
Managed code needs matching platform of sos.dll for proper analysis. Use 'x64' debugger.

ADDITIONAL_DEBUG_TEXT:  Followup set based on attribute [Is_ChosenCrashFollowupThread] from Frame:[0] on thread:[PSEUDO_THREAD]

LAST_CONTROL_TRANSFER:  from 000007fef3a0bf50 to 000007fef5dde81f

FAULTING_THREAD:  ffffffffffffffff

DEFAULT_BUCKET_ID:  NOSOS

PRIMARY_PROBLEM_CLASS:  NOSOS

BUGCHECK_STR:  APPLICATION_FAULT_NOSOS_NULL_CLASS_PTR_DEREFERENCE_INVALID_POINTER_READ_WRONG_SYMBOLS_CALL_STACKIMMUNE

STACK_TEXT:  
00000000`00000000 00000000`00000000 w3wp.exe+0x0


SYMBOL_NAME:  w3wp.exe

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: w3wp

IMAGE_NAME:  w3wp.exe

DEBUG_FLR_IMAGE_TIMESTAMP:  4a5bd0eb

STACK_COMMAND:  ** Pseudo Context ** ; kb

FAILURE_BUCKET_ID:  NOSOS_c0000005_w3wp.exe!Unknown

BUCKET_ID:  X64_APPLICATION_FAULT_NOSOS_NULL_CLASS_PTR_DEREFERENCE_INVALID_POINTER_READ_WRONG_SYMBOLS_CALL_STACKIMMUNE_w3wp.exe


Followup: MachineOwner

5 个答案:

答案 0 :(得分:4)

我解决了这个问题。 解决方案步骤:

  • 首先我打开ControlPanel&gt; ActionCenter&GT;问题报告
  • 我看到了一系列问题。和我的IIS崩溃问题。
  • 我输入了项目详细信息并保存为转储。
  • 我下载了Windbg然后用它打开这个转储。
  • 并输入命令!analyze -v

Windbg分析并显示如下文字:

GetPageUrlData failed, server returned HTTP status 404
URL requested: http://watson.microsoft.com/StageOne/w3wp_exe/7_5_7600_16385/4a5bd0eb/mscorwks_dll/2_0_50727_4927/4a27466f/c0000005/006be81f.htm?Retriage=1

FAULTING_IP: 
mscorwks!COMCryptography::_GetKeyParameter+24f
000007fe`f5dde81f 418b4514        mov     eax,dword ptr [r13+14h]

EXCEPTION_RECORD:  ffffffffffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 000007fef5dde81f (mscorwks!COMCryptography::_GetKeyParameter+0x000000000000024f)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 0000000000000000
   Parameter[1]: 0000000000000014
Attempt to read from address 0000000000000014

PROCESS_NAME:  w3wp.exe

ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.

EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.

EXCEPTION_PARAMETER1:  0000000000000000

EXCEPTION_PARAMETER2:  0000000000000014

READ_ADDRESS:  0000000000000014 

FOLLOWUP_IP: 
mscorwks!COMCryptography::_GetKeyParameter+24f
000007fe`f5dde81f 418b4514        mov     eax,dword ptr [r13+14h]

MOD_LIST: <ANALYSIS/>

NTGLOBALFLAG:  0

APPLICATION_VERIFIER_FLAGS:  0

MANAGED_STACK: !dumpstack -EE
No export dumpstack found

MANAGED_BITNESS_MISMATCH: 
Managed code needs matching platform of sos.dll for proper analysis. Use 'x64' debugger.

ADDITIONAL_DEBUG_TEXT:  Followup set based on attribute [Is_ChosenCrashFollowupThread] from Frame:[0] on thread:[PSEUDO_THREAD]

LAST_CONTROL_TRANSFER:  from 000007fef3a0bf50 to 000007fef5dde81f

FAULTING_THREAD:  ffffffffffffffff

DEFAULT_BUCKET_ID:  NOSOS

PRIMARY_PROBLEM_CLASS:  NOSOS

BUGCHECK_STR:  APPLICATION_FAULT_NOSOS_NULL_CLASS_PTR_DEREFERENCE_INVALID_POINTER_READ_WRONG_SYMBOLS_CALL_STACKIMMUNE

STACK_TEXT:  
00000000`00000000 00000000`00000000 w3wp.exe+0x0


SYMBOL_NAME:  w3wp.exe

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: w3wp

IMAGE_NAME:  w3wp.exe

DEBUG_FLR_IMAGE_TIMESTAMP:  4a5bd0eb

STACK_COMMAND:  ** Pseudo Context ** ; kb

FAILURE_BUCKET_ID:  NOSOS_c0000005_w3wp.exe!Unknown

BUCKET_ID:  X64_APPLICATION_FAULT_NOSOS_NULL_CLASS_PTR_DEREFERENCE_INVALID_POINTER_READ_WRONG_SYMBOLS_CALL_STACKIMMUNE_w3wp.exe

WATSON_STAGEONE_URL:
Followup: MachineOwner

0:056> .exr 0xffffffffffffffff
ExceptionAddress: 000007fef5dde81f (mscorwks!COMCryptography::_GetKeyParameter+0x000000000000024f)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 0000000000000000
   Parameter[1]: 0000000000000014
Attempt to read from address 0000000000000014

所以我将此代码添加到Decrypt方法: if(String.IsNullOrEmpty(value))返回String.Empty;

public static string Decrypt(string value)
    {
        SymmetricAlgorithm algorithm = SymmetricAlgorithm.Create();
        ICryptoTransform decryptor = algorithm.CreateDecryptor(EncryptionKey, EncryptionVector);

        // I control value
        **if (String.IsNullOrEmpty(value))
            return String.Empty;**

        byte[] encryptedBytes = Convert.FromBase64String(value);
        MemoryStream memoryStream = new MemoryStream(encryptedBytes);
        CryptoStream cryptoStream = new CryptoStream(memoryStream, decryptor, CryptoStreamMode.Read);
        ...
    }
问题解决了。

答案 1 :(得分:3)

我知道我迟到了,但我只是用WinDbg调试了类似的问题。我终于找到了问题的原因。

这是微软报道的一个错误: http://connect.microsoft.com/VisualStudio/feedback/details/330926/cryptostream-flushfinalblock-fatal-on-64-bit-os-if-bytearray-is-null

我只是将其添加到讨论中,作为搜索网络的其他人的主角。

答案 2 :(得分:2)

Tess Ferrandez有一些很棒的教程和信息,介绍如何使用DebugDiag和WinDbg来确定发生这种情况的原因:

  

If it is broken, fix it you should

还有一个实验室可以引导您分析工作进程崩溃:

  

.NET Debugging Demos Lab 5: Crash

     

.NET Debugging Demos Lab 2: Crash - Review

答案 3 :(得分:1)

我遇到了完全相同的症状,真正的原因是我不小心创建了一个无限递归,这反过来导致了堆栈溢出。请注意,您需要在纠正错误后重新启动应用程序池。

答案 4 :(得分:0)

ASP.NET辅助进程因访问冲突而崩溃。这通常是取消引用NULL或无效指针的结果。尝试在C#中访问空引用通常会生成ASP.NET能够捕获的托管异常,我假设您的Web应用程序正在使用COM互操作或正在调用崩溃的非托管(C ++)代码。

不幸的是,这与我们从上面的信息告诉你的情况差不多。您需要调试流程以了解崩溃的确切原因。