Windows7の環境変数、PATH編集ソフト
Rapid Environment Editor
消せる4色ボールペンを買った パイロット フリクションボール4
消せる4色ボールペンを買った。
ボールペンの後ろに付いている部分でこするだけで消える。
消しゴムでは消えにくかった。
書きあじが滑らかで、気に入っている。
パイロット 4色ボールペン フリクションボール4 LKFB-80EF-BO 0.5mm ボルドー
- 出版社/メーカー: パイロット
- メディア: オフィス用品
- この商品を含むブログを見る
adb shell をWindowsで使うと"\r\r\n"("LFLFCR")になる
Windowsで以下のようなadb shellの結果を保存すると
改行コードが"\r\r\n(0x0D,0x0D,0x0A[CRCRLF])になる。
adb shell dumpsys > aaa.txt
0x0D,0x0D,0x0A
[\r\n]の[\n]を[\r\n]に変えるので、[\r\r\n]になるようだ。
以下のように置換の処理を間に入れると、消える。
>adb shell dumpsys activity | sed -e 's/\r\r\n/\r\n/g' > aaa.txt
SystemBar StatusBar NavigationBar
SystemBar=StatusBar+NavigationBar
the system bars (that is, the status and the navigation bars)
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﹕ 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﹕ Launching: ActivityRecord{12055717 u0 com.android.settings/.SubSettings t101} 04-02 14:25:17.041 1114-1114/com.android.launcher3 I/Choreographer﹕ 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﹕ 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﹕ 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﹕ 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﹕ 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﹕ 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﹕ 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﹕ 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﹕ Receiver during timeout: ResolveInfo{b3b917e com.android.deskclock/.AlarmInitReceiver m=0x108000} 04-02 14:25:17.068 673-1032/system_process W/BroadcastQueue﹕ finishReceiver [foreground] called but state is IDLE 04-02 14:25:17.080 673-787/system_process I/Choreographer﹕ 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﹕ Launch timeout has expired, giving up wake lock! 04-02 14:25:17.293 673-996/system_process W/art﹕ 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﹕ Activity idle: Token{3f994704 ActivityRecord{12055717 u0 com.android.settings/.SubSettings t101}} 04-02 14:25:27.048 673-781/system_process V/ActivityManager﹕ 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﹕ 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﹕ 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﹕ Sending signal. PID: 3300 SIG: 3 04-02 14:25:27.099 3300-3310/com.android.systemui I/art﹕ 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﹕ [ 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﹕ 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﹕ [ 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﹕ Sending signal. PID: 1075 SIG: 3 04-02 14:25:28.665 673-781/system_process I/Process﹕ Sending signal. PID: 1037 SIG: 3 04-02 14:25:30.220 673-781/system_process E/ActivityManager﹕ ANR in com.android.systemui
art "Long monitor contention event with owner method="
--------- beginning of main 04-02 14:25:17.040 673-781/system_process W/art﹕ 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
233 void Monitor::Lock(Thread* self) { 234 MutexLock mu(self, monitor_lock_); 235 while (true) { 236 if (owner_ == nullptr) { // Unowned. 237 owner_ = self; 238 CHECK_EQ(lock_count_, 0); 239 // When debugging, save the current monitor holder for future 240 // acquisition failures to use in sampled logging. 241 if (lock_profiling_threshold_ != 0) { 242 locking_method_ = self->GetCurrentMethod(&locking_dex_pc_); 243 } 244 return; 245 } else if (owner_ == self) { // Recursive. 246 lock_count_++; 247 return; 248 } 249 // Contended. 250 const bool log_contention = (lock_profiling_threshold_ != 0); 251 uint64_t wait_start_ms = log_contention ? MilliTime() : 0; 252 mirror::ArtMethod* owners_method = locking_method_; 253 uint32_t owners_dex_pc = locking_dex_pc_; 254 // Do this before releasing the lock so that we don't get deflated. 255 size_t num_waiters = num_waiters_; 256 ++num_waiters_; 257 monitor_lock_.Unlock(self); // Let go of locks in order. 258 self->SetMonitorEnterObject(GetObject()); 259 { 260 ScopedThreadStateChange tsc(self, kBlocked); // Change to blocked and give up mutator_lock_. 261 MutexLock mu2(self, monitor_lock_); // Reacquire monitor_lock_ without mutator_lock_ for Wait. 262 if (owner_ != NULL) { // Did the owner_ give the lock up? 263 monitor_contenders_.Wait(self); // Still contended so wait. 264 // Woken from contention. 265 if (log_contention) { 266 uint64_t wait_ms = MilliTime() - wait_start_ms; 267 uint32_t sample_percent; 268 if (wait_ms >= lock_profiling_threshold_) { 269 sample_percent = 100; 270 } else { 271 sample_percent = 100 * wait_ms / lock_profiling_threshold_; 272 } 273 if (sample_percent != 0 && (static_cast<uint32_t>(rand() % 100) < sample_percent)) { 274 const char* owners_filename; 275 uint32_t owners_line_number; 276 TranslateLocation(owners_method, owners_dex_pc, &owners_filename, &owners_line_number); 277 if (wait_ms > kLongWaitMs && owners_method != nullptr) { 278 LOG(WARNING) << "Long monitor contention event with owner method=" 279 << PrettyMethod(owners_method) << " from " << owners_filename << ":" 280 << owners_line_number << " waiters=" << num_waiters << " for " 281 << PrettyDuration(MsToNs(wait_ms)); 282 } 283 LogContentionEvent(self, wait_ms, sample_percent, owners_filename, owners_line_number); 284 } 285 } 286 } 287 } 288 self->SetMonitorEnterObject(nullptr); 289 monitor_lock_.Lock(self); // Reacquire locks in order. 290 --num_waiters_; 291 } 292 }
"Launch timeout has expired, giving up wake lock!"
3427 private final class ActivityStackSupervisorHandler extends Handler { 3428 3429 public ActivityStackSupervisorHandler(Looper looper) { 3430 super(looper); 3431 } 3432 3433 void activityIdleInternal(ActivityRecord r) { 3434 synchronized (mService) { 3435 activityIdleInternalLocked(r != null ? r.appToken : null, true, null); 3436 } 3437 } 3438 3439 @Override 3440 public void handleMessage(Message msg) { 3441 switch (msg.what) { 3442 case IDLE_TIMEOUT_MSG: { 3443 if (DEBUG_IDLE) Slog.d(TAG, "handleMessage: IDLE_TIMEOUT_MSG: r=" + msg.obj); 3444 if (mService.mDidDexOpt) { 3445 mService.mDidDexOpt = false; 3446 Message nmsg = mHandler.obtainMessage(IDLE_TIMEOUT_MSG); 3447 nmsg.obj = msg.obj; 3448 mHandler.sendMessageDelayed(nmsg, IDLE_TIMEOUT); 3449 return; 3450 } 3451 // We don't at this point know if the activity is fullscreen, 3452 // so we need to be conservative and assume it isn't. 3453 activityIdleInternal((ActivityRecord)msg.obj); 3454 } break; 3455 case IDLE_NOW_MSG: { 3456 if (DEBUG_IDLE) Slog.d(TAG, "handleMessage: IDLE_NOW_MSG: r=" + msg.obj); 3457 activityIdleInternal((ActivityRecord)msg.obj); 3458 } break; 3459 case RESUME_TOP_ACTIVITY_MSG: { 3460 synchronized (mService) { 3461 resumeTopActivitiesLocked(); 3462 } 3463 } break; 3464 case SLEEP_TIMEOUT_MSG: { 3465 synchronized (mService) { 3466 if (mService.isSleepingOrShuttingDown()) { 3467 Slog.w(TAG, "Sleep timeout! Sleeping now."); 3468 mSleepTimeout = true; 3469 checkReadyForSleepLocked(); 3470 } 3471 } 3472 } break; 3473 case LAUNCH_TIMEOUT_MSG: { 3474 if (mService.mDidDexOpt) { 3475 mService.mDidDexOpt = false; 3476 mHandler.sendEmptyMessageDelayed(LAUNCH_TIMEOUT_MSG, LAUNCH_TIMEOUT); 3477 return; 3478 } 3479 synchronized (mService) { 3480 if (mLaunchingActivity.isHeld()) { 3481 Slog.w(TAG, "Launch timeout has expired, giving up wake lock!"); 3482 if (VALIDATE_WAKE_LOCK_CALLER 3483 && Binder.getCallingUid() != Process.myUid()) { 3484 throw new IllegalStateException("Calling must be system uid"); 3485 } 3486 mLaunchingActivity.release(); 3487 } 3488 } 3489 } break;
"Sending signal. PID: "
04-02 14:25:28.656 673-781/system_process I/Process﹕ Sending signal. PID: 1075 SIG: 3
863 void android_os_Process_sendSignal(JNIEnv* env, jobject clazz, jint pid, jint sig) 864 { 865 if (pid > 0) { 866 ALOGI("Sending signal. PID: %" PRId32 " SIG: %" PRId32, pid, sig); 867 kill(pid, sig); 868 } 869 }1031 {"sendSignal", "(II)V", (void*)android_os_Process_sendSignal},
"reacting to signal"
04-02 14:25:27.316 673-680/system_process I/art﹕ Thread[5,tid=680,WaitingInMainSignalCatcherLoop,Thread*=0xaf60e400,peer=0x12c02080,"Signal Catcher"]: reacting to signal 3
168 int SignalCatcher::WaitForSignal(Thread* self, SignalSet& signals) { 169 ScopedThreadStateChange tsc(self, kWaitingInMainSignalCatcherLoop); 170 171 // Signals for sigwait() must be blocked but not ignored. We 172 // block signals like SIGQUIT for all threads, so the condition 173 // is met. When the signal hits, we wake up, without any signal 174 // handlers being invoked. 175 int signal_number = signals.Wait(); 176 if (!ShouldHalt()) { 177 // Let the user know we got the signal, just in case the system's too screwed for us to 178 // actually do what they want us to do... 179 LOG(INFO) << *self << ": reacting to signal " << signal_number; 180 181 // If anyone's holding locks (which might prevent us from getting back into state Runnable), say so... 182 Runtime::Current()->DumpLockHolders(LOG(INFO)); 183 } 184 185 return signal_number; 186 }94 bool SignalCatcher::ShouldHalt() { 95 MutexLock mu(Thread::Current(), lock_); 96 return halt_; 97 }
"Launch timeout has expired, giving up wake lock!"
3473 case LAUNCH_TIMEOUT_MSG: { 3474 if (mService.mDidDexOpt) { 3475 mService.mDidDexOpt = false; 3476 mHandler.sendEmptyMessageDelayed(LAUNCH_TIMEOUT_MSG, LAUNCH_TIMEOUT); 3477 return; 3478 } 3479 synchronized (mService) { 3480 if (mLaunchingActivity.isHeld()) { 3481 Slog.w(TAG, "Launch timeout has expired, giving up wake lock!"); 3482 if (VALIDATE_WAKE_LOCK_CALLER 3483 && Binder.getCallingUid() != Process.myUid()) { 3484 throw new IllegalStateException("Calling must be system uid"); 3485 } 3486 mLaunchingActivity.release(); 3487 } 3488 }
"Hung broadcast"
3473 case LAUNCH_TIMEOUT_MSG: { 3474 if (mService.mDidDexOpt) { 3475 mService.mDidDexOpt = false; 3476 mHandler.sendEmptyMessageDelayed(LAUNCH_TIMEOUT_MSG, LAUNCH_TIMEOUT); 3477 return; 3478 } 3479 synchronized (mService) { 3480 if (mLaunchingActivity.isHeld()) { 3481 Slog.w(TAG, "Launch timeout has expired, giving up wake lock!"); 3482 if (VALIDATE_WAKE_LOCK_CALLER 3483 && Binder.getCallingUid() != Process.myUid()) { 3484 throw new IllegalStateException("Calling must be system uid"); 3485 } 3486 mLaunchingActivity.release(); 3487 } 3488 }