GMapsParser icon indicating copy to clipboard operation
GMapsParser copied to clipboard

Crash when Navigation is running and I debug the app

Open lohith8099 opened this issue 4 years ago • 2 comments

Hi,

Found a peculiar issue.. When I was debugging the app and navigation was running in the background. I got the following error.

E/System: Unable to open zip file: /data/app/~~tQvvGfApcgrQx_pLXYIBhw==/com.blinkvisa.bikeydashboard-DMIbvcuzQou2GOSNpFvTcg==/base.apk E/System: java.io.FileNotFoundException: /data/app/~~tQvvGfApcgrQx_pLXYIBhw==/com.blinkvisa.bikeydashboard-DMIbvcuzQou2GOSNpFvTcg==/base.apk (No such file or directory) at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.(ZipFile.java:265) at java.util.zip.ZipFile.(ZipFile.java:187) at java.util.jar.JarFile.(JarFile.java:169) at java.util.jar.JarFile.(JarFile.java:106) at libcore.io.ClassPathURLStreamHandler.(ClassPathURLStreamHandler.java:46) at dalvik.system.DexPathList$Element.maybeInit(DexPathList.java:751) at dalvik.system.DexPathList$Element.findResource(DexPathList.java:778) at dalvik.system.DexPathList.findResources(DexPathList.java:573) at dalvik.system.BaseDexClassLoader.findResources(BaseDexClassLoader.java:259) at java.lang.ClassLoader.getResources(ClassLoader.java:839) at java.util.ServiceLoader$LazyIterator.hasNextService(ServiceLoader.java:349) at java.util.ServiceLoader$LazyIterator.hasNext(ServiceLoader.java:402) at java.util.ServiceLoader$1.hasNext(ServiceLoader.java:488) at kotlin.collections.CollectionsKt___CollectionsKt.toCollection(_Collections.kt:1263) at kotlin.collections.CollectionsKt___CollectionsKt.toMutableList(_Collections.kt:1296) at kotlin.collections.CollectionsKt___CollectionsKt.toList(_Collections.kt:1287) at kotlin.reflect.jvm.internal.impl.resolve.OverridingUtil.(OverridingUtil.java:45) at kotlin.reflect.jvm.internal.impl.resolve.OverridingUtil.createWithTypeRefiner(Unknown Source:0) at kotlin.reflect.jvm.internal.impl.types.checker.NewKotlinTypeCheckerImpl.(NewKotlinTypeChecker.kt:75) at kotlin.reflect.jvm.internal.impl.types.checker.NewKotlinTypeChecker$Companion.(NewKotlinTypeChecker.kt:69) at kotlin.reflect.jvm.internal.impl.types.checker.NewKotlinTypeChecker.(Unknown Source:0) at kotlin.reflect.jvm.internal.impl.descriptors.runtime.components.RuntimeModuleDataKt.makeLazyJavaPackageFragmentFromClassLoaderProvider(RuntimeModuleData.kt:121) at kotlin.reflect.jvm.internal.impl.descriptors.runtime.components.RuntimeModuleDataKt.makeLazyJavaPackageFragmentFromClassLoaderProvider$default(RuntimeModuleData.kt:111) at kotlin.reflect.jvm.internal.impl.descriptors.runtime.components.RuntimeModuleData$Companion.create(RuntimeModuleData.kt:69) at kotlin.reflect.jvm.internal.ModuleByClassLoaderKt.getOrCreateModule(moduleByClassLoader.kt:58) at kotlin.reflect.jvm.internal.KDeclarationContainerImpl$Data$moduleData$2.invoke(KDeclarationContainerImpl.kt:37) at kotlin.reflect.jvm.internal.KDeclarationContainerImpl$Data$moduleData$2.invoke(KDeclarationContainerImpl.kt:34) at kotlin.reflect.jvm.internal.ReflectProperties$LazySoftVal.invoke(ReflectProperties.java:92) at kotlin.reflect.jvm.internal.ReflectProperties$Val.getValue(ReflectProperties.java:31) at kotlin.reflect.jvm.internal.KDeclarationContainerImpl$Data.getModuleData(Unknown Source:7) at kotlin.reflect.jvm.internal.KClassImpl$Data$descriptor$2.invoke(KClassImpl.kt:50) at kotlin.reflect.jvm.internal.KClassImpl$Data$descriptor$2.invoke(KClassImpl.kt:47) at kotlin.reflect.jvm.internal.ReflectProperties$LazySoftVal.invoke(ReflectProperties.java:92) at kotlin.reflect.jvm.internal.ReflectProperties$Val.getValue(ReflectProperties.java:31) at kotlin.reflect.jvm.internal.KClassImpl$Data.getDescriptor(Unknown Source:7) at kotlin.reflect.jvm.internal.KClassImpl.getDescriptor(KClassImpl.kt:182) at kotlin.reflect.jvm.internal.KClassImpl.getMemberScope$kotlin_reflection(KClassImpl.kt:191) at kotlin.reflect.jvm.internal.KClassImpl$Data$declaredNonStaticMembers$2.invoke(KClassImpl.kt:162) at kotlin.reflect.jvm.internal.KClassImpl$Data$declaredNonStaticMembers$2.invoke(KClassImpl.kt:47) at kotlin.reflect.jvm.internal.ReflectProperties$LazySoftVal.invoke(ReflectProperties.java:92) at kotlin.reflect.jvm.internal.ReflectProperties$Val.getValue(ReflectProperties.java:31) at kotlin.reflect.jvm.internal.KClassImpl$Data.getDeclaredNonStaticMembers(Unknown Source:8) at kotlin.reflect.jvm.internal.KClassImpl$Data$allNonStaticMembers$2.invoke(KClassImpl.kt:171) at kotlin.reflect.jvm.internal.KClassImpl$Data$allNonStaticMembers$2.invoke(KClassImpl.kt:47) at kotlin.reflect.jvm.internal.ReflectProperties$LazySoftVal.invoke(ReflectProperties.java:92) at kotlin.reflect.jvm.internal.ReflectProperties$Val.getValue(ReflectProperties.java:31) at kotlin.reflect.jvm.internal.KClassImpl$Data.getAllNonStaticMembers(Unknown Source:8) at kotlin.reflect.jvm.internal.KClassImpl$Data$allMembers$2.invoke(KClassImpl.kt:177) at kotlin.reflect.jvm.internal.KClassImpl$Data$allMembers$2.invoke(KClassImpl.kt:47) at kotlin.reflect.jvm.internal.ReflectProperties$LazySoftVal.invoke(ReflectProperties.java:92) at kotlin.reflect.jvm.internal.ReflectProperties$Val.getValue(ReflectProperties.java:31) at kotlin.reflect.jvm.internal.KClassImpl$Data.getAllMembers(Unknown Source:8) at kotlin.reflect.jvm.internal.KClassImpl.getMembers(KClassImpl.kt:195) at me.trevi.navparser.lib.MutableContent.equals(IntrospectionUtils.kt:17) at me.trevi.navparser.lib.NavigationData.equals(NavigationData.kt:130) at kotlin.jvm.internal.Intrinsics.areEqual(Intrinsics.java:167) at me.trevi.navparser.service.NavigationListener$handleGoogleNotification$1.invokeSuspend(NavigationListener.kt:140) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:246) at android.app.ActivityThread.main(ActivityThread.java:8425) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:596) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130) E/AndroidRuntime: FATAL EXCEPTION: main Process: com.blinkvisa.bikeydashboard, PID: 11540 java.lang.AssertionError: Can't find built-in class kotlin.Any at kotlin.reflect.jvm.internal.impl.builtins.KotlinBuiltIns.getBuiltInClassByFqName(KotlinBuiltIns.java:207) at kotlin.reflect.jvm.internal.impl.builtins.jvm.JavaToKotlinClassMapper.mapJavaToKotlin(JavaToKotlinClassMapper.kt:41) at kotlin.reflect.jvm.internal.impl.builtins.jvm.JavaToKotlinClassMapper.mapJavaToKotlin$default(JavaToKotlinClassMapper.kt:37) at kotlin.reflect.jvm.internal.impl.load.java.lazy.types.JavaTypeResolver.mapKotlinClass(JavaTypeResolver.kt:161) at kotlin.reflect.jvm.internal.impl.load.java.lazy.types.JavaTypeResolver.computeTypeConstructor(JavaTypeResolver.kt:135) at kotlin.reflect.jvm.internal.impl.load.java.lazy.types.JavaTypeResolver.computeSimpleJavaClassifierType(JavaTypeResolver.kt:117) at kotlin.reflect.jvm.internal.impl.load.java.lazy.types.JavaTypeResolver.transformJavaClassifierType(JavaTypeResolver.kt:93) at kotlin.reflect.jvm.internal.impl.load.java.lazy.types.JavaTypeResolver.transformJavaType(JavaTypeResolver.kt:52) at kotlin.reflect.jvm.internal.impl.load.java.lazy.descriptors.LazyJavaClassDescriptor$LazyJavaClassTypeConstructor.computeSupertypes(LazyJavaClassDescriptor.kt:199) at kotlin.reflect.jvm.internal.impl.types.AbstractTypeConstructor$supertypes$1.invoke(AbstractTypeConstructor.kt:80) at kotlin.reflect.jvm.internal.impl.types.AbstractTypeConstructor$supertypes$1.invoke(AbstractTypeConstructor.kt:26) at kotlin.reflect.jvm.internal.impl.storage.LockBasedStorageManager$LockBasedLazyValue.invoke(LockBasedStorageManager.java:375) at kotlin.reflect.jvm.internal.impl.storage.LockBasedStorageManager$LockBasedLazyValueWithPostCompute.invoke(LockBasedStorageManager.java:448) at kotlin.reflect.jvm.internal.impl.storage.LockBasedStorageManager$LockBasedNotNullLazyValueWithPostCompute.invoke(LockBasedStorageManager.java:479) at kotlin.reflect.jvm.internal.impl.types.AbstractTypeConstructor.getSupertypes(AbstractTypeConstructor.kt:27) at kotlin.reflect.jvm.internal.impl.types.AbstractTypeConstructor.getSupertypes(AbstractTypeConstructor.kt:26) at kotlin.reflect.jvm.internal.impl.load.java.lazy.descriptors.LazyJavaClassMemberScope.computePropertyNames(LazyJavaClassMemberScope.kt:765) at kotlin.reflect.jvm.internal.impl.load.java.lazy.descriptors.LazyJavaScope$propertyNamesLazy$2.invoke(LazyJavaScope.kt:264) at kotlin.reflect.jvm.internal.impl.load.java.lazy.descriptors.LazyJavaScope$propertyNamesLazy$2.invoke(LazyJavaScope.kt:59) at kotlin.reflect.jvm.internal.impl.storage.LockBasedStorageManager$LockBasedLazyValue.invoke(LockBasedStorageManager.java:375) at kotlin.reflect.jvm.internal.impl.storage.LockBasedStorageManager$LockBasedNotNullLazyValue.invoke(LockBasedStorageManager.java:494) at kotlin.reflect.jvm.internal.impl.storage.StorageKt.getValue(storage.kt:42) at kotlin.reflect.jvm.internal.impl.load.java.lazy.descriptors.LazyJavaScope.getPropertyNamesLazy(Unknown Source:7) at kotlin.reflect.jvm.internal.impl.load.java.lazy.descriptors.LazyJavaScope.getVariableNames(LazyJavaScope.kt:268) at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedClassDescriptor$DeserializedClassMemberScope.getNonDeclaredVariableNames(DeserializedClassDescriptor.kt:307) at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedMemberScope$OptimizedImplementation$variableNames$2.invoke(DeserializedMemberScope.kt:273) at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedMemberScope$OptimizedImplementation$variableNames$2.invoke(DeserializedMemberScope.kt:239) at kotlin.reflect.jvm.internal.impl.storage.LockBasedStorageManager$LockBasedLazyValue.invoke(LockBasedStorageManager.java:375) at kotlin.reflect.jvm.internal.impl.storage.LockBasedStorageManager$LockBasedNotNullLazyValue.invoke(LockBasedStorageManager.java:494) E/AndroidRuntime: at kotlin.reflect.jvm.internal.impl.storage.StorageKt.getValue(storage.kt:42) at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedMemberScope$OptimizedImplementation.getVariableNames(Unknown Source:7) at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedMemberScope$OptimizedImplementation.addFunctionsAndPropertiesTo(DeserializedMemberScope.kt:360) at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedMemberScope.computeDescriptors(DeserializedMemberScope.kt:126) at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedClassDescriptor$DeserializedClassMemberScope$allDescriptors$1.invoke(DeserializedClassDescriptor.kt:227) at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedClassDescriptor$DeserializedClassMemberScope$allDescriptors$1.invoke(DeserializedClassDescriptor.kt:220) at kotlin.reflect.jvm.internal.impl.storage.LockBasedStorageManager$LockBasedLazyValue.invoke(LockBasedStorageManager.java:375) at kotlin.reflect.jvm.internal.impl.storage.LockBasedStorageManager$LockBasedNotNullLazyValue.invoke(LockBasedStorageManager.java:494) at kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedClassDescriptor$DeserializedClassMemberScope.getContributedDescriptors(DeserializedClassDescriptor.kt:237) at kotlin.reflect.jvm.internal.impl.resolve.scopes.ResolutionScope$DefaultImpls.getContributedDescriptors$default(ResolutionScope.kt:52) at kotlin.reflect.jvm.internal.KDeclarationContainerImpl.getMembers(KDeclarationContainerImpl.kt:57) at kotlin.reflect.jvm.internal.KClassImpl$Data$declaredNonStaticMembers$2.invoke(KClassImpl.kt:162) at kotlin.reflect.jvm.internal.KClassImpl$Data$declaredNonStaticMembers$2.invoke(KClassImpl.kt:47) at kotlin.reflect.jvm.internal.ReflectProperties$LazySoftVal.invoke(ReflectProperties.java:92) at kotlin.reflect.jvm.internal.ReflectProperties$Val.getValue(ReflectProperties.java:31) at kotlin.reflect.jvm.internal.KClassImpl$Data.getDeclaredNonStaticMembers(Unknown Source:8) at kotlin.reflect.jvm.internal.KClassImpl$Data$allNonStaticMembers$2.invoke(KClassImpl.kt:171) at kotlin.reflect.jvm.internal.KClassImpl$Data$allNonStaticMembers$2.invoke(KClassImpl.kt:47) at kotlin.reflect.jvm.internal.ReflectProperties$LazySoftVal.invoke(ReflectProperties.java:92) at kotlin.reflect.jvm.internal.ReflectProperties$Val.getValue(ReflectProperties.java:31) at kotlin.reflect.jvm.internal.KClassImpl$Data.getAllNonStaticMembers(Unknown Source:8) at kotlin.reflect.jvm.internal.KClassImpl$Data$allMembers$2.invoke(KClassImpl.kt:177) at kotlin.reflect.jvm.internal.KClassImpl$Data$allMembers$2.invoke(KClassImpl.kt:47) at kotlin.reflect.jvm.internal.ReflectProperties$LazySoftVal.invoke(ReflectProperties.java:92) at kotlin.reflect.jvm.internal.ReflectProperties$Val.getValue(ReflectProperties.java:31) at kotlin.reflect.jvm.internal.KClassImpl$Data.getAllMembers(Unknown Source:8) at kotlin.reflect.jvm.internal.KClassImpl.getMembers(KClassImpl.kt:195) at me.trevi.navparser.lib.MutableContent.equals(IntrospectionUtils.kt:17) at me.trevi.navparser.lib.NavigationData.equals(NavigationData.kt:130) at kotlin.jvm.internal.Intrinsics.areEqual(Intrinsics.java:167) at me.trevi.navparser.service.NavigationListener$handleGoogleNotification$1.invokeSuspend(NavigationListener.kt:140) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:246) at android.app.ActivityThread.main(ActivityThread.java:8425) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:596) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)

lohith8099 avatar Mar 06 '21 22:03 lohith8099

Mhmhm weird, so it seems to crash at https://github.com/3v1n0/GMapsParser/blob/master/navparser/src/main/java/me/trevi/navparser/lib/IntrospectionUtils.kt#L17-L22

Can you maybe try to see what member is iterating? In case you can also disable the @Mutable annotations in NavigationData.kt to use the native equality checker, it may lead to notifying changes to the timestamp only though.

3v1n0 avatar Mar 08 '21 16:03 3v1n0

Another option is to see how it does work for you when using the repo at commit 57a943139c089d3aad9d2a3714aeabd9a9ceac8b (first one not using MutableContent type).

3v1n0 avatar Mar 08 '21 16:03 3v1n0