passwordmaker / android-passwordmaker

Password Maker written for the Android OS
http://passwordmaker.org
GNU General Public License v3.0
16 stars 7 forks source link

Instant crash since 7 Dec update #41

Closed hyperionjrw closed 5 years ago

hyperionjrw commented 5 years ago

My phone is running near stock, Android 9 with the 5th Dec security patch, build no# PPR1.181005.099. Essential phone ph-1.

Since the app was updated to hit the required API level it crashes immediately upon opening. I tried the usual clearing cache, clearing data and reboots all with no change. I've rolled back to Version 2.0.8, the last apk available under releases, and everything works.

jdstapleton commented 5 years ago

It looks like maybe one of the algorithms is no longer supported on android :-/

java.lang.ExceptionInInitializerError: 
  at org.passwordmaker.android.PwmApplication.<init> (PwmApplication.java:60)
  at org.passwordmaker.android.PwmApplication.getInstance (PwmApplication.java:54)
  at org.passwordmaker.android.MainActivity.onCreate (MainActivity.java:57)
  at android.app.Activity.performCreate (Activity.java:7149)
  at android.app.Activity.performCreate (Activity.java:7140)
  at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1288)
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3017)
  at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3172)
  at android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:78)
  at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:108)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:68)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1906)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loop (Looper.java:193)
  at android.app.ActivityThread.main (ActivityThread.java:6863)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:537)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:858)
Caused by: java.lang.RuntimeException: 
  at org.daveware.passwordmaker.Account.createIdSilently (Account.java:197)
  at org.daveware.passwordmaker.Account.<init> (Account.java:83)
  at org.daveware.passwordmaker.Account.makeDefaultAccount (Account.java:63)
  at org.daveware.passwordmaker.AccountManager.makeDefaultAccount (AccountManager.java:43)
  at org.daveware.passwordmaker.AccountManager.<clinit> (AccountManager.java:35)
Caused by: java.security.NoSuchAlgorithmException: 
  at sun.security.jca.Providers.checkBouncyCastleDeprecation (Providers.java:563)
  at sun.security.jca.Providers.checkBouncyCastleDeprecation (Providers.java:330)
  at java.security.MessageDigest.getInstance (MessageDigest.java:261)
  at org.daveware.passwordmaker.Account.createId (Account.java:189)
  at org.daveware.passwordmaker.Account.createIdSilently (Account.java:195)
jdstapleton commented 5 years ago

All of the crashes are android 9 too.

jdstapleton commented 5 years ago

screenshot_2018-12-19 anrs crashes - passwordmaker pro - google play console

jdstapleton commented 5 years ago

Not sure why it gets filtered out but the stack trace is more clear in the emulator: Caused by: java.security.NoSuchAlgorithmException: The BC provider no longer provides an implementation for MessageDigest.SHA1. Please see https://android-developers.googleblog.com/2018/03/cryptography-changes-in-android-p.html for more details.

jdstapleton commented 5 years ago

This is going to be harder than I think for android 9:

I/System.out: Tried MD4 but it is unavailable. no such algorithm: MD4 for provider BC
I/System.out: Tried MD5 but it is unavailable. The BC provider no longer provides an implementation for MessageDigest.MD5.  Please see https://android-developers.googleblog.com/2018/03/cryptography-changes-in-android-p.html for more details.
I/System.out: Tried SHA1 but it is unavailable. The BC provider no longer provides an implementation for MessageDigest.SHA1.  Please see https://android-developers.googleblog.com/2018/03/cryptography-changes-in-android-p.html for more details.
I/System.out: Tried RIPEMD160 but it is unavailable. no such algorithm: RIPEMD160 for provider BC
I/System.out: Tried SHA256 but it is unavailable. The BC provider no longer provides an implementation for MessageDigest.SHA256.  Please see https://android-developers.googleblog.com/2018/03/cryptography-changes-in-android-p.html for more details.
tasermonkey commented 5 years ago

Fixed with version 2.0.11-5b69e3d within the play store. Should be publicly available within a few hours I assume.