11-07 03:10:42.836 11212 11212 E AndroidRuntime: FATAL EXCEPTION: main
11-07 03:10:42.836 11212 11212 E AndroidRuntime: Process: com.android.server.telecom:ui, PID: 11212
11-07 03:10:42.836 11212 11212 E AndroidRuntime: java.lang.IllegalArgumentException: reportSizeConfigurations: ActivityRecord not found for: Token{c85c04c ActivityRecord{3ae487f u0 com.android.server.telecom/.components.UserCallActivity t-1 f}}
11-07 03:10:42.836 11212 11212 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:2008)
11-07 03:10:42.836 11212 11212 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:1950)
11-07 03:10:42.836 11212 11212 E AndroidRuntime: at android.app.IActivityManager$Stub$Proxy.reportSizeConfigurations(IActivityManager.java:9234)
11-07 03:10:42.836 11212 11212 E AndroidRuntime: at android.app.ActivityThread.reportSizeConfigurations(ActivityThread.java:2928)
11-07 03:10:42.836 11212 11212 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2871)
11-07 03:10:42.836 11212 11212 E AndroidRuntime: at android.app.ActivityThread.-wrap11(Unknown Source:0)
11-07 03:10:42.836 11212 11212 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1600)
11-07 03:10:42.836 11212 11212 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
11-07 03:10:42.836 11212 11212 E AndroidRuntime: at android.os.Looper.loop(Looper.java:187)
11-07 03:10:42.836 11212 11212 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6674)
11-07 03:10:42.836 11212 11212 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
11-07 03:10:42.836 11212 11212 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
11-07 03:10:42.836 11212 11212 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
如上,出现crash的原因都是ActivityRecord not found for: Token{c85c04c ActivityRecord{3ae487f u0 com.android.server.telecom/.components.UserCallActivity t-1 f}}。
当时event的log都有如下打印:
11-07 03:09:24.297 1358 12508 I ActivityManager: START u0
{act=android.intent.action.CALL dat=tel:-x flg=0x10000000 cmp=com.android.server.telecom/.components.UserCallActivity (has extras)}
from uid 10013
11-07 03:09:24.585 11212 11212 I TelecomFramework: UserCallActivity: onCreate done
11-07 03:09:24.790 1358 1444 W ActivityManager: Activity pause timeout for ActivityRecord
{7b48053 u0 com.android.server.telecom/.components.UserCallActivity t2793}
11-07 03:10:41.981 1358 12287 I ActivityManager: START u0
{act=android.intent.action.CALL dat=tel:-x flg=0x10000000 cmp=com.android.server.telecom/.components.UserCallActivity (has extras)}
from uid 10013
11-07 03:10:42.423 1358 1444 W ActivityManager: Activity destroy timeout for ActivityRecord
{3ae487f u0 com.android.server.telecom/.components.UserCallActivity t2793 f}
11-07 03:10:42.835 1358 9969 E ActivityManager: java.lang.IllegalArgumentException: reportSizeConfigurations: ActivityRecord not found for: Token{c85c04c ActivityRecord{3ae487f u0 com.android.server.telecom/.components.UserCallActivity t-1 f}}
Activity destroy timeout 重点关注这个打印,说明AMS判定Destroy超时,于是将它强制销毁了!
UserCallActivity 这个应用非常简单,没有界面,只实现了oncreate函数,oncreate函数里也只是简单发送一个intent。从crash前的log看,之前此activity的oncreat函数都是可以正常执行完毕的。而出现问题时都是刚好Activity destory超时销毁,此时拉起activity就找不到了,导致crash。
由于此activity只实现了oncreate函数。所以此问题不是应用问题。而是ActivityManger运行出问题了。不是应用问题。请系统同事处理。
lala 问题转出了。
参考文档:
http://blog.desmondyao.com/android-bad-window-token/
一个诡异的BadTokenException