当我使用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
有帮助吗?

解决方案

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

  • 首先,我打开ControlPanel> ActionCenter>问题报告
  • 我看到了问题列表。和我的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

因此,我将此代码添加到解密方法: if(string.isnullorenty(value))return 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);
        ...
    }

问题解决了。

其他提示

我知道我迟到了,但是我只是在WindBG上调试了一个类似的问题。我终于设法找到了问题的原因。

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

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

Tess Ferrandez有一些很棒的教程和有关如何使用Debugdiag和Windbg来确定为什么会发生这种情况的重要教程和信息:

如果破碎,请修复它

还有一个实验室可以带您分析工程流程崩溃:

.NET调试演示实验室5:崩溃

.NET调试演示实验2:崩溃 - 审查

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

ASP.NET工作流程正在违反访问情况。这通常是由于取消无效或无效指针的结果。试图访问C#中的null引用通常会生成ASP.NET能够捕获的托管异常,我认为您的Web应用程序正在使用COM Interop或调用崩溃的无管理(C ++)代码。

不幸的是,这与我们从上面的信息中告诉您一样多。您将需要调试过程以了解崩溃的确切原因。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top