java.lang.IllegalStateException: android.os.DeadObjectException: Transaction failed on small parcel@ remote process probably died
今天在工作中遇到一个crash问题,也是第一次遇到这种类型的问题,下面是相关的部分log:
java.lang.RuntimeException: Unable to create service com.android.systemui.SystemUIService: java.lang.IllegalStateException: android.os.DeadObjectException: Transaction failed on small parcel@ remote process probably died
at android.app.ActivityThread.handleCreateService(ActivityThread.java:4645)
at android.app.ActivityThread.access$2000(ActivityThread.java:275)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2128)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:262)
at android.app.ActivityThread.main(ActivityThread.java:8766)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:612)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:981)
Caused by: java.lang.IllegalStateException: android.os.DeadObjectException: Transaction failed on small parcel@ remote process probably died
at android.net.TetheringManager.getConnector(TetheringManager.java:377)
at android.net.TetheringManager.registerTetheringEventCallback(TetheringManager.java:1131)
at com.android.systemui.statusbar.policy.HotspotControllerImpl.<init>(HotspotControllerImpl.java:112)
at com.android.systemui.statusbar.policy.HotspotControllerImpl_Factory.provideInstance(HotspotControllerImpl_Factory.java:38)
at com.android.systemui.statusbar.policy.HotspotControllerImpl_Factory.get(HotspotControllerImpl_Factory.java:30)
at com.android.systemui.statusbar.policy.HotspotControllerImpl_Factory.get(HotspotControllerImpl_Factory.java:9)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at com.android.systemui.statusbar.phone.PhoneStatusBarPolicy_Factory.provideInstance(PhoneStatusBarPolicy_Factory.java:214)
at com.android.systemui.statusbar.phone.PhoneStatusBarPolicy_Factory.get(PhoneStatusBarPolicy_Factory.java:149)
at com.android.systemui.statusbar.phone.PhoneStatusBarPolicy_Factory.get(PhoneStatusBarPolicy_Factory.java:32)
at com.android.systemui.statusbar.phone.dagger.StatusBarPhoneModule_ProvideStatusBarFactory.provideInstance(StatusBarPhoneModule_ProvideStatusBarFactory.java:648)
at com.android.systemui.statusbar.phone.dagger.StatusBarPhoneModule_ProvideStatusBarFactory.get(StatusBarPhoneModule_ProvideStatusBarFactory.java:413)
at com.android.systemui.statusbar.phone.dagger.StatusBarPhoneModule_ProvideStatusBarFactory.get(StatusBarPhoneModule_ProvideStatusBarFactory.java:88)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at com.android.systemui.dagger.ContextComponentResolver.resolve(ContextComponentResolver.java:100)
at com.android.systemui.dagger.ContextComponentResolver.resolveSystemUI(ContextComponentResolver.java:93)
at com.android.systemui.SystemUIApplication.startServicesIfNeeded(SystemUIApplication.java:230)
at com.android.systemui.SystemUIApplication.startServicesIfNeeded(SystemUIApplication.java:184)
at com.android.systemui.SystemUIService.onCreate(SystemUIService.java:58)
at android.app.ActivityThread.handleCreateService(ActivityThread.java:4622)
... 8 more
Caused by: android.os.DeadObjectException: Transaction failed on small parcel@ remote process probably died
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(BinderProxy.java:558)
at android.net.ITetheringConnector$Stub$Proxy.registerTetheringEventCallback(ITetheringConnector.java:357)
at android.net.TetheringManager.lambda$registerTetheringEventCallback$8(TetheringManager.java:1131)
at android.net.-$$Lambda$TetheringManager$655fBcCeflKRxua051VOovUKAkM.onConnectorAvailable(Unknown Source:4)
at android.net.TetheringManager.getConnector(TetheringManager.java:375)
... 27 more
刚开始根据log去代码中查看跟踪,却没发现有什么可疑的地方,再去分析全部的log发现,不止SystemUI报这个错误,所有的应用都报了这个错误,猜想一个是一个远程的进程挂了,后面找身边的同事请教了一下,确实是系统层面的问题导致,所以最后把问题丢给系统的同事了。后面还会继续跟进此类问题的解决处理,今天暂时就先写到这里吧,继续加油。