Skip to content

App crash while opening E2EE subfolder #17694

Description

@matejc

⚠️ Before posting ⚠️

  • This is a bug, not a question or an enhancement.
  • I've searched for similar issues and didn't find a duplicate.
  • I've written a clear and descriptive title for this issue, not just "Bug" or "Crash".
  • I agree to follow Nextcloud's Code of Conduct.

Steps to reproduce

  1. Created Storage Share Hetzner instance
  2. Enable E2E app in browser
  3. Login and create an E2E folder in Linux desktop client: /Private
  4. Add files and folders inside ~/Nextcloud/Private/...
  5. Install and open Nextcloud Android app
  6. I can see Private folder with a key symbol, it says 0 B for some reason
  7. I open Private folder (I enter mnemonic when prompted)
  8. I see all folders and files inside Private (all folders say 0 B, except the files)
  9. I can open and see the content of files (Private -> image.png)
  10. When I press on any folder, the app crashes:

Cause of error

Exception in thread "main" java.lang.NullPointerException: Attempt to invoke interface method 'java.util.Iterator java.lang.Iterable.iterator()' on a null object reference
    at com.nextcloud.utils.e2ee.E2EEKeyInspector.decryptsMetadataV2(E2EEKeyInspector.kt:117)
    at com.nextcloud.utils.e2ee.E2EEKeyInspector.access$decryptsMetadataV2(E2EEKeyInspector.kt:33)
    at com.nextcloud.utils.e2ee.E2EEKeyInspector$canDecryptFolderMetadata$2.invokeSuspend(E2EEKeyInspector.kt:105)
    at com.nextcloud.utils.e2ee.E2EEKeyInspector$canDecryptFolderMetadata$2.invoke(E2EEKeyInspector.kt:8)
    at com.nextcloud.utils.e2ee.E2EEKeyInspector$canDecryptFolderMetadata$2.invoke(E2EEKeyInspector.kt:4)
    at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatched(Undispatched.kt:66)
    at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:43)
    at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:497)
    at kotlinx.coroutines.BuildersKt.withContext(dex-id-9e0b1687ed506aa331b8e1c93a1337b6b72f4b70:1)
    at com.nextcloud.utils.e2ee.E2EEKeyInspector.canDecryptFolderMetadata(E2EEKeyInspector.kt:86)
    at com.nextcloud.utils.e2ee.E2EEActionResolver$checkFolderMetadataKey$2.invokeSuspend(E2EEActionResolver.kt:44)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
    at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:124)
    at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:798)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)

App information

  • ID: com.nextcloud.client
  • Version: 350000090
  • Build flavor: gplay

Device information

  • Brand: Fairphone
  • Device: FP6
  • Model: Fairphone 6
  • Id: FP6.QREL.16.100.0
  • Product: FP6

Firmware

  • SDK: 36
  • Release: 16
  • Incremental: WS1M

Expected behaviour

To open the subfolder (of E2E enabled folder) as it does in browser (when I enter mnemonic)

Actual behaviour

It crashes instantly on trying to open a subfolder of E2E folder

Android version

16

Device brand and model

Fairphone 6

Stock or custom OS?

Stock

Nextcloud android app version

350000090

Nextcloud server version

Nextcloud Hub 26 Winter

Using a reverse proxy?

No

Android logs

No response

Server error logs

Not sure if I have access on Hetzner Storage Share

Additional information

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions