gpt4 book ai didi

c# - ASP.NET 2.0 C# 应用程序因 NTDLL 上的内存访问冲突而崩溃

转载 作者:行者123 更新时间:2023-11-30 23:16:51 27 4
gpt4 key购买 nike

我们有一系列 ASP.Net Web API 2.0 应用程序运行在一个公共(public)服务器(带有 IIS 8.5 的 Server 2012)上。每个应用程序都在自己的应用程序池中。堆栈是.NET 4.5,RabbitMQ 驱动程序 3.6.6 和 MongoDB 驱动程序 1.11,postsharp express

最近,应用程序开始随机崩溃并出现访问冲突异常。

查看故障转储没有提供特别有用的信息……至少对我而言没有。以下是导致崩溃的两个(一致的)原因:

In w3wp.exe.13880.dmp the assembly instruction at ntdll!RtlpxLookupFunctionTable+3b in C:\Windows\System32\ntdll.dll from Microsoft Corporation has caused an access violation exception (0xC0000005) when trying to write to memory location 0x06d00ff8 on thread 0

In w3wp.exe.1628.dmp the assembly instruction at ntdll!RtlAcquireSRWLockShared+b in C:\Windows\System32\ntdll.dll from Microsoft Corporation has caused an access violation exception (0xC0000005) when trying to write to memory location 0x611e0ff8 on thread 0

此外,所有转储似乎都以以下方式启动崩溃(以及其他几个线程)的堆栈跟踪:

kernel32!ExitProcessImplementation+a 
mscoreei!RuntimeDesc::ShutdownAllActiveRuntimes+27b
msvcrt!_crtCorExitProcess+59
msvcrt!_crtExitProcess+d
msvcrt!doexit+15b
w3wp!ParseCommandLine+bec
kernel32!BaseThreadInitThunk+22
ntdll!RtlUserThreadStart+34

任何想法如何更有效地调试它?我尝试了不同的内存转储方法、日志记录和从转储中调试托管内存……但到目前为止没有成功。任何指针将不胜感激。

最佳答案

以防万一这对其他人有帮助...这个特殊问题是由于 SuatinSoft PdfFocus 上缺乏线程安全引起的,它在 GDI 中使用非托管代码将 PDF 页面转换为图像。当两个线程同时访问该代码时,会导致内存访问冲突

关于c# - ASP.NET 2.0 C# 应用程序因 NTDLL 上的内存访问冲突而崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41834545/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com