Skip to content

Nextcloud crashes sometimes when clicking on Media tab #17160

@MystikReasons

Description

@MystikReasons

⚠️ 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

This issue does not happen every time

  1. Open Nextcloud
  2. Click on the Media tab
  3. Crashes

Expected behaviour

  1. Open Nextcloud
  2. Click on the Media tab
  3. No crash, view of your photos loading

Actual behaviour

Sometimes when switching to the "media" tab it crashes automatically.

Android version

16

Device brand and model

Samsung Galaxy S24 Ultra

Stock or custom OS?

Stock

Nextcloud android app version

34.0.0

Nextcloud server version

v33.0.5

Using a reverse proxy?

Yes

Android logs

Cause of error

Exception in thread "main" java.lang.UnsupportedOperationException: Operation is not supported for read-only collection
    at kotlin.collections.EmptyList.add(Collections.kt:4)
    at com.owncloud.android.ui.adapter.OCFileListAdapter.bindListItemViewHolder(OCFileListAdapter.java:610)
    at com.owncloud.android.ui.adapter.OCFileListAdapter.bindHolder(OCFileListAdapter.java:502)
    at com.owncloud.android.ui.adapter.OCFileListAdapter.onBindViewHolder(OCFileListAdapter.java:490)
    at androidx.recyclerview.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:7747)
    at com.owncloud.android.ui.adapter.OCFileListAdapter.onBindViewHolder(OCFileListAdapter.java:1089)
    at androidx.recyclerview.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:7847)
    at androidx.recyclerview.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:6646)
    at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6917)
    at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6757)
    at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6753)
    at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2362)
    at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1662)
    at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1622)
    at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:687)
    at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4645)
    at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:4348)
    at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4919)
    at android.view.View.layout(View.java:26937)
    at android.view.ViewGroup.layout(ViewGroup.java:6847)
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:345)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:283)
    at android.view.View.layout(View.java:26937)
    at android.view.ViewGroup.layout(ViewGroup.java:6847)
    at androidx.swiperefreshlayout.widget.SwipeRefreshLayout.onLayout(SwipeRefreshLayout.java:704)
    at android.view.View.layout(View.java:26937)
    at android.view.ViewGroup.layout(ViewGroup.java:6847)
    at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1131)
    at android.view.View.layout(View.java:26937)
    at android.view.ViewGroup.layout(ViewGroup.java:6847)
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:345)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:283)
    at android.view.View.layout(View.java:26937)
    at android.view.ViewGroup.layout(ViewGroup.java:6847)
    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1891)
    at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1880)
    at android.widget.LinearLayout.onLayout(LinearLayout.java:1640)
    at android.view.View.layout(View.java:26937)
    at android.view.ViewGroup.layout(ViewGroup.java:6847)
    at com.google.android.material.appbar.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:145)
    at com.google.android.material.appbar.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:43)
    at com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:2461)
    at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:918)
    at android.view.View.layout(View.java:26937)
    at android.view.ViewGroup.layout(ViewGroup.java:6847)
    at androidx.drawerlayout.widget.DrawerLayout.onLayout(DrawerLayout.java:1263)
    at android.view.View.layout(View.java:26937)
    at android.view.ViewGroup.layout(ViewGroup.java:6847)
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:345)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:283)
    at android.view.View.layout(View.java:26937)
    at android.view.ViewGroup.layout(ViewGroup.java:6847)
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:345)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:283)
    at android.view.View.layout(View.java:26937)
    at android.view.ViewGroup.layout(ViewGroup.java:6847)
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:345)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:283)
    at android.view.View.layout(View.java:26937)
    at android.view.ViewGroup.layout(ViewGroup.java:6847)
    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1891)
    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1729)
    at android.widget.LinearLayout.onLayout(LinearLayout.java:1638)
    at android.view.View.layout(View.java:26937)
    at android.view.ViewGroup.layout(ViewGroup.java:6847)
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:345)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:283)
    at com.android.internal.policy.DecorView.onLayout(DecorView.java:1115)
    at android.view.View.layout(View.java:26937)
    at android.view.ViewGroup.layout(ViewGroup.java:6847)
    at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:6160)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:5227)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:3924)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:12903)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1901)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1910)
    at android.view.Choreographer.doCallbacks(Choreographer.java:1367)
    at android.view.Choreographer.doFrame(Choreographer.java:1292)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1870)
    at android.os.Handler.handleCallback(Handler.java:995)
    at android.os.Handler.dispatchMessage(Handler.java:103)
    at android.os.Looper.loopOnce(Looper.java:273)
    at android.os.Looper.loop(Looper.java:363)
    at android.app.ActivityThread.main(ActivityThread.java:10060)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:632)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975)

App information

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

Device information

  • Brand: samsung
  • Device: e3q
  • Model: SM-S928B
  • Id: BP2A.250605.031.A3
  • Product: e3qxeea

Firmware

  • SDK: 36
  • Release: 16
  • Incremental: S928BXXS5CZD1

Server error logs

Additional information

No response

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions