のねのBlog

パソコンの問題や、ソフトウェアの開発で起きた問題など書いていきます。よろしくお願いします^^。

SystemUIでBreakをかけると、1分ぐらいで、WatchDog Timeoutする

/system_process W/Watchdog﹕ *** WATCHDOG KILLING SYSTEM PROCESS: 
    Blocked in monitor com.android.server.am.ActivityManagerService on foreground thread (android.fg), 
    Blocked in handler on main thread (main), Blocked in handler on display thread (android.display),
    Blocked in handler on ActivityManager (ActivityManager)
system_process W/Watchdog﹕ foreground thread stack trace:
system_process W/Watchdog﹕ at com.android.server.am.ActivityManagerService.monitor(ActivityManagerService.java:18270)
system_process W/Watchdog﹕ at com.android.server.Watchdog$HandlerChecker.run(Watchdog.java:173)
system_process W/Watchdog﹕ at android.os.Handler.handleCallback(Handler.java:739)
system_process W/Watchdog﹕ at android.os.Handler.dispatchMessage(Handler.java:95)
system_process W/Watchdog﹕ at android.os.Looper.loop(Looper.java:135)
system_process W/Watchdog﹕ at android.os.HandlerThread.run(HandlerThread.java:61)
system_process W/Watchdog﹕ at com.android.server.ServiceThread.run(ServiceThread.java:46)
system_process W/Watchdog﹕ main thread stack trace:
system_process W/Watchdog﹕ at com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:15894)
system_process W/Watchdog﹕ at android.app.ContextImpl.sendBroadcastAsUser(ContextImpl.java:1437)
system_process W/Watchdog﹕ at com.android.server.DropBoxManagerService$3.handleMessage(DropBoxManagerService.java:162)
system_process W/Watchdog﹕ at android.os.Handler.dispatchMessage(Handler.java:102)
system_process W/Watchdog﹕ at android.os.Looper.loop(Looper.java:135)
system_process W/Watchdog﹕ at com.android.server.SystemServer.run(SystemServer.java:269)
system_process W/Watchdog﹕ at com.android.server.SystemServer.main(SystemServer.java:170)
system_process W/Watchdog﹕ at java.lang.reflect.Method.invoke(Native Method)
system_process W/Watchdog﹕ at java.lang.reflect.Method.invoke(Method.java:372)
system_process W/Watchdog﹕ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
system_process W/Watchdog﹕ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
system_process W/Watchdog﹕ display thread stack trace:
system_process W/Watchdog﹕ at com.android.server.wm.WindowManagerService$H.handleMessage(WindowManagerService.java:7753)
system_process W/Watchdog﹕ at android.os.Handler.dispatchMessage(Handler.java:102)
system_process W/Watchdog﹕ at android.os.Looper.loop(Looper.java:135)
system_process W/Watchdog﹕ at android.os.HandlerThread.run(HandlerThread.java:61)
system_process W/Watchdog﹕ at com.android.server.ServiceThread.run(ServiceThread.java:46)
system_process W/Watchdog﹕ ActivityManager stack trace:
system_process W/Watchdog﹕ at com.android.server.wm.WindowManagerService.prepareAppTransition(WindowManagerService.java:4020)
system_process W/Watchdog﹕ at com.android.server.am.ActivityStack.resumeTopActivityInnerLocked(ActivityStack.java:1726)
system_process W/Watchdog﹕ at com.android.server.am.ActivityStack.resumeTopActivityLocked(ActivityStack.java:1480)
system_process W/Watchdog﹕ at com.android.server.am.ActivityStackSupervisor.resumeTopActivitiesLocked(ActivityStackSupervisor.java:2429)
system_process W/Watchdog﹕ at com.android.server.am.ActivityStack.completePauseLocked(ActivityStack.java:1025)
system_process W/Watchdog﹕ at com.android.server.am.ActivityStack.activityPausedLocked(ActivityStack.java:923)
system_process W/Watchdog﹕ at com.android.server.am.ActivityStack$ActivityStackHandler.handleMessage(ActivityStack.java:287)
system_process W/Watchdog﹕ at android.os.Handler.dispatchMessage(Handler.java:102)
system_process W/Watchdog﹕ at android.os.Looper.loop(Looper.java:135)
system_process W/Watchdog﹕ at android.os.HandlerThread.run(HandlerThread.java:61)
system_process W/Watchdog﹕ at com.android.server.ServiceThread.run(ServiceThread.java:46)
system_process W/Watchdog﹕ *** GOODBYE!
system_process I/Process﹕ Sending signal. PID: 23489 SIG: 9
    462             // Only kill the process if the debugger is not attached.
    463             if (Debug.isDebuggerConnected()) {
    464                 debuggerWasConnected = 2;
    465             }
    466             if (debuggerWasConnected >= 2) {
    467                 Slog.w(TAG, "Debugger connected: Watchdog is *not* killing the system process");
    468             } else if (debuggerWasConnected > 0) {
    469                 Slog.w(TAG, "Debugger was connected: Watchdog is *not* killing the system process");
    470             } else if (!allowRestart) {
    471                 Slog.w(TAG, "Restart not allowed: Watchdog is *not* killing the system process");
    472             } else {
    473                 Slog.w(TAG, "*** WATCHDOG KILLING SYSTEM PROCESS: " + subject);
    474                 for (int i=0; i<blockedCheckers.size(); i++) {
    475                     Slog.w(TAG, blockedCheckers.get(i).getName() + " stack trace:");
    476                     StackTraceElement[] stackTrace
    477                             = blockedCheckers.get(i).getThread().getStackTrace();
    478                     for (StackTraceElement element: stackTrace) {
    479                         Slog.w(TAG, "    at " + element);
    480                     }
    481                 }
    482                 Slog.w(TAG, "*** GOODBYE!");
    483                 Process.killProcess(Process.myPid());
    484                 System.exit(10);
    485             }

ここのDEFAULT_TIMEOUTが、60*1000(ms)=60(sec)=1(min)なので1分なのかな?
DEFAULT_TIMEOUTの値を、1時間(60*60*1000)に変えRebuildした。
ここの値をT変えればいいようだ、1分で切断されなくなった。
BreakPointで止めたまま、1分以上経過。

     57     static final long DEFAULT_TIMEOUT = DB ? 10*1000 : 60*1000;
     58     static final long CHECK_INTERVAL = DEFAULT_TIMEOUT / 2;
 
     57     static final long DEFAULT_TIMEOUT = 60*60*1000;


2分ぐらい経ってから、メンバーの変数をクリックしたら、接続が切れた。
2分ぐらい経つと、操作しなくても、ANRが発生してしまうようだ。

    --------- beginning of main
04-02 14:25:17.040      673-781/system_process W/art&#65109; Long monitor contention event with owner method=void com.android.server.wm.WindowManagerService.removeWindow(com.android.server.wm.Session, android.view.IWindow) from WindowManagerService.java:2557 waiters=1 for 168.591s
    --------- beginning of system
04-02 14:25:17.041      673-781/system_process V/ActivityManager&#65109; Launching: ActivityRecord{12055717 u0 com.android.settings/.SubSettings t101}
04-02 14:25:17.041    1114-1114/com.android.launcher3 I/Choreographer&#65109; Skipped 10115 frames!  The application may be doing too much work on its main thread.
04-02 14:25:17.042      673-787/system_process W/art&#65109; Long monitor contention event with owner method=void com.android.server.wm.WindowManagerService.removeWindow(com.android.server.wm.Session, android.view.IWindow) from WindowManagerService.java:2557 waiters=2 for 168.295s
04-02 14:25:17.042      673-934/system_process W/art&#65109; Long monitor contention event with owner method=void com.android.server.wm.WindowManagerService.removeWindow(com.android.server.wm.Session, android.view.IWindow) from WindowManagerService.java:2557 waiters=2 for 168.290s
04-02 14:25:17.065     673-2840/system_process W/art&#65109; Long monitor contention event with owner method=void com.android.server.am.ActivityStack$ActivityStackHandler.handleMessage(android.os.Message) from ActivityStack.java:283 waiters=0 for 168.570s
04-02 14:25:17.065     673-3282/system_process W/art&#65109; Long monitor contention event with owner method=void com.android.server.am.ActivityStack$ActivityStackHandler.handleMessage(android.os.Message) from ActivityStack.java:283 waiters=1 for 168.432s
04-02 14:25:17.066      673-796/system_process W/art&#65109; Long monitor contention event with owner method=void com.android.server.am.ActivityStack$ActivityStackHandler.handleMessage(android.os.Message) from ActivityStack.java:283 waiters=2 for 137.066s
04-02 14:25:17.068     673-1032/system_process W/BroadcastQueue&#65109; Hung broadcast [foreground] discarded after timeout failure: now=2372373 dispatchTime=2203230 startTime=2203745 intent=Intent { act=android.intent.action.LOCALE_CHANGED flg=0x10000010 } numReceivers=7 nextReceiver=4 state=0
04-02 14:25:17.068     673-1032/system_process W/BroadcastQueue&#65109; Timeout of broadcast BroadcastRecord{2194b739 u-1 android.intent.action.LOCALE_CHANGED} - receiver=null, started 168628ms ago
04-02 14:25:17.068     673-1032/system_process W/BroadcastQueue&#65109; Receiver during timeout: ResolveInfo{b3b917e com.android.deskclock/.AlarmInitReceiver m=0x108000}
04-02 14:25:17.068     673-1032/system_process W/BroadcastQueue&#65109; finishReceiver [foreground] called but state is IDLE
04-02 14:25:17.080      673-787/system_process I/Choreographer&#65109; Skipped 10099 frames!  The application may be doing too much work on its main thread.
04-02 14:25:17.086      673-781/system_process W/ActivityManager&#65109; Launch timeout has expired, giving up wake lock!
04-02 14:25:17.293      673-996/system_process W/art&#65109; Long monitor contention event with owner method=int com.android.server.wm.WindowManagerService.relayoutWindow(com.android.server.wm.Session, android.view.IWindow, int, android.view.WindowManager$LayoutParams, int, int, int, int, android.graphics.Rect, android.graphics.Rect, android.graphics.Rect, android.graphics.Rect, android.graphics.Rect, android.content.res.Configuration, android.view.Surface) from WindowManagerService.java:2977 waiters=0 for 163ms
04-02 14:25:27.048      673-781/system_process V/ActivityManager&#65109; Activity idle: Token{3f994704 ActivityRecord{12055717 u0 com.android.settings/.SubSettings t101}}
04-02 14:25:27.048      673-781/system_process V/ActivityManager&#65109; Stopping ActivityRecord{ade7934 u0 com.android.settings/.SubSettings t101 f}: nowVisible=false waitingVisible=true finishing=true
04-02 14:25:27.071      673-781/system_process W/BroadcastQueue&#65109; Timeout of broadcast BroadcastRecord{21808df5 u-1 android.intent.action.TIME_TICK} - receiver=android.os.BinderProxy@210f7d78, started 10001ms ago
04-02 14:25:27.071      673-781/system_process W/BroadcastQueue&#65109; Receiver during timeout: BroadcastFilter{aa0bcb6 u0 ReceiverList{ea32c51 3300 com.android.systemui/10013/u0 remote:210f7d78}}
04-02 14:25:27.098      673-781/system_process I/Process&#65109; Sending signal. PID: 3300 SIG: 3
04-02 14:25:27.099    3300-3310/com.android.systemui I/art&#65109; Thread[5,tid=3310,WaitingInMainSignalCatcherLoop,Thread*=0xaf60e400,peer=0x12c00080,"Signal Catcher"]: reacting to signal 3
04-02 14:25:27.099    3300-3310/com.android.systemui I/art&#65109; [ 04-02 14:25:27.315   673:  781 I/Process  ]
    Sending signal. PID: 673 SIG: 3
04-02 14:25:27.316      673-680/system_process I/art&#65109; Thread[5,tid=680,WaitingInMainSignalCatcherLoop,Thread*=0xaf60e400,peer=0x12c02080,"Signal Catcher"]: reacting to signal 3
04-02 14:25:27.316      673-680/system_process I/art&#65109; [ 04-02 14:25:27.508  3300: 3310 I/art      ]
    Wrote stack traces to '/data/anr/traces.txt'
04-02 14:25:28.656      673-781/system_process I/Process&#65109; Sending signal. PID: 1075 SIG: 3
04-02 14:25:28.665      673-781/system_process I/Process&#65109; Sending signal. PID: 1037 SIG: 3
04-02 14:25:30.220      673-781/system_process E/ActivityManager&#65109; ANR in com.android.systemui