프로세스 서빙 애플리케이션 풀 '클래식 .NET AppPool'은 Windows 프로세스 활성화 서비스와 치명적인 통신 오류를 겪었습니다.

StackOverflow https://stackoverflow.com/questions/1445566

문제

Windows Server 2008의 IIS 7에서 ASP.NET 3.5 웹 응용 프로그램을 실행 중입니다.

오늘 오후 일찍 다음 오류를 받았습니다.

HTTP Error 503. The service is unavailable.

이벤트 로그를보고 다음을 발견했습니다.

A process serving application pool 'Classic .NET AppPool' suffered a fatal communication error with the Windows Process Activation Service. The process id was '3328'. The data field contains the error number.

다음은 해당 이벤트의 자세한 내용입니다.

Log Name:      System
Source:        Microsoft-Windows-WAS
Date:          18/09/2009 14:58:31
Event ID:      5011
Task Category: None
Level:         Warning
Keywords:      Classic
User:          N/A
Computer:      computername
Description:
A process serving application pool 'Classic .NET AppPool' suffered a fatal communication error with the Windows Process Activation Service. The process id was '3328'. The data field contains the error number.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-WAS" Guid="{5 .. 0}" EventSourceName="WAS" />
    <EventID Qualifiers="32768">5011</EventID>
    <Version>0</Version>
    <Level>3</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2009-09-18T13:58:31.000Z" />
    <EventRecordID>23552</EventRecordID>
    <Correlation />
    <Execution ProcessID="0" ThreadID="0" />
    <Channel>System</Channel>
    <Computer>computername</Computer>
    <Security />
  </System>
  <EventData>
    <Data Name="AppPoolID">Classic .NET AppPool</Data>
    <Data Name="ProcessID">3328</Data>
    <Binary>6D000780</Binary>
  </EventData>
</Event>

이로 인해 다음이 발생했습니다.

Application pool 'Classic .NET AppPool' is being automatically disabled due to a series of failures in the process(es) serving that application pool.

다음은 해당 이벤트의 자세한 내용입니다.

Log Name:      System
Source:        Microsoft-Windows-WAS
Date:          18/09/2009 15:03:05
Event ID:      5002
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      computername
Description:
Application pool 'Classic .NET AppPool' is being automatically disabled due to a series of failures in the process(es) serving that application pool.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-WAS" Guid="{5 .. 0}" EventSourceName="WAS" />
    <EventID Qualifiers="49152">5002</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2009-09-18T14:03:05.000Z" />
    <EventRecordID>23557</EventRecordID>
    <Correlation />
    <Execution ProcessID="0" ThreadID="0" />
    <Channel>System</Channel>
    <Computer>computername</Computer>
    <Security />
  </System>
  <EventData>
    <Data Name="AppPoolID">Classic .NET AppPool</Data>
    <Binary>
    </Binary>
  </EventData>
</Event>

결론 : HTTP 오류 503. 서비스를 사용할 수 없습니다.

누군가가 어떻게 이런 일이 일어 났는지, 그리고 미래에 일어나지 않도록해야 할 일을 식별하도록 도와 주시겠습니까?

도움이 되었습니까?

해결책

이것은 꽤 불쾌한 것입니다. 나는 그것을 얻는 것이 좋습니다 IIS 디버그 진단 도구. 응용 프로그램 풀의 속성에서 "빠른 실패 보호"를 끄면 증상을 완화 할 수 있지만 문제를 가릴 수 있습니다. 계속되는 것은 응용 프로그램이 예외를 자주 경험하고 있으며 서비스가 차단 될 정도로 반복적으로 발생한다는 것입니다. 발생하는 예외를 찾기 위해 들어오고 나가는 모든 것을 캡처하려면 진단 도구를 실행해야합니다.

이 도구가 정크의 기가 바이트를 수집하여 체로 체질하기 때문에 이것은 매우 힘든 일이 될 수 있습니다. 운이 좋으면 "빠른 실패 방지"의 끄면 예외가 브라우저로 진행될 수 있지만 서버가 끝날 것이라는 것이 내 생각입니다.

다른 팁

NServiceBus를 사용하는 경우 응용 프로그램 풀이 실행중인 모든 계정에 메시지 대기열을 읽을 권한이 있는지 확인하십시오.

NServiceBus는 10 초 후에 Timesout에 대한 응용 프로그램 시작에 대한 배경 작업을 실행하여 큐에서 읽을 수없는 경우 W3WP 프로세스가 사멸됩니다. N 이후 (기본값 5) W3WP 충돌은 급속한 보호 방지 차기가 시작되고 응용 프로그램 풀이 중지됩니다.

http://blog.jonathanoliver.com/2010/11/nservicebus-w3wp-exe-processes-crashing/

무한 루프로 인해 발생할 가능성이 높습니다.

(나는 단지 같은 문제가있었습니다.) 따라서 루프를 사용하는 코드의 장소를 찾아서 그 중 하나를 제거하면 오류가 중지되는지 확인해야합니다. 범인을 찾으면 원인이 무기한으로 루프를하는 원인을 알아낼 수 있습니다.

방금 추적하고 같은 불쾌한 문제를 해결했습니다. 문제를 일으킬 수있는 몇 가지 사항 :

  • Server.Transfer () 루프
  • 특정 시나리오에서 currentthread.abort () 호출 .. (Server.Transfer () 이후!)

그런 것들을 고치는 것은 우리에게 고정 된 것입니다.

이 문제가 있었는데, 이벤트 뷰어는 "모듈 dll c : wind 이 게시물은 이것을 수정하는 단계가있었습니다.http://forums.iis.net/t/1154189.aspx

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top