2012-11-02 6 views
13

को शुद्ध करने के लिए एक मिला है मुझे इस समस्या का उचित समाधान नहीं मिल रहा है। मुझे लगता है कि कोई इस बग को साफ़ करने में मेरी मदद कर सकता है।purgeIdleCellConnections: conn = 0x1ddde360

सारांश: जब मैं, डिवाइस पर मेरे एप्लिकेशन का परीक्षण करने के लिए समय से एक 3 जी कनेक्शन का उपयोग सांत्वना इस बग "purgeIdleCellConnections: found one to purge conn = 0x1ddde360" एक से अधिक समय से पता चलता है, यह अलग संख्या (0x1ddde360 or 0x21b98a60 or....) साथ होता है। कभी-कभी यह लटकता है और एप्लिकेशन दुर्घटनाग्रस्त हो जाता है और मर जाता है। मैं ऐप नहीं खोल सकता मुझे फिर से हटाना और बनाना है। जब मैं वाई-फाई का उपयोग करता हूं तो यह ठीक काम करता है: बिल्कुल कोई समस्या नहीं है।

वास्तविक परिणाम: मैं अपने ऐप में एक वेब सेवा (डब्ल्यूएसडीएल) का उपयोग कर रहा हूं। एप्लिकेशन को लॉन्च करते समय मैं एक से अधिक वेब सेवा कॉल कर रहा हूं। यह ऐप पहले ही ऐप स्टोर (प्रोमार्नलाइट) में है लेकिन वह फ़ाइल आईओएस 5.1 एसडीके का उपयोग करके बनाई गई थी, इसलिए यह ठीक काम करता था। अब मैंने अपना एक्सकोड 4.5.1 और आईओएस 6 एसडीके में अपडेट किया है, इसलिए मैं ऐप स्टोर में अपना ऐप अपडेट करना चाहता हूं। मैं इस भाग से जूझ रहा हूं।

संपादित करें: ए: आंतरिक रूप से NSURLConnection कनेक्शन कैश बनाए रखता है। प्रत्येक कैश प्रविष्टि मेजबान के लिए लगातार HTTP कनेक्शन का एक सेट दर्शाती है। जब कोई नया अनुरोध आता है, तो यह कैश में प्रविष्टि पर कतारबद्ध होता है। यह एक मौजूदा प्रविष्टि हो सकती है या यह एक नई प्रविष्टि हो सकती है, और यह विभिन्न जटिल कारकों (सुरक्षा स्थान, प्रमाणीकरण स्थिति [प्रमाणीकरण विधियों के मामले में) के आधार पर उस प्रविष्टि के भीतर एक नया HTTP कनेक्शन भी उत्पन्न कर सकता है - हां , मैं आपको देख रहा हूं, एनटीएलएम! - जो राज्यव्यापी हैं], पाइपलाइनिंग, विभिन्न कैश सीमाएं, और इसी तरह)। जब कैश एंट्री से जुड़ा एक कनेक्शन अपने सभी अनुरोधों को पूरा करता है, तो यह कैश एंट्री की कतार पर अधिक काम करता है; अगर ऐसा नहीं लगता है कि कोई कनेक्शन निष्क्रिय हो जाता है। यदि कनेक्शन बहुत लंबे समय तक निष्क्रिय है, तो कनेक्शन शुद्ध हो जाता है (जो अंतर्निहित टीसीपी कनेक्शन को बंद करता है)।

यह कैश कार्यान्वयन आईओएस 6 में बदल गया है। आईओएस 6 से पहले मैक ओएस एक्स और आईओएस के लिए मूल रूप से अलग-अलग टाइमआउट के साथ निष्क्रिय कैश प्रविष्टियों को शुद्ध करने के लिए एक ही तंत्र था (6 सेकंड बनाम 30 सेकंड, और आईओएस मूल्य आईओएस के पुराने संस्करणों पर 3 सेकंड के रूप में कम हो)। आईओएस 6 में अब निष्क्रिय कैश प्रविष्टियों को शुद्ध करने के लिए दो तंत्र हैं, जो डब्ल्यूडब्ल्यूएएन पर चल रहे कनेक्शन पर लागू होता है और जो अन्य सभी कनेक्शनों पर लागू होता है। डब्ल्यूडब्ल्यूएएन टाइमआउट अपने पारंपरिक मूल्य (3 सेकंड) पर वापस आ गया है, जबकि ऑल-अन्य-कनेक्शन टाइमआउट पुराने मैक ओएस एक्स डिफ़ॉल्ट (30 सेकंड) तक पहुंच गया है।

जो संदेश आप देख रहे हैं वह उत्पन्न होता है जब एक डब्ल्यूडब्ल्यूएएन कनेक्शन शुद्ध हो जाता है। यह लॉग संदेश आईओएस 5.x में मौजूद नहीं था, जो बताता है कि आप इसे अपने परीक्षणों में क्यों नहीं देख रहे हैं। हालांकि आईओएस के सभी संस्करणों पर मूल तंत्र एक रूप में या किसी अन्य रूप में मौजूद है।

यह संदेश किसी कारण से एक लक्षण होने की अधिक संभावना है। विशेष रूप से संदेश केवल निष्क्रिय कनेक्शन पर लागू होता है; यह केवल NSURLConnection लगातार HTTP कनेक्शन की सफाई कर रहा है जो कुछ भी उपयोगी नहीं कर रहे हैं। अगर आपको अपने नेटवर्किंग में समस्याएं आ रही हैं तो आपको जांच करनी होगी कि कनेक्शन निष्क्रिय क्यों हो रहे हैं।

+4

https://developer.apple.com/library/ios/#qa/qa1774/_index.html#//apple_ref/doc/uid/DTS40012992 – fellowworldcitizen

+0

[purgeIdleCellConnections के संभावित डुप्लिकेट: कोन = 0x1d57ba00 शुद्ध करने के लिए एक पाया गया है) (http://stackoverflow.com/questions/14754828/purgeidlecellconnections-found-one-to-purge-conn-0x1d57ba00) –

उत्तर

0

सेलुलर नेटवर्क से जुड़े डिवाइस पर, मैंने आईओएस 6.0 एसडीके से बाहर आने वाले इस डीबग संदेश को देखा है। समय-समय पर मुझे लगता है कि यह मेरे ऐप में 'सक्रिय' AJAX कॉल को समाप्त कर दिया गया है। हालांकि कुछ भी साबित करना बहुत मुश्किल है क्योंकि यह केवल तब होता है जब UIWebView में वेब पेज को प्रस्तुत किया जाता है। मैं बस इतना कह रहा हूं कि मुझे नहीं लगता कि संदेश सौम्य हैं। मुझे लगता है कि वे ऐप्पल फ्रेमवर्क में एक बग इंगित कर सकते हैं जो कनेक्शन को समाप्त करने में अत्यधिक आक्रामक है। UIWebView के अंदर चल रहे जावास्क्रिप्ट पर उपकरण प्राप्त करना मुश्किल है जो AJAX कॉल करता है, इसलिए इस समय यह सब बहुत सट्टा है।

+2

है mr.ED, ऐप्पल डेवलपर तकनीकी सहायता का कहना है कि "यह असंभव है कि यह लॉग संदेश इन समस्याओं का सीधा कारण है। जैसा कि मैंने अपनी पिछली प्रतिक्रिया में उल्लेख किया है, डब्ल्यूडब्ल्यूएएन कनेक्शन की शुद्धता आईओएस के पिछले सभी संस्करणों पर हुई है, केवल अंतर यह है कि हमने गलती से छोड़ा आईओएस 6 में एक अनावश्यक लॉग संदेश में "। – Abdu

2

आईओएस 6.0 चलाने वाले डिवाइस पर यह देखा गया।AdMob मध्यस्थता एसडीके का उपयोग करते समय 1 (आईफोन 3 जीएस)। एप्लिकेशन स्वयं सर्वर से 100+ कनेक्शन करता है (अगला सर्वर एपीआई उस समस्या को ठीक करेगा), लेकिन इन कंसोल लॉग संदेश केवल AdMob कनेक्शन सक्रिय होने के बाद दिखाई देने लगे। 3 जी और वाईफ़ाई (10 एम कनेक्शन) दोनों।

सबसे अच्छा अनुमान यह है कि आईओएस दो अलग-अलग नेटवर्किंग पुस्तकालयों से नेटवर्क कॉल - इस मामले में AdMob से खुश नहीं है, लेकिन मुझे लगता है कि यह कुछ भी हो सकता है। बस एक संयोग।

कभी-कभी ऐप पूरी तरह से अटक जाता है, कभी-कभी कोई दृश्य समस्या नहीं होती है। इसे ठीक करना अच्छा लगेगा, लेकिन अब तक कुछ भी नहीं मिला है ...

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