首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >w3wp.exe crash - ThreadAbortException

w3wp.exe crash - ThreadAbortException
EN

Stack Overflow用户
提问于 2011-01-12 08:25:59
回答 2查看 3.6K关注 0票数 2

我们有一个无法复制的问题,它随机发生在我们的web服务器(Windows 2008数据中心64位,托管在亚马逊EC2上)上,运行ASP.NET 4。

它以错误日志中的ASP.NET警告开始(一个奇怪的GET请求有一个非常长的URL):

异常信息:

异常类型: HttpException

异常消息:此请求的URL长度超过配置的maxUrlLength值。

在System.Web.HttpRequest.ValidateInputIfRequiredByConfig()

(在System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext上下文中)

那么一个错误:

应用程序ID: /LM/W3SVC/2/ROOT

进程ID: 4604

例外: System.Threading.ThreadAbortException

消息:线程被中止。

System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest StackTrace:在wr,HttpContext上下文)

在System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr managedHttpContext,IntPtr nativeRequestContext,IntPtr moduleData,Int32旗帜

在System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr managedHttpContext,IntPtr nativeRequestContext,IntPtr moduleData,Int32标志)

然后是另一个错误:

应用程序ID: DefaultDomain

进程ID: 4604

例外: System.Threading.ThreadAbortException

消息:线程被中止。

StackTrace:

然后是应用程序错误:

故障处理应用程序w3wp.exe,版本7.0.6002.18005,时间戳0x49e03238,故障模块内核32.dll,版本6.0.6002.18005,时间戳0x49e041d1,异常代码0xe0434352,故障偏移量0x000000000000000176fd,进程id 0x%9,应用程序启动时间0x%10。

Windbg

我用adplus成功地找到了一个垃圾堆,但是我真的不知道该找什么。我以前用Windbg解决过一些堆栈溢出问题,但是我不知道使用哪种方法来处理这个错误。

错误线程上的!pe:

异常对象: 00000001c323d948

异常类型: System.Threading.ThreadAbortException

消息:线程被中止。

InnerException: StackTrace (生成):StackTraceString:

HResult: 80131530

!clrstack

儿童SP IP呼叫站点

0000000015f7f078 000000000076c176fd GCFrame: 0000000015f7f078

0000000015f7f258 0000000076c176fd GCFrame: 0000000015f7f258

k

儿童-SP RetAddr呼叫站点

0000000015f7edf0 000007fef2826e39 kernel32!RaiseException+0x39

0000000015f7eec0 000007fef2bbbfb4 clr!RaiseTheExceptionInternalOnly+0x363

0000000015f7eff0 000007fef2bbc906 clr!RaiseTheException+0xa4

0000000015f7f020 000007fef2c3b99b clr!BStrFromString+0x66

0000000015f7f050 000007fef2c3b9a9 clr!RealCOMPlusThrow+0x3b

0000000015f7f0c0 000007fef2c93156 clr!RealCOMPlusThrow+0x9

0000000015f7f0f0 000007fef2b229f3 clr!Thread::RaiseCrossContextException+0x2a7

0000000015f7f310 000007fef2830886 clr!??::FNODOBFM::string'+0xafb03

0000000015f7f4c0 000007fef27fcce3 clr!UM2MDoADCallBack+0x9e

0000000015f7f530 000007fef845ba59 clr!UMThunkStubAMD64+0x273

0000000015f7f5c000007fef8458f02 webengine4!W3_MGD_HANDLER::ProcessNotification+0x79

0000000015f7f5f000007fef27d4595 webengine4!ProcessNotificationCallback+0x43

0000000015f7f620 000007fef27d3ac8 clr!UnManagedPerAppDomainTPCount::DispatchWorkItem+0x181

0000000015f7f6d000007fef294658f clr!ThreadpoolMgr::NewWorkerThreadStart+0x2e5

0000000015f770000007fef29447c6 clr!ThreadpoolMgr::WorkerThreadStart+0x3b

0000000015f7f810 0000000076c1be3d clr!Thread::intermediateThreadProc+0x7d

0000000015f7fbd0 0000000076d56a51 kernel32!BaseThreadInitThunk+0xd

0000000015f7fc000000000000000000 ntdll!RtlUserThreadStart+0x1d

有人知道这可能是什么吗?或者能为我指出用Windbg分析它的正确方向?

编辑:传入的urls通常如下所示: foo.bar.com/wEPDwULLTE1MTk5MzIzMTFkGAMFFmN0bDAwJGRiMSRkZGxEYXRhYmFzZXMPFCsAAmRkZAU7Y3RsMDAkU2VhcmNoQ2xvdWQxJF9SaWdodENvbHVtbiRfU2VhcmNoQ2xvdWQkbHN2U2VhcmNoVGVybXMPFCsADmRkZGRkZGQ8KwAUAAIUZGRkZgL/D2QFK2N0bDAwJHN1cnZleTEkX1JpZ2h0Q29sdW1uJF9JUiR1c2VyQ29tbWVudHMPFCsAA2VnZGQeuUcvQDsShDIp1k7YjJw70Ry 9/Q1B9Sd1egrovYgkw==/

但我在事件日志中发现,这样的urls也会发生这种情况: foo.bar.com/& ( .NET 4中的“危险请求”)

EN

回答 2

Stack Overflow用户

发布于 2011-01-23 01:48:38

您至少应该加载符号,然后在调用堆栈中看到正确的字符串。

如果您不能处理这种分析,我认为通过http://support.microsoft.com打开一个支持案例对您有好处。

票数 0
EN

Stack Overflow用户

发布于 2013-02-02 21:00:50

我一直在试图解决一个类似的问题。

我发现这篇文章声称这是一个确定原因的过程,我认为这实际上是有意义的:

http://blogs.msdn.com/b/asiatech/archive/2012/06/21/how-to-troubleshoot-httpexception-request-timed-out-asp-net-4-0-64-bit.aspx

请注意:我未能成功地完成所描述的步骤。我会在这里发帖寻求帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4666627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档