Assigned
Status Update
Comments
ge...@gmail.com <ge...@gmail.com> #2
Do you have a repro project that you could share with us?
There should be no need to excluding any dependencies: we automatically remove them from the test APK if they are in the main APK.
There should be no need to excluding any dependencies: we automatically remove them from the test APK if they are in the main APK.
ad...@google.com <ad...@google.com>
ad...@google.com <ad...@google.com>
ae...@google.com <ae...@google.com> #3
This has not been updated in over 1 year so is being closed. Please reopen as neccesary.
Description
Version used:
Devices/Android versions reproduced on: Firebase Test Lab - Virtual Device - Nexus 5x - API 24 - EN - Portrait
Reopening issue from this previous issue here.
Our tests are now failing when running with the androidx Orchestrator and it appears that the service is being garbage collected or killed.
The OrchestratedInstrumentationListener code does not trigger a reconnect to the service on disconnect, and this makes tests fail if the service is killed. The code should be update to block (with timeout) if there is no service connection instead of just dying immediately to handle this.
We are running our tests through Bitrise CI which uses Firebase Test Lab to run tests.
Note: the logcat output after a test runs:
12-04 11:45:59.103: I/MonitoringInstr(18884): Activities that are still in CREATED to STOPPED: 1
12-04 11:45:59.103: I/MonitoringInstr(18884): Unstopped activity count: 1
12-04 11:45:59.128: D/FirebasePerformance(18884): sendScreenTrace name:_st_PdfActivity _fr_tot:118 _fr_slo:110 _fr_fzn:19
12-04 11:45:59.129: W/FirebaseRemoteConfig(18884): No value of type 'String' exists for parameter key 'sessions_max_length_minutes'.
12-04 11:45:59.129: W/FirebaseRemoteConfig(18884): No value of type 'String' exists for parameter key 'sessions_max_length_minutes'.
12-04 11:45:59.129: W/FirebaseRemoteConfig(18884): No value of type 'String' exists for parameter key 'sessions_max_length_minutes'.
12-04 11:45:59.131: D/LifecycleMonitor(18884): Lifecycle status change: com.vividseats.android.activities.PdfActivity@2130594 in: STOPPED
12-04 11:45:59.132: D/LifecycleMonitor(18884): Lifecycle status change: com.vividseats.android.activities.PdfActivity@2130594 in: DESTROYED
12-04 11:45:59.133: I/BranchSDK(18884): posting to
12-04 11:45:59.133: I/BranchSDK(18884): Post value = {"device_fingerprint_id":"730806709928582826","identity_id":"730583320408669949","session_id":"730814271286422167","app_version":"152.0","hardware_id":"d08fb94c-4926-4469-bc44-917ca2813c6b","is_hardware_id_real":false,"brand":"unknown","model":"GCE x86 phone","screen_dpi":420,"screen_height":1794,"screen_width":1080,"wifi":false,"ui_mode":"UI_MODE_TYPE_NORMAL","os":"Android","os_version":24,"language":"en","local_ip":"192.168.1.10","metadata":{},"instrumentation":{"v1\/close-qwt":"2","v1\/profile-brtt":"184"},"sdk":"android2.19.3","branch_key":"key_test_knqaaurMnVKh9ZmEmRuWtnansymnmKsg"}
12-04 11:45:59.136: I/Appboy v3.8.0 .com.appboy.Appboy(18884): Closed session with ID: 52c8d2d9-aa0e-4609-b98c-5a35f6cda4d2
12-04 11:45:59.141: I/GceGrallocRegionRegistry(1404): Unmapped gralloc-1404.2186 hnd=0xa5161480 fd=50 base=0x9fa86000
12-04 11:45:59.141: I/GceGrallocRegionRegistry(1404): Mapped gralloc-1404.2189 hnd=0xa5161480 fd=32 base=0xa4306000 format=RGBA_8888(0x1) width=1080 height=1920
12-04 11:45:59.141: I/GceGrallocRegionRegistry(5559): Mapped gralloc-1404.2189 hnd=0x92b58440 fd=40 base=0x91186000 format=RGBA_8888(0x1) width=1080 height=1920
12-04 11:45:59.153: E/TestRunner(18884): failed: Test mechanism
12-04 11:45:59.153: E/TestRunner(18884): ----- begin exception -----
12-04 11:45:59.153: E/TestRunner(18884): java.lang.IllegalStateException: Unable to send notification, callback is null
12-04 11:45:59.153: E/TestRunner(18884): at androidx.test.orchestrator.instrumentationlistener.OrchestratedInstrumentationListener.sendTestNotification(OrchestratedInstrumentationListener.java:163)
12-04 11:45:59.153: E/TestRunner(18884): at androidx.test.orchestrator.instrumentationlistener.OrchestratedInstrumentationListener.testFinished(OrchestratedInstrumentationListener.java:124)
12-04 11:45:59.153: E/TestRunner(18884): at org.junit.runner.notification.SynchronizedRunListener.testFinished(SynchronizedRunListener.java:56)
12-04 11:45:59.153: E/TestRunner(18884): at org.junit.runner.notification.RunNotifier$7.notifyListener(RunNotifier.java:190)
12-04 11:45:59.153: E/TestRunner(18884): at org.junit.runner.notification.RunNotifier$SafeNotifier.run(RunNotifier.java:72)
12-04 11:45:59.153: E/TestRunner(18884): at org.junit.runner.notification.RunNotifier.fireTestFinished(RunNotifier.java:187)
12-04 11:45:59.153: E/TestRunner(18884): at org.junit.internal.runners.model.EachTestNotifier.fireTestFinished(EachTestNotifier.java:38)
12-04 11:45:59.153: E/TestRunner(18884): at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:331)
12-04 11:45:59.153: E/TestRunner(18884): at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
12-04 11:45:59.153: E/TestRunner(18884): at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
12-04 11:45:59.153: E/TestRunner(18884): at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
12-04 11:45:59.153: E/TestRunner(18884): at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
12-04 11:45:59.153: E/TestRunner(18884): at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
12-04 11:45:59.153: E/TestRunner(18884): at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
12-04 11:45:59.153: E/TestRunner(18884): at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
12-04 11:45:59.153: E/TestRunner(18884): at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
12-04 11:45:59.153: E/TestRunner(18884): at androidx.test.ext.junit.runners.AndroidJUnit4.run(AndroidJUnit4.java:104)
12-04 11:45:59.153: E/TestRunner(18884): at org.junit.runners.Suite.runChild(Suite.java:128)
12-04 11:45:59.153: E/TestRunner(18884): at org.junit.runners.Suite.runChild(Suite.java:27)
12-04 11:45:59.153: E/TestRunner(18884): at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
12-04 11:45:59.153: E/TestRunner(18884): at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
12-04 11:45:59.153: E/TestRunner(18884): at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
12-04 11:45:59.153: E/TestRunner(18884): at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
12-04 11:45:59.153: E/TestRunner(18884): at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
12-04 11:45:59.153: E/TestRunner(18884): at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
12-04 11:45:59.153: E/TestRunner(18884): at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
12-04 11:45:59.153: E/TestRunner(18884): at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
12-04 11:45:59.153: E/TestRunner(18884): at androidx.test.internal.runner.TestExecutor.execute(TestExecutor.java:56)
12-04 11:45:59.153: E/TestRunner(18884): at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:392)
12-04 11:45:59.153: E/TestRunner(18884): at com.vividseats.android.junit.runner.JUnitTestRunner.onStart(JUnitTestRunner.kt:40)
12-04 11:45:59.153: E/TestRunner(18884): at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1932)
12-04 11:45:59.153: E/TestRunner(18884): ----- end exception -----
12-04 11:45:59.154: I/TestRunner(18884): run finished: 1 tests, 1 failed, 0 ignored
12-04 11:45:59.154: E/TestRunner(18884): failed: Test mechanism
12-04 11:45:59.154: E/TestRunner(18884): ----- begin exception -----
12-04 11:45:59.154: E/TestRunner(18884): java.lang.IllegalStateException: Unable to send notification, callback is null
12-04 11:45:59.154: E/TestRunner(18884): at androidx.test.orchestrator.instrumentationlistener.OrchestratedInstrumentationListener.sendTestNotification(OrchestratedInstrumentationListener.java:163)
12-04 11:45:59.154: E/TestRunner(18884): at androidx.test.orchestrator.instrumentationlistener.OrchestratedInstrumentationListener.testRunFinished(OrchestratedInstrumentationListener.java:104)
12-04 11:45:59.154: E/TestRunner(18884): at org.junit.runner.notification.SynchronizedRunListener.testRunFinished(SynchronizedRunListener.java:42)
12-04 11:45:59.154: E/TestRunner(18884): at org.junit.runner.notification.RunNotifier$2.notifyListener(RunNotifier.java:103)
12-04 11:45:59.154: E/TestRunner(18884): at org.junit.runner.notification.RunNotifier$SafeNotifier.run(RunNotifier.java:72)
12-04 11:45:59.154: E/TestRunner(18884): at org.junit.runner.notification.RunNotifier.fireTestRunFinished(RunNotifier.java:100)
12-04 11:45:59.154: E/TestRunner(18884): at org.junit.runner.JUnitCore.run(JUnitCore.java:138)
12-04 11:45:59.154: E/TestRunner(18884): at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
12-04 11:45:59.154: E/TestRunner(18884): at androidx.test.internal.runner.TestExecutor.execute(TestExecutor.java:56)
12-04 11:45:59.154: E/TestRunner(18884): at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:392)
12-04 11:45:59.154: E/TestRunner(18884): at com.vividseats.android.junit.runner.JUnitTestRunner.onStart(JUnitTestRunner.kt:40)
12-04 11:45:59.154: E/TestRunner(18884): at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1932)
12-04 11:45:59.154: E/TestRunner(18884): ----- end exception -----
Attached is a bug report from the test run as well and followed this note
(Note: Please upload the files to google drive and share the folder to android-bugreport@google.com, then share the link here.)