Closed mikehardy closed 4 years ago
Irritatingly it is the addition of robolectric in commit 60659f1b98a4f64f7e09d2084dffc439239c7272
I'm fine with JDK8 but I pay attention to forward-porting blockers. There is some work upstream to demonstrate the failure, hopefully resulting in a fix - https://github.com/robolectric/deckard/pull/121
This is still failing, but after upgrading to current Robolectric, the failure has migrated to an error with the PKCS store as initialized from OkHTTP in the Google Analytics dependency.
java.lang.NullPointerException: No password supplied for PKCS#12 KeyStore.
at org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.engineLoad(Unknown Source)
at java.base/java.security.KeyStore.load(KeyStore.java:1479)
at java.base/sun.security.ssl.TrustStoreManager$TrustAnchorManager.loadKeyStore(TrustStoreManager.java:367)
at java.base/sun.security.ssl.TrustStoreManager$TrustAnchorManager.getTrustedCerts(TrustStoreManager.java:315)
at java.base/sun.security.ssl.TrustStoreManager.getTrustedCerts(TrustStoreManager.java:59)
at java.base/sun.security.ssl.TrustManagerFactoryImpl.engineInit(TrustManagerFactoryImpl.java:51)
at java.base/javax.net.ssl.TrustManagerFactory.init(TrustManagerFactory.java:278)
at okhttp3.internal.Util.platformTrustManager(Util.java:666)
at okhttp3.OkHttpClient.<init>(OkHttpClient.java:257)
at okhttp3.OkHttpClient$Builder.build(OkHttpClient.java:1040)
at com.brsanthu.googleanalytics.httpclient.OkHttpClientImpl.createHttpClient(OkHttpClientImpl.java:78)
at com.brsanthu.googleanalytics.httpclient.OkHttpClientImpl.<init>(OkHttpClientImpl.java:36)
at com.ichi2.anki.analytics.UsageAnalytics.initialize(UsageAnalytics.java:65)
at com.ichi2.anki.AnalyticsTest.setUp(AnalyticsTest.java:101)
Attempting to switch to the Conscrypt library may fix it but was unsuccessful (and also would likely add more weight to the .apk)
@mikehardy do we want to close this?
I'd like to leave it open though the Priority-Low tag is correct. I don't see why using JDKs > 8 just to compile should fail, and eventually I'll puzzle it out (or someone else will)
I'm on OpenJDK 11 and it builds fine for me here on 10.14, but I might not be tracking 100% of what you're saying either :)
On Wed, Sep 18, 2019 at 9:29 AM Mike Hardy notifications@github.com wrote:
I'd like to leave it open though the Priority-Low tag is correct. I don't see why using JDKs > 8 just to compile should fail, and eventually I'll puzzle it out (or someone else will)
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ankidroid/Anki-Android/issues/5088?email_source=notifications&email_token=AAAIWYM5RLROM5DCCPWHD6LQKI3K5A5CNFSM4GBRM5PKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7AIKSY#issuecomment-532710731, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAIWYLBDUBHIWJUTQSMD4LQKI3K5ANCNFSM4GBRM5PA .
Hmm - I just checked the release cadence for JDKs and it looks like JDK10 was a non-LTS version (long term support) and is already sunsetted, so perhaps the issue (and build matrix for .travis.yml) should move to JDK11, and as long as that passes (seems like it would according to you?) then yeah, we can close
Reproduction Steps
java -fullversion
)./gradlew clean test --parallel
Expected Result
All unit tests pass
Actual Result
Something like the snippet below.
Note that using JDK1.8 / Java 8 works fine - but Java 10 should work (and used to work?). I'll bisect the recent changes when I get a chance to figure out what happened, in the meantime this will hopefully serve as fair warning for people