parity-signer icon indicating copy to clipboard operation
parity-signer copied to clipboard

Android - the app crashes after `unlock the app` screen

Open prybalko opened this issue 1 year ago • 5 comments

Tested on Mi A1

I/Choreographer: Skipped 37 frames!  The application may be doing too much work on its main thread.
D/ProfileInstaller: Installing profile for io.parity.signer
D/navigation: initial unlock screen opened
D/navigation: main rust-handled screen navigation subgraph opened
D/strongbox available:: false
E/ENCRY: io.parity.signer.PolkadotVaultApp@3b8543b AndroidKeyStore MasterKey{keyAlias=_androidx_security_master_key_, isKeyStoreBacked=true}
W/o.parity.signe: Accessing hidden field Ljava/nio/Buffer;->address:J (light greylist, reflection)
W/AndroidKeystoreAesGcm: encountered a potentially transient KeyStore error, will wait and retry
    java.security.InvalidKeyException: Keystore operation failed
        at android.security.KeyStore.getInvalidKeyException(KeyStore.java:912)
        at android.security.KeyStore.getInvalidKeyException(KeyStore.java:937)
        at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
        at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
        at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
        at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
        at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
        at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
        at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
        at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
        at javax.crypto.Cipher.init(Cipher.java:1143)
        at javax.crypto.Cipher.init(Cipher.java:1084)
        at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encryptInternal(AndroidKeystoreAesGcm.java:84)
        at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:68)
        at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:259)
        at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:175)
        at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
        at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:237)
        at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:165)
        at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:130)
        at androidx.security.crypto.EncryptedSharedPreferencesKt.EncryptedSharedPreferences(EncryptedSharedPreferences.kt:39)
        at io.parity.signer.domain.storage.SeedStorage.init(SeedStorage.kt:78)
        at io.parity.signer.domain.SharedViewModel.totalRefresh(SharedViewModel.kt:78)
        at io.parity.signer.domain.SharedViewModel$1.invoke(SharedViewModel.kt:26)
        at io.parity.signer.domain.SharedViewModel$1.invoke(SharedViewModel.kt:25)
        at io.parity.signer.domain.Authentication$authenticate$1.onAuthenticationSucceeded(Authentication.kt:99)
        at androidx.biometric.BiometricFragment$9.run(BiometricFragment.java:907)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6762)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
     Caused by: android.security.KeyStoreException: Invalid user authentication validity duration
        at android.security.KeyStore.getKeyStoreException(KeyStore.java:846)
        at android.security.KeyStore.getInvalidKeyException(KeyStore.java:937) 
        at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54) 
        at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89) 
        at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265) 
        at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109) 
        at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984) 
        at javax.crypto.Cipher.tryCombinations(Cipher.java:2891) 
        at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796) 
        at javax.crypto.Cipher.chooseProvider(Cipher.java:773) 
        at javax.crypto.Cipher.init(Cipher.java:1143) 
        at javax.crypto.Cipher.init(Cipher.java:1084) 
        at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encryptInternal(AndroidKeystoreAesGcm.java:84) 
        at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:68) 
        at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:259) 
        at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:175) 
        at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268) 
        at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:237) 
        at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:165) 
        at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:130) 
        at androidx.security.crypto.EncryptedSharedPreferencesKt.EncryptedSharedPreferences(EncryptedSharedPreferences.kt:39) 
        at io.parity.signer.domain.storage.SeedStorage.init(SeedStorage.kt:78) 
        at io.parity.signer.domain.SharedViewModel.totalRefresh(SharedViewModel.kt:78) 
        at io.parity.signer.domain.SharedViewModel$1.invoke(SharedViewModel.kt:26) 
        at io.parity.signer.domain.SharedViewModel$1.invoke(SharedViewModel.kt:25) 
        at io.parity.signer.domain.Authentication$authenticate$1.onAuthenticationSucceeded(Authentication.kt:99) 
        at androidx.biometric.BiometricFragment$9.run(BiometricFragment.java:907) 
        at android.os.Handler.handleCallback(Handler.java:873) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at android.os.Looper.loop(Looper.java:193) 
        at android.app.ActivityThread.main(ActivityThread.java:6762) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 
D/AndroidRuntime: Shutting down VM

prybalko avatar Mar 02 '23 08:03 prybalko