nextcloud / nextcloud/notes-android
java.lang.ClassNotFoundException: com.owncloud.android.lib.common.network.CertificateCombinedException
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1.1k
- Forks
- 168
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 31
Description
Please use GitHub reactions 👍 to show that you are affected by the same issue. Please don't comment if you have no relevant information to add!
Describe the bug
During first start of the Notes app on Android (installed via F-Droid) I am prompted to select the nextcloud profile, then whether I accept the access to nextcloud from nextcloud notes and then I get an error. If I close the app and open it again, I end up with the same.
To Reproduce
Steps to reproduce the behavior:
- Open app
- Click 'Select account'
- Select account and press OK
- Allow Nextcloud Notes to access Nextcloud when being prompted
- Then the error pops up
Expected behavior
Connect to Nextcloud and display notes
Screenshots
Smartphone (please complete the following information):
see Stacktrace output
Server
- Nextcloud version: 25.0.9
- Nextcloud Notes version (server app): 4.8.1
Stacktrace
App Version: 4.1.0 RC1
App Version Code: 40010051
App Flavor: fdroid
Files App Version Code: 30250090 (PROD)
---
OS Version: 3.18.91-19497840-QB54396082(G930FXXU8EVG3)
OS API Level: 26
Device: herolte
Manufacturer: samsung
Model (and Product): SM-G930F (heroltexx)
---
java.lang.ClassNotFoundException: com.owncloud.android.lib.common.network.CertificateCombinedException
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:453)
at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:629)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1616)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1521)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1777)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1354)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2003)
at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:504)
at java.lang.Throwable.readObject(Throwable.java:907)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1006)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1903)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1804)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1354)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:374)
at com.nextcloud.android.sso.api.AidlNetworkRequest.deserializeObjectV2(AidlNetworkRequest.java:245)
at com.nextcloud.android.sso.api.AidlNetworkRequest.performNetworkRequestV2(AidlNetworkRequest.java:183)
at com.nextcloud.android.sso.api.NextcloudAPI.performNetworkRequestV2(NextcloudAPI.java:171)
at com.nextcloud.android.sso.api.NextcloudAPI.lambda$performRequestObservableV2$0$com-nextcloud-android-sso-api-NextcloudAPI(NextcloudAPI.java:113)
at com.nextcloud.android.sso.api.NextcloudAPI$$ExternalSyntheticLambda0.subscribe(Unknown Source:6)
at io.reactivex.internal.operators.observable.ObservableFromPublisher.subscribeActual(ObservableFromPublisher.java:31)
at io.reactivex.Observable.subscribe(Observable.java:12284)
at io.reactivex.internal.operators.observable.ObservableSingleMaybe.subscribeActual(ObservableSingleMaybe.java:31)
at io.reactivex.Maybe.subscribe(Maybe.java:4290)
at io.reactivex.Maybe.blockingGet(Maybe.java:2320)
at io.reactivex.Observable.blockingSingle(Observable.java:5381)
at it.niedermann.owncloud.notes.persistence.CapabilitiesClient.getCapabilities(CapabilitiesClient.java:32)
at it.niedermann.owncloud.notes.importaccount.ImportAccountActivity.lambda$onActivityResult$5$it-niedermann-owncloud-notes-importaccount-ImportAccountActivity(ImportAccountActivity.java:96)
at it.niedermann.owncloud.notes.importaccount.ImportAccountActivity$$ExternalSyntheticLambda2.run(Unknown Source:4)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.owncloud.android.lib.common.network.CertificateCombinedException" on path: DexPathList[[zip file "/data/app/it.niedermann.owncloud.notes-a7VdT6L0DDV5OTaoSHAtMg==/base.apk"],nativeLibraryDirectories=[/data/app/it.niedermann.owncloud.notes-a7VdT6L0DDV5OTaoSHAtMg==/lib/arm64, /system/lib64, /system/vendor/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
... 35 more
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at CapabilitiesClient.java:32 and ImportAccountActivity.java:96, then trace the AidlNetworkRequest.deserializeObjectV2 stack frames shown in the report. Reproduce the first-start account flow with the F-Droid build and inspect the reported missing exception class. Done means the app completes account setup and displays notes without this ClassNotFoundException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, java
- Domain
- api, mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100