google/mobly-bundled-snippets

App crash while executing clean up functionality.

phaniranjan opened this issue · 6 comments

App crash while executing clean up functionality.

Stack Trace:

[SampleTestBed] 08-01 09:24:24.006 ERROR Failed to stop service "snippets".: <AndroidDevice|TE630A2ZM16101724> Failed to stop existing apk. Unexpected output: SNIPPET START, PROTOCOL 1 0

Process crashed before executing the test(s):
java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/jvm/internal/Lambda;
at androidx.test.platform.io.FileTestStorage.(FileTestStorage.java:45)
at androidx.test.runner.AndroidJUnitRunner.registerTestStorage(AndroidJUnitRunner.java:664)
at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:441)
at com.google.android.mobly.snippet.SnippetRunner.onStart(SnippetRunner.java:139)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2196)
Caused by: java.lang.ClassNotFoundException: Didn't find class "kotlin.jvm.internal.Lambda" on path: DexPathList[[zip file "/data/app/com.google.android.mobly.snippet.bundled-vJW7Lks7eh1YfxKG6Nsi0A==/base.apk"],nativeLibraryDirectories=[/data/app/com.google.android.mobly.snippet.bundled-vJW7Lks7eh1YfxKG6Nsi0A==/lib/arm, /system/lib, /product/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
... 5 more
INSTRUMENTATION_RESULT: shortMsg=Process crashed.
INSTRUMENTATION_CODE: 0
.
Traceback (most recent call last):
File "C:\Users\Phani.Ranjan.AD\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\mobly\expects.py", line 152, in expect_no_raises
yield
File "C:\Users\Phani.Ranjan.AD\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\mobly\controllers\android_device_lib\service_manager.py", line 204, in stop_all
service.stop()
File "C:\Users\Phani.Ranjan.AD\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\mobly\controllers\android_device_lib\services\snippet_management_service.py", line 116, in stop
client.stop()
File "C:\Users\Phani.Ranjan.AD\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\mobly\controllers\android_device_lib\snippet_client_v2.py", line 575, in stop
self._stop_server()
File "C:\Users\Phani.Ranjan.AD\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\mobly\controllers\android_device_lib\snippet_client_v2.py", line 623, in _stop_server
raise android_device_lib_errors.DeviceError(
mobly.controllers.android_device_lib.errors.DeviceError: <AndroidDevice|TE630A2ZM16101724> Failed to stop existing apk. Unexpected output: SNIPPET START, PROTOCOL 1 0

Process crashed before executing the test(s):
java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/jvm/internal/Lambda;
at androidx.test.platform.io.FileTestStorage.(FileTestStorage.java:45)
at androidx.test.runner.AndroidJUnitRunner.registerTestStorage(AndroidJUnitRunner.java:664)
at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:441)
at com.google.android.mobly.snippet.SnippetRunner.onStart(SnippetRunner.java:139)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2196)
Caused by: java.lang.ClassNotFoundException: Didn't find class "kotlin.jvm.internal.Lambda" on path: DexPathList[[zip file "/data/app/com.google.android.mobly.snippet.bundled-vJW7Lks7eh1YfxKG6Nsi0A==/base.apk"],nativeLibraryDirectories=[/data/app/com.google.android.mobly.snippet.bundled-vJW7Lks7eh1YfxKG6Nsi0A==/lib/arm, /system/lib, /product/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
... 5 more
INSTRUMENTATION_RESULT: shortMsg=Process crashed.
INSTRUMENTATION_CODE: 0

Test Logs:
test_log.zip

Attached Logcat logs: MBS_AppCrash_Logcat.log

--------- beginning of crash
2023-08-01 14:48:51.309 30355-30391 AndroidJUnitRunner com...android.mobly.snippet.bundled D Use the raw file system for managing file I/O.
2023-08-01 14:48:51.328 30355-30391 AndroidRuntime com...android.mobly.snippet.bundled E FATAL EXCEPTION: Instr: com.google.android.mobly.snippet.SnippetRunner
Process: com.google.android.mobly.snippet.bundled, PID: 30355
java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/jvm/internal/Lambda;
at androidx.test.platform.io.FileTestStorage.(FileTestStorage.java:45)
at androidx.test.runner.AndroidJUnitRunner.registerTestStorage(AndroidJUnitRunner.java:664)
at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:441)
at com.google.android.mobly.snippet.SnippetRunner.onStart(SnippetRunner.java:139)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2196)
Caused by: java.lang.ClassNotFoundException: Didn't find class "kotlin.jvm.internal.Lambda" on path: DexPathList[[zip file "/data/app/com.google.android.mobly.snippet.bundled-Llnm2jvJYPEv3_aTJQHXDA==/base.apk"],nativeLibraryDirectories=[/data/app/com.google.android.mobly.snippet.bundled-Llnm2jvJYPEv3_aTJQHXDA==/lib/arm, /system/lib, /product/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at androidx.test.platform.io.FileTestStorage.(FileTestStorage.java:45) 
at androidx.test.runner.AndroidJUnitRunner.registerTestStorage(AndroidJUnitRunner.java:664) 
at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:441) 
at com.google.android.mobly.snippet.SnippetRunner.onStart(SnippetRunner.java:139) 
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2196) 
2023-08-01 14:48:51.332 30355-30391 MonitoringInstr com...android.mobly.snippet.bundled D Handling an uncaught exception thrown on the thread Instr: com.google.android.mobly.snippet.SnippetRunner.
java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/jvm/internal/Lambda;
at androidx.test.platform.io.FileTestStorage.(FileTestStorage.java:45)
at androidx.test.runner.AndroidJUnitRunner.registerTestStorage(AndroidJUnitRunner.java:664)
at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:441)
at com.google.android.mobly.snippet.SnippetRunner.onStart(SnippetRunner.java:139)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2196)
Caused by: java.lang.ClassNotFoundException: Didn't find class "kotlin.jvm.internal.Lambda" on path: DexPathList[[zip file "/data/app/com.google.android.mobly.snippet.bundled-Llnm2jvJYPEv3_aTJQHXDA==/base.apk"],nativeLibraryDirectories=[/data/app/com.google.android.mobly.snippet.bundled-Llnm2jvJYPEv3_aTJQHXDA==/lib/arm, /system/lib, /product/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at androidx.test.platform.io.FileTestStorage.(FileTestStorage.java:45) 
at androidx.test.runner.AndroidJUnitRunner.registerTestStorage(AndroidJUnitRunner.java:664) 
at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:441) 
at com.google.android.mobly.snippet.SnippetRunner.onStart(SnippetRunner.java:139) 
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2196) 
2023-08-01 14:48:51.336 30355-30391 AndroidJUnitRunner com...android.mobly.snippet.bundled W An unhandled exception was thrown by the app.
java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/jvm/internal/Lambda;
at androidx.test.platform.io.FileTestStorage.(FileTestStorage.java:45)
at androidx.test.runner.AndroidJUnitRunner.registerTestStorage(AndroidJUnitRunner.java:664)
at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:441)
at com.google.android.mobly.snippet.SnippetRunner.onStart(SnippetRunner.java:139)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2196)
Caused by: java.lang.ClassNotFoundException: Didn't find class "kotlin.jvm.internal.Lambda" on path: DexPathList[[zip file "/data/app/com.google.android.mobly.snippet.bundled-Llnm2jvJYPEv3_aTJQHXDA==/base.apk"],nativeLibraryDirectories=[/data/app/com.google.android.mobly.snippet.bundled-Llnm2jvJYPEv3_aTJQHXDA==/lib/arm, /system/lib, /product/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at androidx.test.platform.io.FileTestStorage.(FileTestStorage.java:45) 
at androidx.test.runner.AndroidJUnitRunner.registerTestStorage(AndroidJUnitRunner.java:664) 
at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:441) 
at com.google.android.mobly.snippet.SnippetRunner.onStart(SnippetRunner.java:139) 
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2196) 
2023-08-01 14:48:51.348 30355-30391 AndroidJUnitRunner com...android.mobly.snippet.bundled D Reporting the crash to an event service.
2023-08-01 14:48:51.348 30355-30391 TestEventClient com...android.mobly.snippet.bundled W Process crashed before connection to orchestrator
2023-08-01 14:48:51.348 30355-30391 AndroidJUnitRunner com...android.mobly.snippet.bundled I Bringing down the entire Instrumentation process.

Thanks @xpconanfan Issue is due to missing kotlin/jvm/internal/Lambda class from Kotlin standard library while loading. Adding implementation dependency in gradle.build solves the problem.

implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10'

Q: Can i make this change and submit for review to checkin https://github.com/google/mobly-bundled-snippets/blob/master/build.gradle?

I had the same problem, and with the fix from phaniranjan, it works. Thanks!

Woah! this thing works!
I'll raise a PR to mobly-bundled-snippets

Thanks!