openatx / uiautomator2

Android Uiautomator2 Python Wrapper
MIT License
6.34k stars 1.37k forks source link

app crashes with IntentReceiverLeaked and IllegalStateException #222

Closed gamesguru closed 3 months ago

gamesguru commented 5 years ago

Uiautomation keeps working. Our app is crashing after this, and I'm not sure it is our app just crashing or something wrong with uiautomation.

I found one report of same issue on Appium uiautomator2: https://gist.github.com/vikramvi/829edd8b04f79f186329ad6d80e9f1fe

09-18 21:08:38.987  3926  3926 E ActivityThread: Service com.github.uiautomator.Service has leaked IntentReceiver com.github.uiautomator.monitor.BatteryMonitor$1@94c314a that was originally registered here. Are you missing a call to unregisterReceiver()?
09-18 21:08:38.987  3926  3926 E ActivityThread: android.app.IntentReceiverLeaked: Service com.github.uiautomator.Service has leaked IntentReceiver com.github.uiautomator.monitor.BatteryMonitor$1@94c314a that was originally registered here. Are you missing a call to unregisterReceiver()?
09-18 21:08:38.987  3926  3926 E ActivityThread:    at android.app.LoadedApk$ReceiverDispatcher.<init>(LoadedApk.java:918)
09-18 21:08:38.987  3926  3926 E ActivityThread:    at android.app.LoadedApk.getReceiverDispatcher(LoadedApk.java:719)
09-18 21:08:38.987  3926  3926 E ActivityThread:    at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1172)
09-18 21:08:38.987  3926  3926 E ActivityThread:    at android.app.ContextImpl.registerReceiver(ContextImpl.java:1152)
09-18 21:08:38.987  3926  3926 E ActivityThread:    at android.app.ContextImpl.registerReceiver(ContextImpl.java:1146)
09-18 21:08:38.987  3926  3926 E ActivityThread:    at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:554)
09-18 21:08:38.987  3926  3926 E ActivityThread:    at com.github.uiautomator.monitor.BatteryMonitor.register(BatteryMonitor.java:40)
09-18 21:08:38.987  3926  3926 E ActivityThread:    at com.github.uiautomator.monitor.AbstractMonitor.<init>(AbstractMonitor.java:17)
09-18 21:08:38.987  3926  3926 E ActivityThread:    at com.github.uiautomator.monitor.BatteryMonitor.<init>(BatteryMonitor.java:21)
09-18 21:08:38.987  3926  3926 E ActivityThread:    at com.github.uiautomator.Service.onCreate(Service.java:53)
09-18 21:08:38.987  3926  3926 E ActivityThread:    at android.app.ActivityThread.handleCreateService(ActivityThread.java:2877)
09-18 21:08:38.987  3926  3926 E ActivityThread:    at android.app.ActivityThread.-wrap4(ActivityThread.java)
09-18 21:08:38.987  3926  3926 E ActivityThread:    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1427)
09-18 21:08:38.987  3926  3926 E ActivityThread:    at android.os.Handler.dispatchMessage(Handler.java:102)
09-18 21:08:38.987  3926  3926 E ActivityThread:    at android.os.Looper.loop(Looper.java:148)
09-18 21:08:38.987  3926  3926 E ActivityThread:    at android.app.ActivityThread.main(ActivityThread.java:5417)
09-18 21:08:38.987  3926  3926 E ActivityThread:    at java.lang.reflect.Method.invoke(Native Method)
09-18 21:08:38.987  3926  3926 E ActivityThread:    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:742)
09-18 21:08:38.987  3926  3926 E ActivityThread:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:632)
--------- beginning of crash
09-18 21:08:38.999  3926  3940 E AndroidRuntime: FATAL EXCEPTION: Instr: android.support.test.runner.AndroidJUnitRunner
09-18 21:08:38.999  3926  3940 E AndroidRuntime: Process: com.github.uiautomator, PID: 3926
09-18 21:08:38.999  3926  3940 E AndroidRuntime: java.lang.IllegalStateException: UiAutomation not connected!
09-18 21:08:38.999  3926  3940 E AndroidRuntime:    at android.app.UiAutomation.throwIfNotConnectedLocked(UiAutomation.java:971)
09-18 21:08:38.999  3926  3940 E AndroidRuntime:    at android.app.UiAutomation.disconnect(UiAutomation.java:237)
09-18 21:08:38.999  3926  3940 E AndroidRuntime:    at android.app.Instrumentation.finish(Instrumentation.java:199)
09-18 21:08:38.999  3926  3940 E AndroidRuntime:    at android.support.test.runner.MonitoringInstrumentation.finish(MonitoringInstrumentation.java:277)
09-18 21:08:38.999  3926  3940 E AndroidRuntime:    at android.support.test.runner.AndroidJUnitRunner.finish(AndroidJUnitRunner.java:282)
09-18 21:08:38.999  3926  3940 E AndroidRuntime:    at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:271)
09-18 21:08:38.999  3926  3940 E AndroidRuntime:    at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1879)
09-18 21:08:39.008   575  1571 W ActivityManager: Error in app com.github.uiautomator running instrumentation ComponentInfo{com.github.uiautomator.test/android.support.test.runner.AndroidJUnitRunner}:
09-18 21:08:39.008   575  1571 W ActivityManager:   java.lang.IllegalStateException
09-18 21:08:39.008   575  1571 W ActivityManager:   java.lang.IllegalStateException: UiAutomation not connected!
09-18 21:08:39.009   575  1571 I ActivityManager: Force stopping com.github.uiautomator appid=10050 user=0: finished inst
09-18 21:08:39.009   575   720 W ActivityManager: Error shutting down UiAutomationConnection
09-18 21:08:39.012   575  1571 I ActivityManager: Killing 3926:com.github.uiautomator/u0a50 (adj 0): stop com.github.uiautomator

What happens on our app after this? This comes about 10-15 seconds later in the logcat and no idea why.

09-18 21:28:15.545  1574  1574 F libc    : Fatal signal 6 (SIGABRT), code -6 in tid 1574 (com.lci1.one)
09-18 21:28:15.660   162   162 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
09-18 21:28:15.660   162   162 F DEBUG   : Build fingerprint: 'Allwinner/astar_d7/astar-d7:6.0.1/MOB30R/20180917:eng/test-keys'
09-18 21:28:15.660   162   162 F DEBUG   : Revision: '0'
09-18 21:28:15.660   162   162 F DEBUG   : ABI: 'arm'
09-18 21:28:15.660   162   162 F DEBUG   : pid: 1574, tid: 1574, name: com.lci1.one  >>> com.lci1.one <<<
09-18 21:28:15.661   162   162 F DEBUG   : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
09-18 21:28:15.770   162   162 F DEBUG   : Abort message: 'art/runtime/indirect_reference_table.cc:65] JNI ERROR (app bug): see above.'
09-18 21:28:15.770   162   162 F DEBUG   :     r0 00000000  r1 00000626  r2 00000006  r3 b6f5bb7c
09-18 21:28:15.770   162   162 F DEBUG   :     r4 b6f5bb84  r5 b6f5bb34  r6 00000002  r7 0000010c
09-18 21:28:15.770   162   162 F DEBUG   :     r8 b4cbf800  r9 b4cbde44  sl 87af4ddb  fp b4ca3858
09-18 21:28:15.771   162   162 F DEBUG   :     ip 00000006  sp beda9938  lr b6ccbedd  pc b6cce2cc  cpsr 400f0010

0.1.4dev40

gamesguru commented 5 years ago

Got a related logcat "cannot call disconnect() while connecting!"


09-19 09:17:58.520  1381  1402 E AndroidRuntime: Process: com.github.uiautomator, PID: 1381
09-19 09:17:58.520  1381  1402 E AndroidRuntime: java.lang.IllegalStateException: Cannot call disconnect() while connecting!
09-19 09:17:58.520  1381  1402 E AndroidRuntime:    at android.app.UiAutomation.disconnect(UiAutomation.java:225)
09-19 09:17:58.520  1381  1402 E AndroidRuntime:    at android.app.Instrumentation.finish(Instrumentation.java:193)
09-19 09:17:58.520  1381  1402 E AndroidRuntime:    at android.support.test.runner.MonitoringInstrumentation.finish(MonitoringInstrumentation.java:277)
09-19 09:17:58.520  1381  1402 E AndroidRuntime:    at android.support.test.runner.AndroidJUnitRunner.finish(AndroidJUnitRunner.java:282)
09-19 09:17:58.520  1381  1402 E AndroidRuntime:    at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:271)
09-19 09:17:58.520  1381  1402 E AndroidRuntime:    at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1701)
09-19 09:17:58.530   440   739 W ActivityManager: Error in app com.github.uiautomator running instrumentation ComponentInfo{com.github.uiautomator.test/android.support.test.runner.AndroidJUnitRunner}:
09-19 09:17:58.530   440   739 W ActivityManager:   java.lang.IllegalStateException
09-19 09:17:58.530   440   739 W ActivityManager:   java.lang.IllegalStateException: Cannot call disconnect() while connecting!
09-19 09:17:58.530  1381  1381 E ActivityThread: Service com.github.uiautomator.Service has leaked IntentReceiver com.github.uiautomator.monitor.BatteryMonitor$1@418eb678 that was originally registered here. Are you missing a call to unregisterReceiver()?
09-19 09:17:58.530  1381  1381 E ActivityThread: android.app.IntentReceiverLeaked: Service com.github.uiautomator.Service has leaked IntentReceiver com.github.uiautomator.monitor.BatteryMonitor$1@418eb678 that was originally registered here. Are you missing a call to unregisterReceiver()?
09-19 09:17:58.530  1381  1381 E ActivityThread:    at android.app.LoadedApk$ReceiverDispatcher.<init>(LoadedApk.java:810)
09-19 09:17:58.530  1381  1381 E ActivityThread:    at android.app.LoadedApk.getReceiverDispatcher(LoadedApk.java:606)
09-19 09:17:58.530  1381  1381 E ActivityThread:    at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1430)
09-19 09:17:58.530  1381  1381 E ActivityThread:    at android.app.ContextImpl.registerReceiver(ContextImpl.java:1410)
09-19 09:17:58.530  1381  1381 E ActivityThread:    at android.app.ContextImpl.registerReceiver(ContextImpl.java:1404)
09-19 09:17:58.530  1381  1381 E ActivityThread:    at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:467)
09-19 09:17:58.530  1381  1381 E ActivityThread:    at com.github.uiautomator.monitor.BatteryMonitor.register(BatteryMonitor.java:40)
09-19 09:17:58.530  1381  1381 E ActivityThread:    at com.github.uiautomator.monitor.AbstractMonitor.<init>(AbstractMonitor.java:17)
09-19 09:17:58.530  1381  1381 E ActivityThread:    at com.github.uiautomator.monitor.BatteryMonitor.<init>(BatteryMonitor.java:21)
09-19 09:17:58.530  1381  1381 E ActivityThread:    at com.github.uiautomator.Service.onCreate(Service.java:53)
09-19 09:17:58.530  1381  1381 E ActivityThread:    at android.app.ActivityThread.handleCreateService(ActivityThread.java:2572)
09-19 09:17:58.530  1381  1381 E ActivityThread:    at android.app.ActivityThread.access$1800(ActivityThread.java:135)
09-19 09:17:58.530  1381  1381 E ActivityThread:    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
09-19 09:17:58.530  1381  1381 E ActivityThread:    at android.os.Handler.dispatchMessage(Handler.java:102)
09-19 09:17:58.530  1381  1381 E ActivityThread:    at android.os.Looper.loop(Looper.java:136)
09-19 09:17:58.530  1381  1381 E ActivityThread:    at android.app.ActivityThread.main(ActivityThread.java:5017)
09-19 09:17:58.530  1381  1381 E ActivityThread:    at java.lang.reflect.Method.invokeNative(Native Method)
09-19 09:17:58.530  1381  1381 E ActivityThread:    at java.lang.reflect.Method.invoke(Method.java:515)
09-19 09:17:58.530  1381  1381 E ActivityThread:    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
09-19 09:17:58.530  1381  1381 E ActivityThread:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
09-19 09:17:58.530  1381  1381 E ActivityThread:    at dalvik.system.NativeStart.main(Native Method)
09-19 09:17:58.550   440   739 I ActivityManager: Force stopping com.github.uiautomator appid=10057 user=0: finished inst
09-19 09:17:58.550   440   739 I ActivityManager: Killing 1381:com.github.uiautomator/u0a57 (adj 0): stop com.github.uiautomator```
codeskyblue commented 5 years ago

报下具体的手机型号

gamesguru commented 5 years ago

Allwinner astar_d7-eng tablet v6.0rc3, 6.0.1/MOB30R.. sun8i/armeabi-v7a

stale[bot] commented 5 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

codeskyblue commented 3 months ago

The battery monitor has removed