ponewheel / android-ponewheel

pOneWheel Android app
MIT License
72 stars 25 forks source link

UI speed and other cards are freezing #83

Closed kwatkins closed 6 years ago

kwatkins commented 6 years ago

After connecting to OW, the UI looks good, everything updates. Then after a certain amount of time (not sure what the triggers are yet) certain cards stop working, actually all do except the characteristics view, those do display the list of OW stats.

The debug drawer also freezes, so wasn't able to get the logs, I'll look into getting them - in the meantime, there is a screen dump at https://www.youtube.com/edit?o=U&video_id=dSupXo_52cw

Running on a Google Pixel - [ro.vendor.build.fingerprint]: [google/sailfish/sailfish:8.1.0/OPM2.171019.029/4657601:user/release-keys]

ebabel commented 6 years ago

Unfortunately that youtube link doesn't work

audkar commented 6 years ago

Working video link

ebabel commented 6 years ago

Looks to me like this is because we're not handling activity recreation correctly

audkar commented 6 years ago

wasn't able to get the logs, I'll look into getting them

@kwatkins I would really like to see these logs, because I can't understand what is happening.

Looks to me like this is because we're not handling activity recreation correctly

If I understand video correctly, then Activity is not being recreated. It is always in foreground.

kwatkins commented 6 years ago

@audkar Sorry this took a bit longer to get, had to write a tool that would persist root logcats to the sdcard when not attached to a debugger and I'm out on the OW. Still looking for that tool that does more, logging a timeline of events, with bells and whistles of screenshots correlated with binder, network, file, etc activity.

I haven't dug into these logs yet (ANRs, service misses) - you may be able to decipher 'em:

07-25 19:28:57.615 D/MainActivity(20003): Starting...
07-25 19:28:57.644 I/AppCompatViewInflater(20003): app:theme is now deprecated. Please move to using android:theme instead.
07-25 19:28:57.715 I/chatty  (20003): uid=10211(net.kwatts.powtools) identical 5 lines
07-25 19:28:57.720 I/AppCompatViewInflater(20003): app:theme is now deprecated. Please move to using android:theme instead.
07-25 19:28:57.907 D/NuPlayerDriver(  718): NuPlayerDriver(0xec80d980) created, clientPid(20003)
07-25 19:28:57.910 D/GenericSource(  718): FileSource remote
07-25 19:28:57.917 D/MediaBufferGroup(  715): creating MemoryDealer
07-25 19:28:57.918 D/NuPlayerDriver(  718): notifyListener_l(0xec80d980), (1, 0, 0, -1), loop setting(0, 0)
07-25 19:28:57.954 I/zygote64(20003): Do full code cache collection, code=251KB, data=163KB
07-25 19:28:57.956 I/zygote64(20003): After code cache collection, code=248KB, data=133KB
07-25 19:28:57.970 D/POWTOOLS(20003): Vibrate Service started
07-25 19:28:57.978 I/BluetoothConnectionService(20003): onCreate
07-25 19:28:58.041 I/BluetoothConnectionService(20003): onBind
07-25 19:28:58.044 I/Choreographer(20003): Skipped 44 frames!  The application may be doing too much work on its main thread.
07-25 19:28:58.110 I/zygote64(20003): Do partial code cache collection, code=251KB, data=139KB
07-25 19:28:58.110 I/zygote64(20003): After code cache collection, code=251KB, data=139KB
07-25 19:28:58.110 I/zygote64(20003): Increasing code cache capacity to 1024KB
07-25 19:28:58.145 D/android.widget.GridLayout(20003): horizontal constraints: x2-x0>=944, x2-x1<=154, x1-x0<=348 are inconsistent; permanently removing: x2-x1<=154. 
07-25 19:28:58.155 D/android.widget.GridLayout(20003): vertical constraints: y1-y0>=43, y2-y1>=43, y3-y2>=43, y4-y3>=43, y5-y4>=43, y6-y5>=43, y7-y6>=43, y8-y7>=43, y9-y8>=43, y10-y9>=43, y11-y10>=43, y12-y11>=43, y13-y12>=43, y14-y13>=43, y15-y14>=43, y16-y15>=43, y17-y16>=43, y18-y17>=43, y19-y18>=43, y20-y19>=43, y21-y20>=43, y21-y0<=893 are inconsistent; permanently removing: y21-y0<=893. 
07-25 19:28:58.340 I/ActivityManager(  928): Displayed net.kwatts.powtools/.MainActivity: +2s463ms
07-25 19:28:58.342 I/BluetoothConnectionService(20003): onUnbind Intent { cmp=net.kwatts.powtools/.BluetoothConnectionService }
07-25 19:28:58.344 I/BluetoothConnectionService(20003): onDestroy
07-25 19:28:58.348 E/ActivityThread(20003): Activity net.kwatts.powtools.MainActivity has leaked ServiceConnection net.kwatts.powtools.MainActivity$7@75c97ca that was originally bound here
07-25 19:28:58.348 E/ActivityThread(20003): android.app.ServiceConnectionLeaked: Activity net.kwatts.powtools.MainActivity has leaked ServiceConnection net.kwatts.powtools.MainActivity$7@75c97ca that was originally bound here
07-25 19:28:58.348 E/ActivityThread(20003):     at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:1532)
07-25 19:28:58.348 E/ActivityThread(20003):     at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:1424)
07-25 19:28:58.348 E/ActivityThread(20003):     at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1605)
07-25 19:28:58.348 E/ActivityThread(20003):     at android.app.ContextImpl.bindService(ContextImpl.java:1557)
07-25 19:28:58.348 E/ActivityThread(20003):     at android.content.ContextWrapper.bindService(ContextWrapper.java:684)
07-25 19:28:58.348 E/ActivityThread(20003):     at net.kwatts.powtools.MainActivity.onCreate(MainActivity.java:273)
07-25 19:28:58.348 E/ActivityThread(20003):     at android.app.Activity.performCreate(Activity.java:6999)
07-25 19:28:58.348 E/ActivityThread(20003):     at android.app.Activity.performCreate(Activity.java:6990)
07-25 19:28:58.348 E/ActivityThread(20003):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
07-25 19:28:58.348 E/ActivityThread(20003):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)
07-25 19:28:58.348 E/ActivityThread(20003):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
07-25 19:28:58.348 E/ActivityThread(20003):     at android.app.ActivityThread.-wrap11(Unknown Source:0)
07-25 19:28:58.348 E/ActivityThread(20003):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
07-25 19:28:58.348 E/ActivityThread(20003):     at android.os.Handler.dispatchMessage(Handler.java:106)
07-25 19:28:58.348 E/ActivityThread(20003):     at android.os.Looper.loop(Looper.java:164)
07-25 19:28:58.348 E/ActivityThread(20003):     at android.app.ActivityThread.main(ActivityThread.java:6494)
07-25 19:28:58.348 E/ActivityThread(20003):     at java.lang.reflect.Method.invoke(Native Method)
07-25 19:28:58.348 E/ActivityThread(20003):     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
07-25 19:28:58.348 E/ActivityThread(20003):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
07-25 19:28:58.348 I/GoogleInputMethod( 7476): onFinishInput() : Dummy InputConnection bound
07-25 19:28:58.349 I/GoogleInputMethod( 7476): onStartInput() : Dummy InputConnection bound
07-25 19:28:58.353 D/POWTOOLS(20003): Vibrate Service started
07-25 19:28:58.355 I/BluetoothConnectionService(20003): onCreate
07-25 19:28:58.358 I/BluetoothConnectionService(20003): onBind
07-25 19:28:58.452 D/fpc_tac (  743): fpc_tee_nav_loop Waiting finger up...
07-25 19:28:58.526 I/WifiService(  928): getWifiEnabledState uid=10037
07-25 19:28:58.769 D/QCOM PowerHAL(  683): LAUNCH HINT: OFF
07-25 19:28:59.007 D/fpc_tac (  743): fpc_tee_nav_loop Finger up Done
07-25 19:28:59.007 D/fpc_tac (  743): fpc_tee_nav_loop waiting for finger down
07-25 19:28:59.014 I/zygote64( 1284): Explicit concurrent copying GC freed 23568(1142KB) AllocSpace objects, 0(0B) LOS objects, 49% free, 12MB/25MB, paused 98us total 237.718ms
07-25 19:28:59.528 I/WifiService(  928): getWifiEnabledState uid=10037
07-25 19:29:00.104 I/BluetoothConnectionService(20003): onHandleIntent (Intent { act=connect cmp=net.kwatts.powtools/.BluetoothConnectionService })
07-25 19:29:00.113 W/Notification(20003): Use of stream types is deprecated for operations other than volume control
07-25 19:29:00.113 W/Notification(20003): See the documentation of setSound() for what to use instead with android.media.AudioAttributes to qualify your playback use case
07-25 19:29:00.124 D/BluetoothUtilImpl(20003): scanLeDevice enable = true
07-25 19:29:00.126 D/BluetoothAdapter(20003): isLeEnabled(): ON
07-25 19:29:00.131 I/bt_stack( 9139): [INFO:gatt_api.cc(1004)] GATT_Register
07-25 19:29:00.131 I/bt_stack( 9139): [INFO:gatt_api.cc(1027)] allocated gatt_if=9
07-25 19:29:00.132 D/BluetoothLeScanner(20003): onScannerRegistered() - status=0 scannerId=9 mScannerId=0
07-25 19:29:00.139 D/StreamDBQueue( 3479): Promised revision #144000 to queue a new op
07-25 19:29:00.139 D/BaseStreamManager( 3479): Promised set @ r#144000 for (android,tag=null,id=40,notifKey=0|android|40|null|1000)
07-25 19:29:00.141 D/StreamDatabase( 3479):   filtering notification, reason=FRAMEWORKS_FOREGROUND_NOTIFICATION, itemId=StreamItemIdAndRevision{notifKey=0|android|40|null|1000, packageName=android, id=40, revision=144000, originalRevision=143983, updateCount=4}
07-25 19:29:00.144 D/NewStreamAdapter( 3479): Publishing revision #144000 to adapter clients
07-25 19:29:00.155 D/StreamDBQueue( 3479): Promised revision #144001 to queue a new op
07-25 19:29:00.156 D/BaseStreamManager( 3479): Promised set @ r#144001 for (net.kwatts.powtools,tag=null,id=1,notifKey=0|net.kwatts.powtools|1|null|10211)
07-25 19:29:00.168 D/Avrcp   ( 9139): AudioManager Player: ID:6023 -- type:android.media.AudioTrack -- u/pid:10037/31739 -- state:paused -- attr:AudioAttribu

--
07-25 18:47:06.649 I/ActivityManager(  928): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=net.kwatts.powtools/.MainActivity bnds=[439,252][641,514]} from uid 10018
07-25 18:49:17.407 I/DisplayPowerController(  928): Blocking screen off
07-25 18:49:17.407 I/DisplayPowerController(  928): Unblocked screen off after 1 ms
07-25 18:49:17.506 I/DisplayManagerService(  928): Display device changed state: "Built-in Screen", OFF
07-25 18:49:17.543 E/BatteryExternalStatsWorker(  928): no controller energy info supplied for wifi
07-25 18:49:17.769 I/DreamManagerService(  928): Entering dreamland.
07-25 18:49:17.770 I/PowerManagerService(  928): Dozing...
07-25 18:49:17.771 I/DreamController(  928): Starting dream: name=ComponentInfo{com.android.systemui/com.android.systemui.doze.DozeService}, isTest=false, canDoze=true, userId=0
07-25 18:49:17.921 I/wificond(  720): Pno scan started
07-25 18:49:18.111 I/DisplayPowerController(  928): Blocking screen on until initial contents have been drawn.
07-25 18:49:18.115 I/DisplayManagerService(  928): Display device changed state: "Built-in Screen", ON
07-25 18:49:18.182 I/DisplayPowerController(  928): Unblocked screen on after 71 ms
07-25 18:49:23.138 E/NotificationService(  928): Suppressing notification from package by user request.
07-25 18:49:23.338 I/PowerManagerService(  928): Waking up from dozing (uid=1000 reason=android.policy:POWER)...
07-25 18:49:23.349 I/DreamManagerService(  928): Gently waking up from dream.
07-25 18:49:23.349 I/DreamManagerService(  928): Performing gentle wake from dream.
07-25 18:49:24.281 V/FingerprintService(  928): handleError(client=com.android.systemui, error = 5)
07-25 18:49:24.433 I/ActivityManager(  928): Start proc 15340:com.instagram.android/u0a152 for broadcast com.instagram.android/com.instagram.push.fbns.FbnsInitBroadcastReceiver
07-25 18:49:24.801 E/NotificationService(  928): Suppressing notification from package by user request.
07-25 18:49:32.679 E/NotificationService(  928): Suppressing notification from package by user request.
07-25 18:49:40.448 I/ActivityManager(  928): Killing 13100:com.android.providers.calendar/u10a24 (adj 906): empty #17
07-25 18:49:43.240 F/libc    (24570): Fatal signal 6 (SIGABRT), code -6 in tid 24583 (Binder:24570_1), pid 24570 (kwatts.powtools)
07-25 18:49:43.364 F/DEBUG   (15451): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
07-25 18:49:43.365 F/DEBUG   (15451): Build fingerprint: 'google/sailfish/sailfish:8.1.0/OPM2.171019.029/4657601:user/release-keys'
07-25 18:49:43.365 F/DEBUG   (15451): Revision: '0'
07-25 18:49:43.365 F/DEBUG   (15451): ABI: 'arm64'
07-25 18:49:43.365 F/DEBUG   (15451): pid: 24570, tid: 24583, name: Binder:24570_1  >>> net.kwatts.powtools <<<
07-25 18:49:43.365 F/DEBUG   (15451): signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
07-25 18:49:43.365 F/DEBUG   (15451):     x0   0000000000000000  x1   0000000000006007  x2   0000000000000006  x3   0000000000000008
07-25 18:49:43.365 F/DEBUG   (15451):     x4   0000000000000000  x5   0000000000000000  x6   0000000000000000  x7   0000007b46898c00
07-25 18:49:43.365 F/DEBUG   (15451):     x8   0000000000000083  x9   298e722078c03ec2  x10  0000000000000000  x11  ffffffffffffffff
07-25 18:49:43.365 F/DEBUG   (15451):     x12  0000000000000002  x13  0000000000000005  x14  0000000000000000  x15  0000000000000045
07-25 18:49:43.365 F/DEBUG   (15451):     x16  0000005f76592fa8  x17  0000007bd348c430  x18  0000000000000018  x19  0000000000005ffa
07-25 18:49:43.365 F/DEBUG   (15451):     x20  0000000000006007  x21  0000000000000083  x22  0000000000000000  x23  0000000000000001
07-25 18:49:43.365 F/DEBUG   (15451):     x24  0000000000000009  x25  ffffff84ca439200  x26  0000000000000100  x27  0000000000000000
07-25 18:49:43.366 F/DEBUG   (15451):     x28  00000000131c7b68  x29  0000007b3bb25b40  x30  0000007bd343fa2c
07-25 18:49:43.366 F/DEBUG   (15451):     sp   0000007b3bb25b00  pc   0000007bd343fa4c  pstate 0000000060000000
07-25 18:49:43.669 F/DEBUG   (15451): 
07-25 18:49:43.669 F/DEBUG   (15451): backtrace:
07-25 18:49:43.669 F/DEBUG   (15451):     #00 pc 000000000001da4c  /system/lib64/libc.so (abort+112)
07-25 18:49:43.669 F/DEBUG   (15451):     #01 pc 0000000000577398  /system/lib64/libskia.so (sk_realloc_throw(void*, unsigned long)+40)
07-25 18:49:43.669 F/DEBUG   (15451):     #02 pc 00000000002dae30  /system/lib64/libskia.so (SkPathRef::growForVerb(int, float)+236)
07-25 18:49:43.669 F/DEBUG   (15451):     #03 pc 00000000002d0df4  /system/lib64/libskia.so (SkPath::moveTo(float, float)+88)
07-25 18:49:43.669 F/DEBUG   (15451):     #04 pc 0000000000b3d7e8  /system/framework/arm64/boot-framework.oat (offset 0x611000) (android.graphics.Path.nLineTo [DEDUPED]+168)
07-25 18:49:43.669 F/DEBUG   (15451):     #05 pc 00000000001eee18  /dev/ashmem/dalvik-jit-code-cache (deleted)
07-25 18:49:44.978 W/ActivityManager(  928):   Force finishing activity net.kwatts.powtools/.MainActivity
07-25 18:49:44.985 I/BootReceiver(  928): Copying /data/tombstones/tombstone_04 to DropBox (SYSTEM_TOMBSTONE)
07-25 18:49:44.993 W/DropBoxManagerService(  928): Dropping: SYSTEM_TOMBSTONE (10 > 0 bytes)
07-25 18:49:44.995 I/ActivityManager(  928): Showing crash dialog for package net.kwatts.powtools u0
07-25 18:49:45.004 W/DropBoxManagerService(  928): Dropping: data_app_native_crash (1889 > 0 bytes)
07-25 18:49:45.160 I/WindowManager(  928): WIN DEATH: Window{756e73 u0 net.kwatts.powtools/net.kwatts.powtools.MainActivity}
07-25 18:49:45.162 I/ActivityManager(  928): Process net.kwatts.powtools (pid 24570) has died: vis  +99TOP 
07-25 18:49:45.162 W/ActivityManager(  928): Scheduling restart of crashed service net.kwatts.powtools/.services.VibrateService in 1000ms
07-25 18:49:45.162 W/ActivityManager(  928): Scheduling restart of crashed service net.kwatts.powtools/.BluetoothConnectionService in 1000ms
07-25 18:49:45.236 W/Looper  (  928): Dispatch took 173ms on android.ui, h=Handler (android.view.Choreographer$FrameHandler) {80e8b3f} cb=android.view.Choreographer$FrameDisplayEventReceiver@e58ac0c msg=0
07-25 18:49:45.259 W/ActivityManager(  928): setHasOverlayUi called on unknown pid: 24570
07-25 18:49:45.940 E/NotificationService(  928): Suppressing notification from package by user request.
07-25 18:49:46.417 E/NotificationService(  928): Suppressing notification from package by user request.
07-25 18:49:47.037 E/NotificationService(  928): Suppressing notification from package by user request.
07-25 18:49:47.443 E/NotificationService(  928): Suppressing notification from package by user request.
07-25 18:50:06.015 W/ActivityManager(  928): Ignoring remove of inactive process: ProcessRecord{bd51b49 0:net.kwatts.powtools/u0a211}
07-25 18:50:06.017 I/ActivityManager(  928): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10300000 cmp=net.kwatts.powtools/.MainActivity} from uid 10018
07-25 18:50:06.059 E/ActivityManager(  928): applyOptionsLocked: Unknown animationType=0
07-25 18:50:06.073 I/ActivityManager(  928): Start proc 15494:net.kwatts.powtools/u0a211 for activity net.kwatts.powtools/.MainActivity
07-25 18:50:06.117 W/Looper  (  928): Dispatch took 104ms on android.ui, h=Handler (com.android.server.am.AppErrorDialog$1) {ceaa343} cb=null msg=3
07-25 18:50:06.156 E/NotificationService(  928): Suppressing notification from package by user request.
07-25 18:50:06.215 W/AppOps  (  928): Finishing op nesting under-run: uid 1000 pkg android code 24 time=0 duration=0 nesting=0
07-25 18:50:08.716 E/ActivityThread(15494): Activity net.kwatts.powtools.MainActivity has leaked ServiceConnection net.kwatts.powtools.MainActivity$7@75c97ca that was originally bound here
07-25 18:50:08.716 E/ActivityThread(15494): android.app.ServiceConnectionLeaked: Activity net.kwatts.powtools.MainActivity has leaked ServiceConnection net.kwatts.powtools.MainActivity$7@75c97ca that was originally bound here
07-25 18:50:08.716 E/ActivityThread(15494):     at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:1532)
07-25 18:50:08.716 E/ActivityThread(15494):     at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:1424)
07-25 18:50:08.716 E/ActivityThread(15494):     at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1605)
07-25 18:50:08.716 E/ActivityThread(15494):     at android.app.ContextImpl.bindService(ContextImpl.java:1557)
07-25 18:50:08.716 E/ActivityThread(15494):     at android.content.ContextWrapper.bindService(ContextWrapper.java:684)
07-25 18:50:08.716 E/ActivityThread(15494):     at net.kwatts.powtools.MainActivity.onCreate(MainActivity.java:273)
07-25 18:50:08.716 E/ActivityThread(15494):     at android.app.Activity.performCreate(Activity.java:6999)
07-25 18:50:08.716 E/ActivityThread(15494):     at android.app.Activity.performCreate(Activity.java:6990)
07-25 18:50:08.716 E/ActivityThread(15494):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
07-25 18:50:08.716 E/ActivityThread(15494):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)
07-25 18:50:08.716 E/ActivityThread(15494):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
07-25 18:50:08.716 E/ActivityThread(15494):     at android.app.ActivityThread.-wrap11(Unknown Source:0)
07-25 18:50:08.716 E/ActivityThread(15494):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
07-25 18:50:08.716 E/ActivityThread(15494):     at android.os.Handler.dispatchMessage(Handler.java:106)
07-25 18:50:08.716 E/ActivityThread(15494):     at android.os.Looper.loop(Looper.java:164)
07-25 18:50:08.716 E/ActivityThread(15494):     at android.app.ActivityThread.main(ActivityThread.java:6494)
07-25 18:50:08.716 E/ActivityThread(15494):     at java.lang.reflect.Method.invoke(Native Method)
07-25 18:50:08.716 E/ActivityThread(15494):     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
07-25 18:50:08.716 E/ActivityThread(15494):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
07-25 18:50:11.430 D/ConnectivityService(  928): requestNetwork for uid/pid:1000/928 NetworkRequest [ REQUEST id=1988, legacyType=3, [ Transports: CELLULAR Capabilities: SUPL&NOT_RESTRICTED&TRUSTED&NOT_VPN] ]
07-25 18:50:11.431 D/ConnectivityService(  928): Sending CONNECTED broadcast for type 3 NetworkAgentInfo [MOBILE (LTE) - 320] isDefaultNetwork=true
07-25 18:50:11.492 D/ConnectivityService(  928): Adding legacy route 0.0.0.123/32 -> 0.0.0.0 rmnet_data0 for UID/PID 1000/928
07-25 18:50:11.495 D/ConnectivityService(  928): requestRouteToHostAddress ok=true
07-25 18:50:12.097 D/ConnectivityService(  928): releasing NetworkRequest [ REQUEST id=1988, legacyType=3, [ Transports: CELLULAR Capabilities: SUPL&NOT_RESTRICTED&TRUSTED&NOT_VPN] ] (release request)
07-25 18:50:12.098 D/ConnectivityService(  928): Sending DISCONNECTED broadcast for type 3 NetworkAgentInfo [MOBILE (LTE) - 320] isDefaultNetwork=false

--

07-25 19:20:17.419 E/NotificationService(  928): Suppressing notification from package by user request.
07-25 19:20:17.560 I/ActivityManager(  928): Killing 15494:net.kwatts.powtools/u0a211 (adj 200): user request after error
07-25 19:20:17.562 W/zygote64(  928): kill(-15494, 9) failed: No such process
07-25 19:20:17.606 W/zygote64(  928): kill(-15494, 9) failed: No such process
07-25 19:20:17.606 W/InputDispatcher(  928): channel 'd2c6a7f net.kwatts.powtools/net.kwatts.powtools.MainActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
07-25 19:20:17.606 E/InputDispatcher(  928): channel 'd2c6a7f net.kwatts.powtools/net.kwatts.powtools.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
07-25 19:20:17.607 I/bt_stack( 9139): [INFO:gatt_api.cc(1271)] GATT_Disconnect conn_id=10
07-25 19:20:17.610 E/BtGatt.ContextMap( 9139): Context not found for ID 10
07-25 19:20:17.613 I/WindowManager(  928): WIN DEATH: Window{d2c6a7f u0 net.kwatts.powtools/net.kwatts.powtools.MainActivity}
07-25 19:20:17.613 W/InputDispatcher(  928): Attempted to unregister already unregistered input channel 'd2c6a7f net.kwatts.powtools/net.kwatts.powtools.MainActivity (server)'
07-25 19:20:17.616 D/NuPlayerDriver(  718): reset(0xee5de980) at state 4
07-25 19:20:17.618 D/NuPlayerDriver(  718): notifyListener_l(0xee5de980), (8, 0, 0, -1), loop setting(0, 0)
07-25 19:20:17.618 W/ActivityManager(  928): Scheduling restart of crashed service net.kwatts.powtools/.services.VibrateService in 14862ms
07-25 19:20:17.618 W/ActivityManager(  928): Scheduling restart of crashed service net.kwatts.powtools/.BluetoothConnectionService in 24862ms
07-25 19:20:17.619 D/NuPlayerDriver(  718): notifyResetComplete(0xee5de980)
07-25 19:20:17.634 D/StreamDBQueue( 3479): Promised revision #143971 to queue a new op
07-25 19:20:17.634 D/BaseStreamManager( 3479): Promised remove @ r#143971 for StreamItemIdAndRevision{notifKey=0|net.kwatts.powtools|1|null|10211, packageName=net.kwatts.powtools, id=1, revision=0, originalRevision=0, updateCount=0} (@143970): SBN removed: StreamItemIdAndRevision{notifKey=0|net.kwatts.powtools|1|null|10211, packageName=net.kwatts.powtools, id=1, revision=0, originalRevision=0, updateCount=0}
07-25 19:20:17.642 D/NewStreamAdapter( 3479): Publishing revision #143971 to adapter clients
07-25 19:20:17.649 W/zygote64(  928): kill(-15494, 9) failed: No such process
07-25 19:20:17.649 I/zygote64(  928): Successfully killed process cgroup uid 10211 pid 15494 in 87ms

--
07-25 19:20:32.454 I/ActivityManager(  928): Displayed net.kwatts.powtools/.MainActivity: +2s770ms
07-25 19:20:32.463 I/BluetoothConnectionService(18440): onUnbind Intent { cmp=net.kwatts.powtools/.BluetoothConnectionService }
07-25 19:20:32.468 E/ActivityThread(18440): Activity net.kwatts.powtools.MainActivity has leaked ServiceConnection net.kwatts.powtools.MainActivity$7@75c97ca that was originally bound here
07-25 19:20:32.468 E/ActivityThread(18440): android.app.ServiceConnectionLeaked: Activity net.kwatts.powtools.MainActivity has leaked ServiceConnection net.kwatts.powtools.MainActivity$7@75c97ca that was originally bound here
07-25 19:20:32.468 E/ActivityThread(18440):     at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:1532)
07-25 19:20:32.468 E/ActivityThread(18440):     at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:1424)
07-25 19:20:32.468 E/ActivityThread(18440):     at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1605)
07-25 19:20:32.468 E/ActivityThread(18440):     at android.app.ContextImpl.bindService(ContextImpl.java:1557)
07-25 19:20:32.468 E/ActivityThread(18440):     at android.content.ContextWrapper.bindService(ContextWrapper.java:684)
07-25 19:20:32.468 E/ActivityThread(18440):     at net.kwatts.powtools.MainActivity.onCreate(MainActivity.java:273)
07-25 19:20:32.468 E/ActivityThread(18440):     at android.app.Activity.performCreate(Activity.java:6999)
07-25 19:20:32.468 E/ActivityThread(18440):     at android.app.Activity.performCreate(Activity.java:6990)
07-25 19:20:32.468 E/ActivityThread(18440):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
07-25 19:20:32.468 E/ActivityThread(18440):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)
07-25 19:20:32.468 E/ActivityThread(18440):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
07-25 19:20:32.468 E/ActivityThread(18440):     at android.app.ActivityThread.-wrap11(Unknown Source:0)
07-25 19:20:32.468 E/ActivityThread(18440):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
07-25 19:20:32.468 E/ActivityThread(18440):     at android.os.Handler.dispatchMessage(Handler.java:106)
07-25 19:20:32.468 E/ActivityThread(18440):     at android.os.Looper.loop(Looper.java:164)
07-25 19:20:32.468 E/ActivityThread(18440):     at android.app.ActivityThread.main(ActivityThread.java:6494)
07-25 19:20:32.468 E/ActivityThread(18440):     at java.lang.reflect.Method.invoke(Native Method)
07-25 19:20:32.468 E/ActivityThread(18440):     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
07-25 19:20:32.468 E/ActivityThread(18440):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
07-25 19:20:32.469 I/GoogleInputMethod( 7476): onFinishInput() : Dummy InputConnection bound
07-25 19:20:32.470 I/GoogleInputMethod( 7476): onStartInput() : Dummy InputConnection bound
07-25 19:20:32.476 D/POWTOOLS(18440): Vibrate Service started

--
07-25 19:24:05.150 I/crash_dump64(19188): performing dump of process 18440 (target tid = 19048)
07-25 19:24:05.151 F/DEBUG   (19188): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
07-25 19:24:05.152 F/DEBUG   (19188): Build fingerprint: 'google/sailfish/sailfish:8.1.0/OPM2.171019.029/4657601:user/release-keys'
07-25 19:24:05.152 F/DEBUG   (19188): Revision: '0'
07-25 19:24:05.152 F/DEBUG   (19188): ABI: 'arm64'
07-25 19:24:05.152 F/DEBUG   (19188): pid: 18440, tid: 19048, name: Binder:18440_6  >>> net.kwatts.powtools <<<
07-25 19:24:05.152 F/DEBUG   (19188): signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
07-25 19:24:05.152 F/DEBUG   (19188):     x0   0000000000000000  x1   0000000000004a68  x2   0000000000000006  x3   0000000000000008
07-25 19:24:05.152 F/DEBUG   (19188):     x4   0000000000000000  x5   0000000000000000  x6   0000000000000000  x7   0000007b359fa400
07-25 19:24:05.152 F/DEBUG   (19188):     x8   0000000000000083  x9   298e722078c03ec2  x10  0000000000000000  x11  ffffffffffffffff
07-25 19:24:05.152 F/DEBUG   (19188):     x12  0000000000000002  x13  0000000000000005  x14  0000000000000000  x15  0000000000000045
07-25 19:24:05.153 F/DEBUG   (19188):     x16  0000005f76592fa8  x17  0000007bd348c430  x18  0000000000000018  x19  0000000000004808
07-25 19:24:05.153 F/DEBUG   (19188):     x20  0000000000004a68  x21  0000000000000083  x22  0000000000000000  x23  0000000000000001
07-25 19:24:05.153 F/DEBUG   (19188):     x24  0000000000000009  x25  ffffff84ca22ff00  x26  0000000000000100  x27  0000000000000000
07-25 19:24:05.153 F/DEBUG   (19188):     x28  0000000012dc01a8  x29  0000007b351fbb40  x30  0000007bd343fa2c
07-25 19:24:05.153 F/DEBUG   (19188):     sp   0000007b351fbb00  pc   0000007bd343fa4c  pstate 0000000060000000
07-25 19:24:05.242 I/WifiService(  928): getWifiEnabledState uid=10037
07-25 19:24:05.467 F/DEBUG   (19188): 
07-25 19:24:05.467 F/DEBUG   (19188): backtrace:
07-25 19:24:05.467 F/DEBUG   (19188):     #00 pc 000000000001da4c  /system/lib64/libc.so (abort+112)
07-25 19:24:05.467 F/DEBUG   (19188):     #01 pc 0000000000577398  /system/lib64/libskia.so (sk_realloc_throw(void*, unsigned long)+40)
07-25 19:24:05.467 F/DEBUG   (19188):     #02 pc 00000000002dae30  /system/lib64/libskia.so (SkPathRef::growForVerb(int, float)+236)
07-25 19:24:05.467 F/DEBUG   (19188):     #03 pc 00000000002d0df4  /system/lib64/libskia.so (SkPath::moveTo(float, float)+88)
07-25 19:24:05.467 F/DEBUG   (19188):     #04 pc 0000000000b3d7e8  /system/framework/arm64/boot-framework.oat (offset 0x611000) (android.graphics.Path.nLineTo [DEDUPED]+168)
07-25 19:24:05.467 F/DEBUG   (19188):     #05 pc 00000000000c4028  /dev/ashmem/dalvik-jit-code-cache (deleted)
07-25 19:24:05.608 I/WifiService(  928): getWifiEnabledState uid=10216
07-25 19:24:05.612 I/WifiService(  928): startScan uid=10216
07-25 19:24:05.620 I/WifiService(  928): getWifiEnabledState uid=10216
07-25 19:24:05.621 E/scan2   (10706): MSG_SCAN_WIFI
07-25 19:24:05.633 I/WifiService(  928): getWifiEnabledState uid=10011
07-25 19:24:05.635 I/WifiService(  928): getConnectionInfo uid=10011
07-25 19:24:05.637 I/WifiService(  928): getWifiEnabledState uid=10011
07-25 19:24:05.640 I/WifiService(  928): getConnectionInfo uid=10011
07-25 19:24:05.641 I/WifiService(  928): getConnectionInfo uid=10011
07-25 19:24:05.643 W/ctxmgr  ( 6404): [AclManager]No 2 for (accnt=account#-517948760#, com.google.android.gms(10011):IndoorOutdoorProducer, vrsn=12874000, 0, 3pPkg = null ,  3pMdlId = null ,  pid = 6404). Was: 3 for 57, account#-517948760#
07-25 19:24:05.645 W/ctxmgr  ( 6440): [AclManager]No 2 for (accnt=account#-517948760#, com.google.android.gms(1010011):IndoorOutdoorProducer, vrsn=12874000, 0, 3pPkg = null ,  3pMdlId = null ,  pid = 6440). Was: 3 for 57, account#-517948760#
07-25 19:24:06.221 I/WifiService(  928): getWifiEnabledState uid=10037
07-25 19:24:06.458 E//system/bin/tombstoned(  733): Tombstone written to: /data/tombstones/tombstone_05
07-25 19:24:06.465 W/ActivityManager(  928):   Force finishing activity net.kwatts.powtools/.MainActivity
07-25 19:24:06.471 I/BootReceiver(  928): Copying /data/tombstones/tombstone_05 to DropBox (SYSTEM_TOMBSTONE)
07-25 19:24:06.483 W/DropBoxManagerService(  928): Dropping: SYSTEM_TOMBSTONE (10 > 0 bytes)
07-25 19:24:06.483 W/DropBoxManagerService(  928): Dropping: data_app_native_crash (1889 > 0 bytes)
07-25 19:24:06.484 I/ActivityManager(  928): Showing crash dialog for package net.kwatts.powtools u0
07-25 19:24:06.485 E/lowmemorykiller(  691): Error writing /proc/18440/oom_score_adj; errno=22
07-25 19:24:06.493 I/WindowManager(  928): WIN DEATH: Window{c606ce5 u0 net.kwatts.powtools/net.kwatts.powtools.MainActivity}
07-25 19:24:06.493 D/NuPlayerDriver(  718): reset(0xecc99e00) at state 4
07-25 19:24:06.493 D/NuPlayerDriver(  718): notifyListener_l(0xecc99e00), (8, 0, 0, -1), loop setting(0, 0)
07-25 19:24:06.495 D/NuPlayerDriver(  718): notifyResetComplete(0xecc99e00)
07-25 19:24:06.497 I/bt_stack( 9139): [INFO:gatt_api.cc(1208)] GATT_CancelConnect: gatt_if=10
07-25 19:24:06.497 I/bt_stack( 9139): [INFO:gatt_api.cc(1271)] GATT_Disconnect conn_id=10
07-25 19:24:06.497 E/BtGatt.ContextMap( 9139): Context not found for ID 10
07-25 19:24:06.501 W/zygote64(  928): kill(-18440, 9) failed: No such process
07-25 19:24:06.504 I/ActivityManager(  928): Process net.kwatts.powtools (pid 18440) has died: vis  +99TOP 
07-25 19:24:06.505 I/bt_stack( 9139): [INFO:gatt_api.cc(1271)] GATT_Disconnect conn_id=11
07-25 19:24:06.507 W/ActivityManager(  928): Scheduling restart of crashed service net.kwatts.powtools/.services.VibrateService in 1000ms
07-25 19:24:06.508 E/BtGatt.ContextMap( 9139): Context not found for ID 11
07-25 19:24:06.508 W/ActivityManager(  928): Scheduling restart of crashed service net.kwatts.powtools/.BluetoothConnectionService in 1000ms
07-25 19:24:06.547 I/Zygote  (  649): Process 18440 exited due to signal (6)
07-25 19:24:06.551 W/zygote64(  928): kill(-18440, 9) failed: No such process
07-25 19:24:06.551 I/zygote64(  928): Successfully killed process cgroup uid 10211 pid 18440 in 50ms
07-25 19:24:06.552 W/ActivityManager(  928): setHasOverlayUi called on unknown pid: 18440
07-25 19:24:06.554 D/StreamDBQueue( 3479): Promised revision #143988 to queue a new op
07-25 19:24:06.554 D/BaseStreamManager( 3479): Promised remove @ r#143988 for StreamItemIdAndRevision{notifKey=0|net.kwatts.powtools|1|null|10211, packageName=net.kwatts.powtools, id=1, revision=0, originalRevision=0, updateCount=0} (@143987): SBN removed: StreamItemIdAndRevision{notifKey=0|net.kwatts.powtools|1|null|10211, packageName=net.kwatts.powtools, id=1, revision=0, originalRevision=0, updateCount=0}
07-25 19:24:06.555 D/NewStreamAdapter( 3479): Publishing revision #143988 to adapter clients
--
07-25 19:25:03.463 I/ActivityManager(  928): Displayed net.kwatts.powtools/.MainActivity: +2s531ms
07-25 19:25:03.468 I/BluetoothConnectionService(19328): onUnbind Intent { cmp=net.kwatts.powtools/.BluetoothConnectionService }
07-25 19:25:03.469 I/GoogleInputMethod( 7476): onStartInput() : Dummy InputConnection bound
07-25 19:25:03.469 I/BluetoothConnectionService(19328): onDestroy
07-25 19:25:03.476 E/ActivityThread(19328): Activity net.kwatts.powtools.MainActivity has leaked ServiceConnection net.kwatts.powtools.MainActivity$7@75c97ca that was originally bound here
07-25 19:25:03.476 E/ActivityThread(19328): android.app.ServiceConnectionLeaked: Activity net.kwatts.powtools.MainActivity has leaked ServiceConnection net.kwatts.powtools.MainActivity$7@75c97ca that was originally bound here
07-25 19:25:03.476 E/ActivityThread(19328):     at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:1532)
07-25 19:25:03.476 E/ActivityThread(19328):     at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:1424)
07-25 19:25:03.476 E/ActivityThread(19328):     at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1605)
07-25 19:25:03.476 E/ActivityThread(19328):     at android.app.ContextImpl.bindService(ContextImpl.java:1557)
07-25 19:25:03.476 E/ActivityThread(19328):     at android.content.ContextWrapper.bindService(ContextWrapper.java:684)
07-25 19:25:03.476 E/ActivityThread(19328):     at net.kwatts.powtools.MainActivity.onCreate(MainActivity.java:273)
07-25 19:25:03.476 E/ActivityThread(19328):     at android.app.Activity.performCreate(Activity.java:6999)
07-25 19:25:03.476 E/ActivityThread(19328):     at android.app.Activity.performCreate(Activity.java:6990)
07-25 19:25:03.476 E/ActivityThread(19328):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
07-25 19:25:03.476 E/ActivityThread(19328):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)
07-25 19:25:03.476 E/ActivityThread(19328):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
07-25 19:25:03.476 E/ActivityThread(19328):     at android.app.ActivityThread.-wrap11(Unknown Source:0)
07-25 19:25:03.476 E/ActivityThread(19328):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
07-25 19:25:03.476 E/ActivityThread(19328):     at android.os.Handler.dispatchMessage(Handler.java:106)
07-25 19:25:03.476 E/ActivityThread(19328):     at android.os.Looper.loop(Looper.java:164)
07-25 19:25:03.476 E/ActivityThread(19328):     at android.app.ActivityThread.main(ActivityThread.java:6494)
07-25 19:25:03.476 E/ActivityThread(19328):     at java.lang.reflect.Method.invoke(Native Method)
07-25 19:25:03.476 E/ActivityThread(19328):     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
07-25 19:25:03.476 E/ActivityThread(19328):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
07-25 19:25:03.482 D/POWTOOLS(19328): Vibrate Service started
07-25 19:27:15.927 E/ActivityManager(  928): ANR in net.kwatts.powtools
07-25 19:27:15.927 E/ActivityManager(  928): PID: 19328
07-25 19:27:15.927 E/ActivityManager(  928): Reason: Broadcast of Intent { act=android.intent.action.TIME_TICK flg=0x50200014 (has extras) }
07-25 19:27:15.927 E/ActivityManager(  928): Load: 11.3 / 10.26 / 8.48
07-25 19:27:15.927 E/ActivityManager(  928): CPU usage from 0ms to 5809ms later (2018-07-25 19:27:10.030 to 2018-07-25 19:27:15.839):
07-25 19:27:15.927 E/ActivityManager(  928):   41% 928/system_server: 22% user + 18% kernel / faults: 3869 minor 31 major
07-25 19:27:15.927 E/ActivityManager(  928):   22% 19328/net.kwatts.powtools: 18% user + 3.7% kernel / faults: 14908 minor
07-25 19:27:15.927 E/ActivityManager(  928):   21% 6404/com.google.android.gms.persistent: 14% user + 6.8% kernel / faults: 1227 minor 1 major
07-25 19:27:15.927 E/ActivityManager(  928):   10% 684/android.hardware.sensors@1.0-service: 3.7% user + 6.8% kernel / faults: 2 minor
07-25 19:27:15.927 E/ActivityManager(  928):   9.9% 18318/net.homepants.rootcat: 7.7% user + 2.2% kernel / faults: 1145 minor 2 major
07-25 19:27:15.927 E/ActivityManager(  928):   9.6% 357/nanohub: 0% user + 9.6% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   6.6% 13367/com.spotify.music: 4.8% user + 1.8% kernel / faults: 1187 minor 84 major
07-25 19:27:15.927 E/ActivityManager(  928):   4.8% 464/logd: 3.7% user + 1% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0.1% 7476/com.google.android.inputmethod.latin: 0.1% user + 0% kernel / faults: 1304 minor 7 major
07-25 19:27:15.927 E/ActivityManager(  928):   3.9% 494/surfaceflinger: 2.2% user + 1.7% kernel / faults: 273 minor 1 major
07-25 19:27:15.927 E/ActivityManager(  928):   3.7% 274/spi6: 0% user + 3.7% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0.3% 721/media.codec: 0.1% user + 0.2% kernel / faults: 2854 minor 4 major
07-25 19:27:15.927 E/ActivityManager(  928):   2.4% 1499/com.android.phone: 1.7% user + 0.6% kernel / faults: 811 minor 1 major
07-25 19:27:15.927 E/ActivityManager(  928):   2.4% 9139/com.android.bluetooth: 1.3% user + 1% kernel / faults: 286 minor
07-25 19:27:15.927 E/ActivityManager(  928):   0% 3350/com.qualcomm.qti.rcsbootstraputil: 0% user + 0% kernel / faults: 1208 minor 4 major
07-25 19:27:15.927 E/ActivityManager(  928):   1.5% 702/kschedfreq:0: 0% user + 1.5% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0% 3366/com.google.SSRestartDetector: 0% user + 0% kernel / faults: 1178 minor 3 major
07-25 19:27:15.927 E/ActivityManager(  928):   1.5% 11756/kschedfreq:2: 0% user + 1.5% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   1.3% 356/irq/472-nanohub: 0% user + 1.3% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   1.3% 1284/com.android.systemui: 0.8% user + 0.5% kernel / faults: 660 minor 2 major
07-25 19:27:15.927 E/ActivityManager(  928):   1.3% 19401/kworker/u8:12: 0% user + 1.3% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   1.2% 7/rcu_preempt: 0% user + 1.2% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   1.2% 709/audioserver: 0.8% user + 0.3% kernel / faults: 74 minor
07-25 19:27:15.927 E/ActivityManager(  928):   1.2% 17347/mdss_fb0: 0% user + 1.2% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0.1% 130/kswapd0: 0% user + 0.1% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   1% 355/irq/478-nanohub: 0% user + 1% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0% 3326/com.android.nfc: 0% user + 0% kernel / faults: 1221 minor 4 major
07-25 19:27:15.927 E/ActivityManager(  928):   1% 16228/kworker/0:3: 0% user + 1% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   1% 17281/kworker/u8:5: 0% user + 1% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0% 3339/com.android.ims.rcsservice: 0% user + 0% kernel / faults: 1002 minor 1 major
07-25 19:27:15.927 E/ActivityManager(  928):   0.8% 11693/kworker/u8:9: 0% user + 0.8% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0.6% 50/smem_native_rpm: 0% user + 0.6% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0.6% 496/android.hardware.graphics.composer@2.1-service: 0.3% user + 0.3% kernel / faults: 32 minor
07-25 19:27:15.927 E/ActivityManager(  928):   0% 715/media.extractor: 0% user + 0% kernel / faults: 1251 minor 1 major
07-25 19:27:15.927 E/ActivityManager(  928):   0% 1475/com.quicinc.cne.CNEService: 0% user + 0% kernel / faults: 927 minor
07-25 19:27:15.927 E/ActivityManager(  928):   0.6% 7936/com.facebook.mlite: 0.5% user + 0.1% kernel / faults: 76 minor
07-25 19:27:15.927 E/ActivityManager(  928):   0.5% 669/android.hardware.audio@2.0-service: 0.1% user + 0.3% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0.5% 670/android.hardware.bluetooth@1.0-service: 0.1% user + 0.3% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0% 1484/com.qualcomm.qti.telephonyservice: 0% user + 0% kernel / faults: 1012 minor 1 major
07-25 19:27:15.927 E/ActivityManager(  928):   0.5% 9250/wcnss_filter: 0% user + 0.5% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0.3% 23/ksoftirqd/2: 0% user + 0.3% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0.3% 29/ksoftirqd/3: 0% user + 0.3% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0.3% 183/msm_serial_hs_0: 0% user + 0.3% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0.3% 683/android.hardware.power@1.1-service.marlin: 0.1% user + 0.1% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0% 733/tombstoned: 0% user + 0% kernel / faults: 3 minor
07-25 19:27:15.927 E/ActivityManager(  928):   0.3% 6440/com.google.android.gms.persistent: 0.3% user + 0% kernel / faults: 25 minor
07-25 19:27:15.927 E/ActivityManager(  928):   0.3% 14798/logcat: 0.1% user + 0.1% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0.3% 17470/kworker/0:4: 0% user + 0.3% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0.3% 31739/com.google.android.googlequicksearchbox:search: 0.1% user + 0.1% kernel / faults: 23 minor
07-25 19:27:15.927 E/ActivityManager(  928):   0.1% 3/ksoftirqd/0: 0% user + 0.1% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0.1% 10/rcuc/0: 0% user + 0.1% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0.1% 17/ksoftirqd/1: 0% user + 0.1% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0% 21/migration/2: 0% user + 0% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0.1% 22/rcuc/2: 0% user + 0.1% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0% 28/rcuc/3: 0% user + 0% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0.1% 178/tty_worker_thre: 0% user + 0.1% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0.1% 184/msm_serial_hs_0: 0% user + 0.1% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0.1% 243/kgsl_worker_thr: 0% user + 0.1% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0.1% 465/servicemanager: 0% user + 0.1% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0% 478/logcat: 0% user + 0% kernel
07-25 19:27:15.927 E/ActivityManager(  928):   0.1% 604/jbd2/sda35-8: 

7-25 19:28:52.617 W/ActivityManager(  928):   Force finishing activity net.kwatts.powtools/.MainActivity
07-25 19:28:52.634 I/ActivityManager(  928): Killing 19328:net.kwatts.powtools/u0a211 (adj 0): user request after error
07-25 19:28:52.636 W/zygote64(  928): kill(-19328, 9) failed: No such process
07-25 19:28:52.666 W/InputDispatcher(  928): channel '2a3233a net.kwatts.powtools/net.kwatts.powtools.MainActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
07-25 19:28:52.667 E/InputDispatcher(  928): channel '2a3233a net.kwatts.powtools/net.kwatts.powtools.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
07-25 19:28:52.669 I/WindowManager(  928): WIN DEATH: Window{2a3233a u0 net.kwatts.powtools/net.kwatts.powtools.MainActivity}
07-25 19:28:52.670 W/InputDispatcher(  928): Attempted to unregister already unregistered input channel '2a3233a net.kwatts.powtools/net.kwatts.powtools.MainActivity (server)'
07-25 19:28:52.672 I/bt_stack( 9139): [INFO:gatt_api.cc(1271)] GATT_Disconnect conn_id=10
07-25 19:28:52.672 W/ActivityManager(  928): Scheduling restart of crashed service net.kwatts.powtools/.BluetoothConnectionService in 1000ms
07-25 19:28:52.673 W/ActivityManager(  928): Scheduling restart of crashed service net.kwatts.powtools/.services.VibrateService in 1000ms
07-25 19:28:52.676 D/NuPlayerDriver(  718): reset(0xecc99e00) at state 4
07-25 19:28:52.676 D/NuPlayerDriver(  718): notifyListener_l(0xecc99e00), (8, 0, 0, -1), loop setting(0, 0)
07-25 19:28:52.677 E/BtGatt.ContextMap( 9139): Context not found for ID 10
07-25 19:28:52.679 W/zygote64(  928): kill(-19328, 9) failed: No such process
07-25 19:28:52.680 D/NuPlayerDriver(  718): notifyResetComplete(0xecc99e00)
07-25 19:28:52.686 D/StreamDBQueue( 3479): Promised revision #143998 to queue a new op
07-25 19:28:52.686 D/BaseStreamManager( 3479): Promised remove @ r#143998 for StreamItemIdAndRevision{notifKey=0|net.kwatts.powtools|1|null|10211, packageName=net.kwatts.powtools, id=1, revision=0, originalRevision=0, updateCount=0} (@143997): SBN removed: StreamItemIdAndRevision{notifKey=0|net.kwatts.powtools|1|null|10211, packageName=net.kwatts.powtools, id=1, revision=0, originalRevision=0, updateCount=0}
audkar commented 6 years ago

Thank you. These looks very promising. Leaking service connection and ANR in the end. I bet it will be very helpful. It's evening in my place. So will try to solve this tomorrow

audkar commented 6 years ago

If I understand correctly then data retrieved via Bluetooth is parsed on the same thread as UI is being drawn. Bluetooth events are not being throttled/dropped. So more data is coming from Bt source then more UI thread gets used and more UI frames gets dropped. Overflown UI thread eventually can't keep up and ANR happens.

I am not sure that this is root cause but this is only bad behavior that I noticed while debugging app. Not many serious memory leak, no duplicate services. Only data parsing is done on Main thread and shit ton of short lived memory objects created.

  1. Did you or anyone else had similar problems previously with ponewheel app? Not particularly with latest version. But in whole history? Similar symptoms to slow/laggy rendering?
  2. Have you tried version without Background service (1 commit before)? Is this problem doesn't exist there?
kwatkins commented 6 years ago

This makes sense - and would explain why the stats card is working - that doesn't go through the UI thread - and the others are choking, because, eh, they do. I don't recall straight up laggy issues in previous releases, but eh, there is the occasional ANR and this is something that we would have to deal with eventually.

Suggested good patterns for what we should move to, handlers, etc?

audkar commented 6 years ago

There are almost infinitive ways how to do this on separate threads. RxJava, Kotlin coroutines, Handlers. That is not the hardest part :)

I see some options we could/should do:

kwatkins commented 6 years ago

@audkar I started to work on this, but quickly found I wasn't gaining much ground. I asynctasked some of the UI thread, and still, there were issues.

In order to continue developing for other features and issues we might have to just bite the bullet and unmerge the changes from master, unless you have better ideas. I think what you did was definitely a step in the right direction and we can continue to work on it via it's own branch, which was one of your options originally. Thoughts?