iterable-android-sdk
iterable-android-sdk copied to clipboard
Started Seeing Crashes after upgrading to 3.4.10
Started seeing these crashes after upgrading to iterable SDK to the 3.4.10. Both are thrown when initialising the IterableAPI component. it affects about 0.03% of users that updated to the new version (the version with updated SDK was released on December 1st)
first one
~11 users,
~28 total crashes
mostly Galaxy S22
and Galaxy S22 Ultra
devices, and few Pixel 6/7
Caused by com.google.crypto.tink.shaded.protobuf.InvalidProtocolBufferException: Protocol message contained an invalid tag (zero).
at com.google.crypto.tink.shaded.protobuf.GeneratedMessageLite.parsePartialFrom(GeneratedMessageLite.java:1566)
at com.google.crypto.tink.shaded.protobuf.GeneratedMessageLite.parseFrom(GeneratedMessageLite.java:1664)
at com.google.crypto.tink.proto.Keyset.parseFrom(Keyset.java:957)
at com.google.crypto.tink.integration.android.SharedPrefKeysetReader.read(SharedPrefKeysetReader.java:84)
at com.google.crypto.tink.CleartextKeysetHandle.read(CleartextKeysetHandle.java:58)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.read(AndroidKeysetManager.java:328)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewKeyset(AndroidKeysetManager.java:287)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:238)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:123)
at com.iterable.iterableapi.IterableKeychain.<init>(IterableKeychain.kt:20)
at com.iterable.iterableapi.IterableApi.getKeychain(IterableApi.java:138)
at com.iterable.iterableapi.IterableApi.migrateAuthDataFromSharedPrefsToKeychain(IterableApi.java:392)
at com.iterable.iterableapi.IterableApi.updateSDKVersion(IterableApi.java:380)
at com.iterable.iterableapi.IterableApi.initialize(IterableApi.java:556)
at app.dogo.com.dogo_android.di.AppModuleKt$appModule$1$47.invoke(appModule.kt:233)
at app.dogo.com.dogo_android.di.AppModuleKt$appModule$1$47.invoke(appModule.kt:229)
at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:54)
at org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46)
at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53)
at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:51)
at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:20)
at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:111)
at org.koin.core.scope.Scope.resolveValue(Scope.kt:255)
at org.koin.core.scope.Scope.resolveInstance(Scope.kt:242)
at org.koin.core.scope.Scope.get(Scope.kt:205)
at org.koin.core.scope.Scope.get$default(Scope.java:131)
at app.dogo.com.dogo_android.service.App.onCreate(App.kt:150)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1211)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7588)
at android.app.ActivityThread.access$1700(ActivityThread.java:315)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2286)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8751)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
Second ~2 users, ~10 total crashes all in the background
Caused by java.security.KeyStoreException: the master key android-keystore://_androidx_security_master_key_ exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:275)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:236)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:123)
at com.iterable.iterableapi.IterableKeychain.<init>(IterableKeychain.kt:20)
at com.iterable.iterableapi.IterableApi.getKeychain(IterableApi.java:138)
at com.iterable.iterableapi.IterableApi.migrateAuthDataFromSharedPrefsToKeychain(IterableApi.java:392)
at com.iterable.iterableapi.IterableApi.updateSDKVersion(IterableApi.java:380)
at com.iterable.iterableapi.IterableApi.initialize(IterableApi.java:556)
at app.dogo.com.dogo_android.di.AppModuleKt$appModule$1$47.invoke(appModule.kt:233)
at app.dogo.com.dogo_android.di.AppModuleKt$appModule$1$47.invoke(appModule.kt:229)
at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:54)
at org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46)
at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53)
at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:51)
at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:20)
at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:51)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:111)
at org.koin.core.scope.Scope.resolveValue(Scope.kt:255)
at org.koin.core.scope.Scope.resolveInstance(Scope.kt:242)
at org.koin.core.scope.Scope.get(Scope.kt:205)
at org.koin.core.scope.Scope.get$default(Scope.java:131)
at app.dogo.com.dogo_android.service.App.onCreate(App.kt:150)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1024)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5579)
at android.app.ActivityThread.-wrap2(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1671)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:203)
at android.app.ActivityThread.main(ActivityThread.java:6327)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1063)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:924)