我刚刚在Windows 7中的IIS 7.5中关闭了应用程序池,因为我认为在5分钟的空间内有5次堆栈溢出。
以下是关闭的解释: 应用程序池“我的软件AppPool”由于为该应用程序池提供服务的一系列故障而被自动禁用。
使用WinDbg,我运行命令'!analyze -v',并在下面提出异常分析。它似乎与System.Net.Mail.SmtpClient.Send有关,但这似乎没有意义。
任何想法都会很棒! THX。
FAULTING_IP:
clr!StrongNameErrorInfo+4f94d
000007fe`f9d265ed 4889842498000000 mov qword ptr [rsp+98h],rax
EXCEPTION_RECORD: ffffffffffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 000007fef9c20e8f (clr!CoUninitializeEE+0x000000000000d14f)
ExceptionCode: c00000fd (Stack overflow)
ExceptionFlags: 00000001
NumberParameters: 2
Parameter[0]: 0000000000000001
Parameter[1]: 0000000004c65f88
PROCESS_NAME: w3wp.exe
FAULTING_MODULE: 0000000077230000 ntdll
DEBUG_FLR_IMAGE_TIMESTAMP: 5073c71b
ERROR_CODE: (NTSTATUS) 0xc00000fd - A new guard page for the stack cannot be created.
EXCEPTION_CODE: (NTSTATUS) 0xc00000fd - A new guard page for the stack cannot be created.
EXCEPTION_PARAMETER1: 0000000000000001
EXCEPTION_PARAMETER2: 0000000004c65f88
RECURRING_STACK: From frames 0xd to 0x4b
MOD_LIST: <ANALYSIS/>
MANAGED_STACK:
SP IP Function
0000000004C71DF0 000007FEF87B5C77 System_ni!System.Net.Mail.SmtpClient.Send(System.Net.Mail.MailMessage)+0x216fe7
0000000004C7A560 000007FEF87B5C77 System_ni!System.Net.Mail.SmtpClient.Send(System.Net.Mail.MailMessage)+0x216fe7
0000000004C82CD0 000007FEF87B5C77 System_ni!System.Net.Mail.SmtpClient.Send(System.Net.Mail.MailMessage)+0x216fe7
0000000004C8B440 000007FEF87B5C77 System_ni!System.Net.Mail.SmtpClient.Send(System.Net.Mail.MailMessage)+0x216fe7
0000000004C93BB0 000007FEF87B5C77 System_ni!System.Net.Mail.SmtpClient.Send(System.Net.Mail.MailMessage)+0x216fe7
0000000004C9C320 000007FEF87B5C77 System_ni!System.Net.Mail.SmtpClient.Send(System.Net.Mail.MailMessage)+0x216fe7
0000000004CA4A90 000007FEF87B5C77 System_ni!System.Net.Mail.SmtpClient.Send(System.Net.Mail.MailMessage)+0x216fe7
0000000004CAD200 000007FEF87B5C77 System_ni!System.Net.Mail.SmtpClient.Send(System.Net.Mail.MailMessage)+0x216fe7
0000000004CB5970 000007FEF87B5C77 System_ni!System.Net.Mail.SmtpClient.Send(System.Net.Mail.MailMessage)+0x216fe7
0000000004CBE0E0 000007FEF87B5C77 System_ni!System.Net.Mail.SmtpClient.Send(System.Net.Mail.MailMessage)+0x216fe7
0000000004CC6850 000007FEF87B5C77 System_ni!System.Net.Mail.SmtpClient.Send(System.Net.Mail.MailMessage)+0x216fe7
0000000004CCEFC0 000007FEF87B5C77 System_ni!System.Net.Mail.SmtpClient.Send(System.Net.Mail.MailMessage)+0x216fe7
0000000004CD7730 000007FEF87B5C77 System_ni!System.Net.Mail.SmtpClient.Send(System.Net.Mail.MailMessage)+0x216fe7
MANAGED_STACK_COMMAND: !do 0000000000000000
LAST_CONTROL_TRANSFER: from 000007fef9cc9dda to 000007fef9c20e8f
ADDITIONAL_DEBUG_TEXT:
Use '!findthebuild' command to search for the target build information.
If the build information is available, run '!findthebuild -s ; .reload' to set symbol path and load symbols. ; Followup set based on attribute [Is_ChosenCrashFollowupThread] from Frame:[0] on thread:[PSEUDO_THREAD]
FAULTING_THREAD: ffffffffffffffff
BUGCHECK_STR: APPLICATION_FAULT_STACK_OVERFLOW_WRONG_SYMBOLS_CALL
PRIMARY_PROBLEM_CLASS: STACK_OVERFLOW_CALL
DEFAULT_BUCKET_ID: STACK_OVERFLOW_CALL
STACK_TEXT:
00000000`04c71df0 00000000`ffffffff system_ni!System.Net.Mail.SmtpClient.Send+0x216fe7
00000000`04c7a560 00000000`ffffffff system_ni!System.Net.Mail.SmtpClient.Send+0x216fe7
00000000`04c82cd0 00000000`ffffffff system_ni!System.Net.Mail.SmtpClient.Send+0x216fe7
00000000`04c8b440 00000000`ffffffff system_ni!System.Net.Mail.SmtpClient.Send+0x216fe7
00000000`04c93bb0 00000000`ffffffff system_ni!System.Net.Mail.SmtpClient.Send+0x216fe7
00000000`04c9c320 00000000`ffffffff system_ni!System.Net.Mail.SmtpClient.Send+0x216fe7
00000000`04ca4a90 00000000`ffffffff system_ni!System.Net.Mail.SmtpClient.Send+0x216fe7
00000000`04cad200 00000000`ffffffff system_ni!System.Net.Mail.SmtpClient.Send+0x216fe7
00000000`04cb5970 00000000`ffffffff system_ni!System.Net.Mail.SmtpClient.Send+0x216fe7
00000000`04cbe0e0 00000000`ffffffff system_ni!System.Net.Mail.SmtpClient.Send+0x216fe7
00000000`04cc6850 00000000`ffffffff system_ni!System.Net.Mail.SmtpClient.Send+0x216fe7
00000000`04ccefc0 00000000`ffffffff system_ni!System.Net.Mail.SmtpClient.Send+0x216fe7
00000000`04cd7730 00000000`ffffffff system_ni!System.Net.Mail.SmtpClient.Send+0x216fe7
SYMBOL_NAME: system_ni!System.Net.Mail.SmtpClient.Send
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: system_ni
IMAGE_NAME: System.ni.dll
STACK_COMMAND: !do 0000000000000000
; ** Pseudo Context ** ; kb
BUCKET_ID: WRONG_SYMBOLS
FAILURE_BUCKET_ID: STACK_OVERFLOW_CALL_c00000fd_System.ni.dll!System.Net.Mail.SmtpClient.Send
WATSON_STAGEONE_URL: http://watson.microsoft.com/StageOne/w3wp_exe/7_5_7600_16385/4a5bd0eb/clr_dll/4_0_30319_296/50483916/c00000fd/00010e8f.htm?Retriage=1
Followup: MachineOwner
---------
答案 0 :(得分:0)
我在事件查看器中找到了另一个条目,对此有所了解。在这一点上,我怀疑它与smtp没有来自经过身份验证的地址有关 - 这实际上与它试图过于频繁地进行调用的问题有关。
关于解释上述日志的答案并不是特定的答案,但应该是我的问题的解决方案。
谢谢托马斯。
答案 1 :(得分:0)
你得到的堆栈!analyze -v看起来不可靠。堆栈中的所有函数都是相同的:'System_ni!System.Net.Mail.SmtpClient.Send(System.Net.Mail.MailMessage)+ 0x216fe7'
除非你在该函数中进行无限递归! ?
我的2美分 一个。请加载符号 对于堆栈溢出异常,它自身的错误堆栈通常指向罪魁祸首。但如果没有符号,就很难搞清楚。 湾看一下所有线程的堆栈。你可能会得到更多的指示。