2012-06-20 12 views
18

के साथ एक घातक संचार त्रुटि का सामना करना पड़ा IIS 7.5 के तहत एक एएसपी.NET 4.0 एप्लिकेशन चला रहा हूं। दिन में कई बार, हमारा आवेदन पूल अप्रत्याशित रूप से रीसाइक्लिंग कर रहा है। हमारा सिस्टम लॉग निम्न घटना को दिखाता है जब यह होता है:एक प्रक्रिया प्रसंस्करण अनुप्रयोग पूल 'एक्स' को विंडोज प्रोसेस एक्टिवेशन सर्विस

एक प्रक्रिया प्रस्तुति अनुप्रयोग पूल 'एक्स' को विंडोज प्रोसेस सक्रियण सेवा के साथ घातक संचार त्रुटि का सामना करना पड़ा। प्रक्रिया आईडी '5768' थी। डेटा फील्ड में एरर नंबर शामिल हैं।

या

एक प्रक्रिया अनुप्रयोग पूल 'एक्स' की सेवा एक पिंग के लिए प्रतिक्रिया करने में विफल रहा है। प्रक्रिया आईडी '1032' थी।

Faulting application name: w3wp.exe, version: 7.5.7600.16385, time stamp: 0x4a5bcd2b 
Faulting module name: clr.dll, version: 4.0.30319.269, time stamp: 0x4ee9ae83 
Exception code: 0xc00000fd 
Fault offset: 0x00001916 
Faulting process id: 0x508 
Faulting application start time: 0x01cd4d8958ecf9ad 
Faulting application path: C:\Windows\SysWOW64\inetsrv\w3wp.exe 
Faulting module path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll 
Report Id: 8dcc413b-b98a-11e1-8075-001c23d6d910 

तो मैं IIS Debugging Tools स्थापित किया है और एक दुर्घटना नियम सेट, निर्दिष्ट "एक विशिष्ट आईआईएस वेब अनुप्रयोग:

लगभग हमेशा, वहाँ इस तरह आवेदन लॉग में सटीक एक ही समय में एक इसी घटना है पूल ", पहली मौका अपवादों के लिए कोई लॉगिंग नहीं, और" उन्नत सेटिंग्स "(अपवाद, ब्रेकपॉइंट्स, ईवेंट) के तहत कुछ भी नहीं।

adplus -crash -pn w3wp.exe -NoDumpOnFirst -o c:\logs 

हालांकि, बाद से मैं डिबगर संलग्न किया है, मैं कई "चेतावनी" स्तर मिल गया है:

मैं भी (समवर्ती) निम्न कमांड लाइन के साथ Windows डीबगिंग उपकरण से ADPlus चल रहा हूँ सिस्टम लॉग में संदेश ("प्रोसेसिंग सर्विस पूल 'एक्स' के संबंध में वाले लोगों को घातक संचार त्रुटि का सामना करना पड़ा ..."), लेकिन मुझे अब एप्लिकेशन लॉग में संबंधित त्रुटि स्तर ईवेंट नहीं मिल रहा है।

केवल एक चीज मैं प्राप्त करने में सक्षम किया गया है निम्नलिखित (वहाँ के बारे में इनमें से 50 थे) है:

[6/18/2012 7:50:25 PM] Thread exited. Exiting thread system id - System ID: 3300. Exit code - 0x800703e9 
[6/18/2012 7:50:25 PM] Thread exited. Exiting thread system id - System ID: 4992. Exit code - 0x800703e9 
[6/18/2012 7:50:25 PM] Thread exited. Exiting thread system id - System ID: 5456. Exit code - 0x800703e9 
[6/18/2012 7:50:25 PM] Thread exited. Exiting thread system id - System ID: 4924. Exit code - 0x800703e9 

बाहर निकलें कोड 0x800703e9 एक ढेर अतिप्रवाह कहीं, जो भाग्यशाली है इंगित करता है, क्योंकि वह करना चाहिए एक बार मुझे यह मिल सकता है ठीक करने के लिए आसान हो।

हालांकि, ऐसा करने के लिए, मुझे अपने क्रैश डंप से अधिक जानकारी चाहिए ताकि मैं उन्हें WinDbg के साथ खोल सकूं और मेरी समस्या को इंगित करने के लिए "! Clrstack" कमांड का उपयोग कर सकूं।

मेरा प्रश्न है: क्या मेरे पास डिबगिंग टूल गलत तरीके से कॉन्फ़िगर किए गए हैं या क्या मैं ईवेंट लॉग को गलत समझ रहा हूं? ऐसा लगता है कि जब भी मैं विंडोज प्रोसेस एक्टिवेशन सर्विस के साथ घातक संचार त्रुटि "के संबंध में सिस्टम लॉग में ईवेंट देखता हूं, तो हमारा ऐप पूल रीसाइक्लिंग कर रहा है, हालांकि मुझे आईआईएस डिबगिंग टूल्स या एडीप्लस से कोई क्रैश डंप जानकारी नहीं मिल रही है। और किसी कारण से, चूंकि मैंने डिबगर्स को संलग्न किया है, इसलिए मुझे एप्लिकेशन लॉग में कोई और "त्रुटि" ईवेंट नहीं मिल रहा है जो मेरे सिस्टम लॉग चेतावनी ईवेंट से मेल खाता है। यकीन नहीं है कि क्यों। मुझे किसी भी तरह से सीएलआर जानकारी के साथ पूर्ण क्रैश डंप प्राप्त करने की आवश्यकता है ताकि मैं समझ सकूं कि मेरी समस्या कहां है।

एकमात्र अन्य बात जो मैं उल्लेख कर सकता हूं वह यह है कि विंडोज त्रुटि रिपोर्टिंग सेवा नहीं चल रही है। सुनिश्चित नहीं है कि यह होना चाहिए या नहीं।

किसी भी मदद के लिए धन्यवाद।

+0

संबंधित http://stackoverflow.com/questions/7204444/iis7-a-process-serving-plication-pool-yyyyy-suffered-a-fatal-communication – RJFalconer

उत्तर

4

एप्लिकेशन लॉग में आप जो अपवाद कोड प्राप्त कर रहे थे, और थ्रेड निकास कोड इंगित करता है कि आपके पास स्टैक ओवरफ़्लो है।यह परेशान है कि जब थ्रेड ओवरफ्लो त्रुटि के साथ थ्रेड निकलता है तो प्रक्रिया क्रैश नहीं होती है। वैसे भी, ढेर अतिप्रवाह अपवाद पर ब्रेक सक्षम करने के लिए, आदेश है:

sxe sov 

कृपया ध्यान दें कि, क्योंकि आपके अनुप्रयोग पूल 32 बिट प्रक्रिया के रूप में कॉन्फ़िगर किया गया है आपके मामले में डिबगर का x86 संस्करण का उपयोग करने की आवश्यकता होगी।

संबंधित मुद्दे