使用uiautomatorviewer工具跑脚本发生中断

     公司使用uiautomatorviewer 工具跑自动化脚本,发现跑几个小时,经常发生中断。

     发现有连续报ANR,然后,脚本终止。

一、日志分析:

     (1) log如下:

07-05 12:10:35.508631  1331  3236 I WindowManager: ANR in ActivityRecord{67fea6e u0 com.android.launcher3/.uioverrides.QuickstepLauncher} t8}.  Reason: Application does not have a focused window
07-05 12:10:42.140838  1331 23876 I AnrManager: ANR in com.android.launcher3 (com.android.launcher3/.uioverrides.QuickstepLauncher), time=2760076
07-05 12:10:47.125920  1331  3236 I WindowManager: ANR in ActivityRecord{67fea6e u0 com.android.launcher3/.uioverrides.QuickstepLauncher} t8}.  Reason: Application does not have a focused window
07-05 12:11:17.787796  1331  3236 I WindowManager: ANR in ActivityRecord{67fea6e u0 com.android.launcher3/.uioverrides.QuickstepLauncher} t8}.  Reason: Application does not have a focused window
07-05 12:11:27.920498  1331  3236 I WindowManager: ANR in ActivityRecord{67fea6e u0 com.android.launcher3/.uioverrides.QuickstepLauncher} t8}.  Reason: Application does not have a focused window

 (2)查看log详情:

      07-05 12:10:42.140838  1331 23876 I AnrManager: ANR in com.android.launcher3 (com.android.launcher3/.uioverrides.QuickstepLauncher), time=2760076
07-05 12:10:42.140838  1331 23876 I AnrManager: Reason: Input dispatching timed out (Application does not have a focused window)
07-05 12:10:42.140838  1331 23876 I AnrManager: Load: 15.66 / 14.92 / 14.62
07-05 12:10:42.140838  1331 23876 I AnrManager: ----- Output from /proc/pressure/memory -----
07-05 12:10:42.140838  1331 23876 I AnrManager: some avg10=0.00 avg60=0.00 avg300=0.00 total=13695554
07-05 12:10:42.140838  1331 23876 I AnrManager: full avg10=0.00 avg60=0.00 avg300=0.00 total=6510529
07-05 12:10:42.140838  1331 23876 I AnrManager: ----- End output from /proc/pressure/memory -----
07-05 12:10:42.140838  1331 23876 I AnrManager: 
07-05 12:10:42.140838  1331 23876 I AnrManager: Android time :[2023-07-05 12:10:42.06] [2766.501]
07-05 12:10:42.140838  1331 23876 I AnrManager: CPU usage from 270411ms to 0ms ago (2023-07-05 12:06:05.233 to 2023-07-05 12:10:35.645):
07-05 12:10:42.140838  1331 23876 I AnrManager:   15% 3789/com.android.systemui: 11% user + 3.4% kernel / faults: 30889 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   14% 1331/system_server: 10% user + 3.9% kernel / faults: 84650 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   11% 736/surfaceflinger: 7.3% user + 4.1% kernel / faults: 3059 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   10% 3210/android.hardware.audio.service.mediatek: 7.8% user + 2.5% kernel / faults: 2739 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   9.1% 3209/audioserver: 7.2% user + 1.8% kernel / faults: 1738 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   7.1% 710/android.hardware.graphics.composer@2.1-service: 2.4% user + 4.6% kernel / faults: 12 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   6% 20086/com.android.dialer: 4.7% user + 1.2% kernel / faults: 38458 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   4.5% 960/mediaserver: 2.7% user + 1.8% kernel / faults: 5283 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   4.2% 477/logd: 1.2% user + 3% kernel / faults: 4911 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   2.9% 15247/adbd: 0.8% user + 2.1% kernel / faults: 1462 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   2.9% 3992/com.android.phone: 2.2% user + 0.7% kernel / faults: 20204 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   2.1% 713/android.hardware.media.c2@1.2-mediatek: 1.2% user + 0.9% kernel / faults: 4897 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   2% 999/vendor.mediatek.hardware.pq@2.2-service: 0.7% user + 1.2% kernel
07-05 12:10:42.140838  1331 23876 I AnrManager:   1.6% 20614/com.github.uiautomator: 1.3% user + 0.3% kernel / faults: 5456 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   1.5% 717/android.hardware.nfc@1.2-service.samsung: 0.1% user + 1.3% kernel / faults: 266 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   1.4% 961/mobile_log_d: 0.6% user + 0.7% kernel / faults: 8963 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   1.1% 20285/logcat: 0.4% user + 0.6% kernel
07-05 12:10:42.140838  1331 23876 I AnrManager:   1.1% 4030/com.android.launcher3: 0.8% user + 0.2% kernel / faults: 2417 minor 1 major
07-05 12:10:42.140838  1331 23876 I AnrManager:   1.1% 7/kworker/u16:0-kverityd: 0% user + 1.1% kernel / faults: 17 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   1% 20654/kworker/u16:5-adb: 0% user + 1% kernel / faults: 13 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.9% 1280/mtkfusionrild: 0.5% user + 0.4% kernel / faults: 31 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.8% 20653/kworker/u16:4-events_power_efficient: 0% user + 0.8% kernel / faults: 12 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.8% 11241/kworker/u16:15-md1_tx1_worker: 0% user + 0.8% kernel / faults: 9 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.8% 20652/kworker/u16:3-events_unbound: 0% user + 0.8% kernel / faults: 9 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.8% 13778/kworker/u16:21-kverityd: 0% user + 0.8% kernel / faults: 15 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.7% 227/disp_idlemgr: 0% user + 0.7% kernel
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.7% 4662/com.mediatek.ims: 0.5% user + 0.2% kernel / faults: 2464 minor 1 major
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.6% 17330/com.google.android.gms.persistent: 0.5% user + 0.1% kernel / faults: 6131 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.6% 18229/com.google.android.googlequicksearchbox:search: 0.5% user + 0.1% kernel / faults: 8664 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.6% 209/pbm: 0% user + 0.6% kernel
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.5% 695/statsd: 0.3% user + 0.1% kernel / faults: 479 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.4% 336/ipi_cpu_dvfs_rt: 0% user + 0.4% kernel
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.4% 20017/android.process.acore: 0.3% user + 0.1% kernel / faults: 1894 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.4% 234/present_fence_w: 0% user + 0.4% kernel
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.3% 719/android.hardware.sensors@2.0-service.multihal-mediatek: 0.1% user + 0.2% kernel / faults: 5 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.3% 4754/com.google.android.providers.media.module: 0.2% user + 0.1% kernel / faults: 2348 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.3% 3782/hif_thread: 0% user + 0.3% kernel
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.3% 1004/media.swcodec: 0.1% user + 0.1% kernel / faults: 731 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.3% 544/android.system.suspend@1.0-service: 0.1% user + 0.2% kernel / faults: 2 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.3% 10/rcu_preempt: 0% user + 0.3% kernel
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.2% 709/android.hardware.graphics.allocator@4.0-service-mediatek: 0% user + 0.2% kernel / faults: 1877 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.2% 3781/main_thread: 0% user + 0.2% kernel
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.2% 232/disp_delay_trig: 0% user + 0.2% kernel
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.2% 1180/volte_stack: 0.1% user + 0.1% kernel / faults: 163 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.2% 354/charger_thread: 0% user + 0.2% kernel
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.2% 958/media.extractor: 0.1% user + 0.1% kernel / faults: 4944 minor
07-05 12:10:42.140838  1331 23876 I AnrManager:   0.2% 1181/gsm0710muxd: 0.1% user + 0.1% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0.2% 1188/volte_imcb: 0.1% user + 0% kernel / faults: 178 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0.2% 129/ion_mm_heap: 0% user + 0.2% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0.2% 18941/com.google.android.gms: 0.1% user + 0% kernel / faults: 1225 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0.2% 1182/volte_ua: 0.1% user + 0% kernel / faults: 133 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0.1% 22387/kworker/6:1-mm_percpu_wq: 0% user + 0.1% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0.1% 20685/kworker/4:1-events: 0% user + 0.1% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0.1% 331/exe_cq/0: 0% user + 0.1% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0.1% 726/vendor.mediatek.hardware.mtkpower@1.0-service: 0% user + 0% kernel / faults: 4 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0.1% 212/chre_kthread: 0% user + 0.1% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0.1% 20283/logcat: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0.1% 21857/kworker/7:0-mm_percpu_wq: 0% user + 0.1% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0.1% 959/media.metrics: 0% user + 0% kernel / faults: 82 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0.1% 4563/com.google.android.ext.services: 0% user + 0% kernel / faults: 1463 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0.1% 16761/com.android.vending:instant_app_installer: 0.1% user + 0% kernel / faults: 1134 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 3929/com.android.networkstack.process: 0% user + 0% kernel / faults: 770 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 478/lmkd: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 22650/kworker/u17:0-rx5_worker: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 480/hwservicemanager: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 697/zygote64: 0% user + 0% kernel / faults: 512 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 20150/com.android.settings: 0% user + 0% kernel / faults: 280 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 284/pvr_defer_free: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 380/kworker/u16:9-events_unbound: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 479/servicemanager: 0% user + 0% kernel / faults: 2 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 982/wificond: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 14114/kworker/5:1-events: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 18010/com.google.android.inputmethod.latin: 0% user + 0% kernel / faults: 115 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 582/jbd2/dm-37-8: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 3779/android.hardware.wifi@1.0-service-lazy: 0% user + 0% kernel / faults: 5 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 254/kworker/1:1-rcu_gp: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 4751/com.google.android.as: 0% user + 0% kernel / faults: 743 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 156/kswapd0: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 20307/kworker/u17:2-rx5_worker: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 1/init: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 20592/app_process: 0% user + 0% kernel / faults: 5 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 696/netd: 0% user + 0% kernel / faults: 181 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 724/android.hardware.lights-service.mediatek: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 730/android.hardware.vibrator-service.mediatek: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 53/kworker/0:1-rcu_gp: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 940/cameraserver: 0% user + 0% kernel / faults: 3 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 711/android.hardware.health@2.1-service: 0% user + 0% kernel / faults: 6 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 228/disp_check: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 400/ueventd: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 739/fuelgauged: 0% user + 0% kernel / faults: 1 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 934/mnld: 0% user + 0% kernel / faults: 1 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 133/ion_history: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 751/mcDriverDaemon: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 8102/com.android.omadm.service: 0% user + 0% kernel / faults: 93 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 11/rcu_sched: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 4772/com.google.android.googlequicksearchbox:interactor: 0% user + 0% kernel / faults: 57 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 4802/com.android.nfc: 0% user + 0% kernel / faults: 1 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 722/android.hardware.usb@1.2-service-mediatekv2: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 1008/android.hardware.biometrics.fingerprint@2.1-service: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 22358/kworker/2:2-ged_notify_sw_vsync: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 126/kworker/3:1-events_freezable: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 237/btif_rxd: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 286/pvr_cacheop: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 545/keystore2: 0% user + 0% kernel / faults: 17 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 716/android.hardware.memtrack@1.0-service: 0% user + 0% kernel / faults: 5 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 747/wfca: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 895/cldma_rxq0: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 991/thermal: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 1179/volte_imsm_93: 0% user + 0% kernel / faults: 5 minor
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 20720/kworker/6:0H-kblockd: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 22202/kworker/4:1H-kblockd: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 31/migration/4: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 36/migration/5: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 41/migration/6: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 46/migration/7: 0% user + 0% kernel
07-05 12:10:42.141228  1331 23876 I AnrManager:   0% 47/ksoftirqd/7: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 245/krtatm: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 857/mtk_wmtd: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 3945/com.mediatek.smartratswitch: 0% user + 0% kernel / faults: 17 minor
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 22178/kworker/3:4-mm_percpu_wq: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 9/ksoftirqd/0: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 42/ksoftirqd/6: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 131/ion_mm_heap_for: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 231/display_check_a: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 273/tee_worker/3: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 482/psimon: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 548/android.hardware.keymaster@4.1-service.trustonic: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 852/mtk_stp_psm: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 4855/com.mediatek.presence: 0% user + 0% kernel / faults: 6 minor
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 14770/kworker/3:3-events_freezable: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 19482/com.debug.loggerui: 0% user + 0% kernel / faults: 11 minor
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 2/kthreadd: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 13/migration/0: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 21/migration/2: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 32/ksoftirqd/4: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 37/ksoftirqd/5: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 121/conn-md-thread: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 259/irq/134-sec-nfc: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 270/tee_worker/0: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 271/tee_worker/1: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 272/tee_worker/2: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 285/pvr_device_wdg: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 293/ccci_poll1: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 325/dlpt_notify_thr: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 328/battery_thread: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 489/vold: 0% user + 0% kernel / faults: 3 minor
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 612/loop10: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 720/android.hardware.thermal@2.0-service.mtk: 0% user + 0% kernel / faults: 9 minor
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 742/ccci_mdinit: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 927/drmserver: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 984/media.codec: 0% user + 0% kernel / faults: 2 minor
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 993/thermalloadalgod: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 994/ipsec_mon: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 1069/kworker/1:2H: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 3783/rx_thread: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 7806/com.google.android.apps.messaging:rcs: 0% user + 0% kernel / faults: 51 minor
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 10329/wpa_supplicant: 0% user + 0% kernel / faults: 3 minor
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 14222/kworker/3:1H-kblockd: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 19713/kworker/0:0H-kblockd: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 20564/kworker/7:1H-kblockd: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 20724/kworker/5:0H-kblockd: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   0% 20851/com.android.calllogbackup: 0% user + 0% kernel / faults: 6 minor
07-05 12:10:42.141341  1331 23876 I AnrManager:  +0% 22838/kworker/7:2-events: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:  +0% 22959/kworker/2:0H-kblockd: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:  +0% 23040/kworker/5:1H-kblockd: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:  +0% 23041/kworker/7:0H-kblockd: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:  +0% 23042/com.trustonic.alpsservice: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:  +0% 23254/kworker/5:0-mm_percpu_wq: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:  +0% 23356/kworker/3:0-events_freezable: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:  +0% 23428/com.trustonic.rsu.support: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:  +0% 23454/com.google.android.apps.photos: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:  +0% 23571/kworker/7:3-events: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:  +0% 23609/kworker/6:1H-kblockd: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:  +0% 23780/kworker/4:0H-kblockd: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:  +0% 23816/com.google.process.gservices: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:  +0% 23833/com.myos.camera: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:  +0% 23853/com.ape.algoprocessservice:remote: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:  +0% 23874/kworker/u16:1-events_power_efficient: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:  +0% 23875/kworker/u16:2-adb: 0% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager: 15% TOTAL: 8.9% user + 5.9% kernel + 0% iowait + 0.1% softirq
07-05 12:10:42.141341  1331 23876 I AnrManager: CPU usage from 110ms to 620ms later (2023-07-05 12:10:35.754 to 2023-07-05 12:10:36.264):
07-05 12:10:42.141341  1331 23876 I AnrManager:   65% 1331/system_server: 36% user + 29% kernel / faults: 496 minor
07-05 12:10:42.141341  1331 23876 I AnrManager:     39% 23876/AnrConsumer: 13% user + 26% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:     18% 1340/HeapTaskDaemon: 18% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:     2.6% 7204/binder:1331_1E: 2.6% user + 0% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   3.9% 69/kcompactd0: 0% user + 3.9% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   5.4% 3789/com.android.systemui: 2.7% user + 2.7% kernel / faults: 8 minor
07-05 12:10:42.141341  1331 23876 I AnrManager:     2.7% 3869/SysUiBg: 0% user + 2.7% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   1.9% 1/init: 0% user + 1.9% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   2% 209/pbm: 0% user + 2% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:   2.6% 1280/mtkfusionrild: 0% user + 2.6% kernel
07-05 12:10:42.141341  1331 23876 I AnrManager:     2.6% 1292/RfxSender_0: 0% user + 2.6% kernel
07-05 12:10:42.141391  1331 23876 I AnrManager:   2.8% 3992/com.android.phone: 2.8% user + 0% kernel / faults: 26 minor
07-05 12:10:42.141391  1331 23876 I AnrManager:     2.8% 3992/m.android.phone: 2.8% user + 0% kernel
07-05 12:10:42.141391  1331 23876 I AnrManager:     2.8% 4483/HwBinder:3992_1: 2.8% user + 0% kernel
07-05 12:10:42.141391  1331 23876 I AnrManager:     2.8% 4722/binder:3992_A: 2.8% user + 0% kernel
07-05 12:10:42.141391  1331 23876 I AnrManager:   3.4% 15247/adbd: 0% user + 3.4% kernel
07-05 12:10:42.141391  1331 23876 I AnrManager: 15% TOTAL: 7.3% user + 7.6% kernel + 0.2% iowait

(3) 从上面的log,可以看出,ANR 占用的memory 压力和 CPU 都非常低。报ANR的原因是应用获取不到焦点。

很奇怪的事情是系统不繁忙,各项指标都很正常,但是,报应用获取不到焦点。

然后看event log的焦点的变化.

在event log 里面发现,在am_anr 附近寻找可疑点。发现com.android.launcher3获取焦点没有响应,理由是为没有Window.

07-05 12:10:24.951249  1331  1352 I input_focus: [Focus request 655c3d8 com.android.launcher3/com.android.launcher3.uioverrides.QuickstepLauncher,reason=UpdateInputWindows]
07-05 12:10:35.701686  1331 23876 I am_anr  : [0,4030,com.android.launcher3,617332293,Input dispatching timed out (Application does not have a focused window)]
07-05 13:52:44.631880  1331  3236 I input_focus: [Focus entering a846a38 Application Not Responding: com.android.launcher3 (server),reason=Window became focusable. Previous reason: NO_WINDOW]

 二、观察现场:

       发现每次复现之后,手机都是息屏的。

       在跑脚本是,手机显示时间选择的是30分钟,而且,在开发者模式里面选择的是"stay awake",都是常亮的。手机连着电脑,脚本还在不停的操作,按道理来说,不可能会息屏。

三、日志在分析:

查看关键字“screen_toggled:” 和 "PowerManagerService"

07-05 11:39:59.894303  1331  1331 I screen_toggled: 0
07-05 11:40:19.376893  1331  1331 I screen_toggled: 1
 

07-05 11:39:58.963752  1331  1378 I PowerManagerService: Going to sleep due to timeout (uid 1000)...
07-05 11:39:59.736256  1331  1378 I PowerManagerService: Dozing...
07-05 11:40:19.347561  1331  3237 I PowerManagerService: Waking up from Dozing (uid=1000, reason=WAKE_REASON_POWER_BUTTON, details=android.policy:POWER)...
07-05 11:40:19.885481  1331  1378 W PowerManagerService: Screen on took 559 ms
 

发现在07-05 11:39:59~07-05 11:40:19 发生过一次息屏,但是很快按power key 就亮屏了,不应该存在息屏的情况。

再搜关键字:Screen 和 off

grep "Screen" -ir ./ |grep -i "off"

07-05 12:10:09.249740   934   977 E flp     : mnld_screen_monitor_thread: Screen off
07-05 12:10:09.252048   999  1109 D AAL     : onBacklightChanged: change screen state 3(On) -> 0(Off)

再搜索: grep "Screen" -ir ./ |grep -i "on"

07-05 11:58:08.236220   999  1109 D AAL     : onBacklightChanged: change screen state 3(On) -> 0(Off)
07-05 11:58:14.884810   999  1109 D AAL     : onBacklightChanged: change screen state 0(Off) -> 3(On)
07-05 12:10:09.252048   999  1109 D AAL     : onBacklightChanged: change screen state 3(On) -> 0(Off)
07-05 13:52:44.632844   999  1109 D AAL     : onBacklightChanged: change screen state 0(Off) -> 3(On)

在07-05 12:10:09息屏,过了1小时40分钟,才亮屏。

因为每次都是中断在打电话附近,怀疑和sensor有关。

查看log: 

07-05 12:06:30.290912   719   849 I Proximity: distance = 6
07-05 12:07:01.436605   719   849 I Proximity: distance = 6
07-05 12:07:02.229425   719   849 I Proximity: distance = 6
07-05 12:07:33.318968   719   849 I Proximity: distance = 6
07-05 12:08:04.569743   719   849 I Proximity: distance = 6
07-05 12:08:05.363105   719   849 I Proximity: distance = 6
07-05 12:08:35.998252   719   849 I Proximity: distance = 6
07-05 12:08:36.755040   719   849 I Proximity: distance = 6
07-05 12:09:06.965853   719   849 I Proximity: distance = 6
07-05 12:09:37.805697   719   849 I Proximity: distance = 6
07-05 12:10:08.872270   719   849 I Proximity: distance = 1

 Proximity 中上报distance =1, 是最后的上报,而distance = 1,表示接近的,有遮挡。

四、找到sensor 对应的代码。

对应的代码:

vendor/mediatek/proprietary/hardware/sensor/sensors-1.0/Proximity.cpp

229  void ProximitySensor::processEvent(struct sensor_event const *event)
230  {
231      int32_t psCali[2] = {0};
232  
233      if (event->flush_action == FLUSH_ACTION) {
234          mPendingEvent.version = META_DATA_VERSION;
235          mPendingEvent.sensor = 0;
236          mPendingEvent.type = SENSOR_TYPE_META_DATA;
237          mPendingEvent.meta_data.what = META_DATA_FLUSH_COMPLETE;
238          mPendingEvent.meta_data.sensor = ID_PROXIMITY;
239          // must fill timestamp, if not, readEvents may can not report flush to framework
240          mPendingEvent.timestamp = android::elapsedRealtimeNano() + IGNORE_EVENT_TIME;
241          ALOGI("flush complete\n");
242      } else if (event->flush_action == DATA_ACTION){
243          mPendingEvent.version = sizeof(sensors_event_t);
244          mPendingEvent.sensor = ID_PROXIMITY;
245          mPendingEvent.type = SENSOR_TYPE_PROXIMITY;
246          if (event->time_stamp)
247              mPendingEvent.timestamp = event->time_stamp;
248          else
249              mPendingEvent.timestamp = android::elapsedRealtimeNano();
250          mPendingEvent.distance = event->word[0] - 1;
251          ALOGI("distance = %d\n", event->word[0]);
252      } else if (event->flush_action == CALI_ACTION){
253          psCali[0] = event->word[0];
254          psCali[1] = event->word[1];
255          ALOGI("write [high, low]: [%d, %d]\n", psCali[0], psCali[1]);
256          mSensorSaved.saveCalibrationInt32(PS_CALI_SAVED_DIR, PS_TAG_CALI, psCali, 2);
257      } else
258          ALOGE("unknow action\n");
259  }

五、使用dump 命令验证:

adb shell dumpsys sensorservice > sensorservice .txt

(下面的dump 信息是使用另外一台手机)

PROXIMITY: last 30 events
         1 (ts=628103.536871109, wall=19:22:02.115) 5.00, 0.00, 0.00, 
         2 (ts=628270.019757925, wall=19:24:48.597) 5.00, 0.00, 0.00, 
         3 (ts=628435.958453849, wall=19:27:34.537) 5.00, 0.00, 0.00, 
         4 (ts=628603.998633316, wall=19:30:22.577) 5.00, 0.00, 0.00, 
         5 (ts=628770.641089057, wall=19:33:09.219) 5.00, 0.00, 0.00, 
         6 (ts=628933.503705812, wall=19:35:52.082) 5.00, 0.00, 0.00, 
         7 (ts=629099.921090005, wall=19:38:38.500) 5.00, 0.00, 0.00, 
         8 (ts=629266.149083798, wall=19:41:24.727) 5.00, 0.00, 0.00, 
         9 (ts=629429.407018308, wall=19:44:07.985) 5.00, 0.00, 0.00, 
        10 (ts=629595.943417548, wall=19:46:54.522) 5.00, 0.00, 0.00, 
        11 (ts=629759.218939217, wall=19:49:37.798) 5.00, 0.00, 0.00, 
        12 (ts=629922.241869485, wall=19:52:20.820) 5.00, 0.00, 0.00, 
        13 (ts=630088.106416766, wall=19:55:06.685) 5.00, 0.00, 0.00, 
        14 (ts=630254.577313235, wall=19:57:53.155) 5.00, 0.00, 0.00, 
        15 (ts=630418.333607237, wall=20:00:36.914) 5.00, 0.00, 0.00, 
        16 (ts=630584.468819005, wall=20:03:23.047) 5.00, 0.00, 0.00, 
        17 (ts=630750.892676429, wall=20:06:09.471) 5.00, 0.00, 0.00, 
        18 (ts=630914.100785641, wall=20:08:52.678) 5.00, 0.00, 0.00, 
        19 (ts=631080.864619512, wall=20:11:39.443) 5.00, 0.00, 0.00, 
        20 (ts=631248.096472141, wall=20:14:26.674) 5.00, 0.00, 0.00, 
        21 (ts=631411.286268219, wall=20:17:09.865) 5.00, 0.00, 0.00, 
        22 (ts=631577.184314196, wall=20:19:55.762) 5.00, 0.00, 0.00, 
        23 (ts=631744.076936834, wall=20:22:42.655) 5.00, 0.00, 0.00, 
        24 (ts=631910.347218902, wall=20:25:28.925) 5.00, 0.00, 0.00, 
        25 (ts=632076.978614749, wall=20:28:15.557) 5.00, 0.00, 0.00, 
        26 (ts=632239.800769557, wall=20:30:58.378) 5.00, 0.00, 0.00, 
        27 (ts=632405.718239408, wall=20:33:44.297) 5.00, 0.00, 0.00, 
        28 (ts=632571.684821566, wall=20:36:30.263) 5.00, 0.00, 0.00, 
        29 (ts=632737.802253539, wall=20:39:16.381) 5.00, 0.00, 0.00, 
        30 (ts=632900.767751259, wall=20:41:59.346) 0.00, 0.00, 0.00

 0.00, 0.00, 0.00 表示上报有遮挡。但是,实际中确实没有遮挡,不是单机行为,是10台手机有9台手机有此现象。

五、结论:

  (1) 找到负责sensor的同事,发现和供应商沟通发现了逻辑有问题导致的,提供新的驱动方案处理了此问题。

  (2) 在息屏状态下,下发指令会发生ANR问题,不仅仅是uiautomatorviewer。或者说当发生ANR时,发现memory 压力,CPU ,iowait 都正常,看看是否在息屏操作的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值