Android DeadSystemException


86

वर्तमान में, हम DeadSystemExceptionअपनी हॉकी में क्रैश रिपोर्टिंग का अनुभव कर रहे हैं । यह एंड्रॉइड 7.0 और एंड्रॉइड 7.1 पर होता है। हम अपने एप्लिकेशन के पिछले संस्करण में इस अपवाद का अनुभव नहीं करते हैं (वे वर्तमान में दोनों उपयोगकर्ताओं द्वारा उपयोग किए जाते हैं), इसलिए मुझे लगता है कि यह अपवाद अन्य कोड परिवर्तन के कारण होता है। लेकिन स्टैक ट्रेस इसके लिए बहुत मददगार नहीं है। कोई उपाय? किसी भी सुझाव के लिए धन्यवाद।

हॉकी से स्टैक ट्रेस:

java.lang.RuntimeException: android.os.DeadSystemException
at android.app.ActivityThread$StopInfo.run(ActivityThread.java:3781)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: android.os.DeadSystemException
... 8 more

1
कृपया कोड पोस्ट करें और कोड की पंक्ति का उल्लेख करें जहां अपवाद होता है।
— ऐश्वर्या तिवारी

4
मैं कहूंगा कि डॉक्स में यह आपके ऐप की समस्या नहीं है: The core Android system has died and is going through a runtime restart. All running apps will be promptly killed.यह ज्यादातर कहीं और होता है और आपके ऐप को प्रभावित करता है?
— यज़ान १

2
@ ऐश्वर्या तिवारी मैं बग को स्थानीय रूप से पुन: पेश करने में सक्षम नहीं हूं - इसलिए मैं किसी भी तरह के कोड को पोस्ट करने में सक्षम नहीं हूं। मेरे पास
— हॉकीपैक

1
यह एंड्रॉइड फ्रेमवर्क द्वारा फेंका गया एक अपवाद है, मुझे खेद है कि मैं इसमें आपकी मदद नहीं कर सकता।
— ऐश्वर्या तिवारी

1
मुझे यह देखने में दिलचस्पी है कि क्या कोई दुर्घटना को पुन: उत्पन्न करने में सक्षम है। रेप्रो के कदमों को पुरस्कार से सम्मानित किया जाएगा
— डेविड रॉसन

जवाबों:


71

android.os.DeadSystemExceptionनिम्नलिखित के लिए Android डेवलपर डॉक्स कहता है:

कोर एंड्रॉइड सिस्टम मर गया है और एक रनटाइम रीस्टार्ट से गुजर रहा है। सभी रनिंग ऐप्स को तुरंत मार दिया जाएगा।

स्रोत कोड और अधिक मदद नहीं करता है:

package android.os;
/**
 * The core Android system has died and is going through a runtime restart. All
 * running apps will be promptly killed.
 */
public class DeadSystemException extends DeadObjectException {
    public DeadSystemException() {
        super();
    }
}

कुल मिलाकर, ऐसा लगता है कि यह ओएस द्वारा फेंका जा रहा है और इसका हमारे कोड से कोई लेना-देना नहीं है।

सुपरक्लास से जावदोक को देखते हुए DeadObjectException, इस सिद्धांत का समर्थन करता है:

जिस ऑब्जेक्ट को आप कॉल कर रहे हैं वह मर गई है, क्योंकि इसकी होस्टिंग प्रक्रिया अब मौजूद नहीं है।


क्या इसका मतलब है कि ऐप ने इस अपवाद के दौरान कुछ करने की कोशिश की, और ओएस ने इसे रोक दिया? क्या ऐसा कुछ है जिससे बचने के लिए मेरा ऐप कर सकता है?
— Android डेवलपर

जैसा कि मैं इसे समझता हूं, यह ऐसा कुछ नहीं है जिसे हम ऐप से ठीक कर सकते हैं।
— रिचर्ड ले मेसुरियर

16
तो केवल एक चीज जो हम कर सकते हैं वह सिर्फ इसे अनदेखा करना है?
— Android डेवलपर

2
यह त्रुटि 5% है जब अधिसूचना प्रबंधक को androidx के रूप में परिभाषित किया गया है। जब Android% 1 के रूप में परिभाषित किया गया है। यह त्रुटि निश्चित रूप से मेरे लिए अधिसूचना प्रबंधक वर्ग के कारण है। लेकिन मुझे अभी भी यह नहीं मिला है।
— Trk

1
@ मुझे पता चला कि यह तब हुआ जब अधिसूचना दिखाने की कोशिश की गई। मैं इस दुर्घटना से कैसे बच सकता हूं? पकड़ने की कोशिश?
— एरिकाजाओ

27

एक कारण एंड्रॉइड वर्जन 7 और 8 की नोटिफिकेशन सर्विस में बग था।

यह सूचनाओं में "कंपन पैटर्न" का उपयोग करने के कारण हुआ था, जो कि एक फेंकता है ArrayOutOfBoundsException। यह पूरे सिस्टम को क्रैश और पोस्ट करने की ओर ले जाता है DeadSystemException।

अधिक जानकारी के लिए आप यहां इस माध्यम लेख का उल्लेख कर सकते हैं ।


लॉकआउट रिपोर्टिंग आपकी पुष्टि करती है
— Trk

13
मैं इसे नहीं खरीदता। मैं ऐप सेंटर में इस अपवाद की कई रिपोर्टें देख रहा हूं, और सभी एंड्रॉइड 10 के साथ हैं, न कि एंड्रॉइड 7 या 8।
— जस्टिन

1
मैं जस्टिन के साथ सहमत हूं, मैं इनमें से बहुत से मुद्दों को देख रहा हूं जो एंड्रॉइड एपीआई 29 को चलाने वाले उपकरणों के साथ पॉप अप कर रहे हैं, और हम सूचना चैनलों पर कंपन विकल्प का उपयोग नहीं कर रहे हैं।
— हर्फन

16
Fatal Exception: java.lang.RuntimeException: android.os.DeadSystemException

यह अपवाद मेरे द्वारा विकसित किए जा रहे ऐप्स में से एक में हुआ था, यह ज्यादातर MI उपकरणों में हुआ था।

डिबगिंग के बाद मैंने पाया कि मैं बैकग्राउंड थ्रेड से वर्तमान सेवा (Say A) में एक और सेवा (Say B) शुरू करने की कोशिश कर रहा था, लेकिन जब startService(itService)विधि को सेवा A कहा गया तो वह पहले ही मार दी गई थी।

एकमात्र समाधान जो मुझे अब तक मिला है, यह जांचने के लिए कि क्या कोई अन्य सेवा शुरू करने से पहले वर्तमान सेवा A चल रही है या नहीं। B. आपके कार्यान्वयन के आधार पर आप यह जांचने के लिए विभिन्न तरीकों में से एक का उपयोग कर सकते हैं कि क्या कोई सेवा इस उत्तर से चल रही है ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.