nextcloud / nextcloud/android

Looking a media when it crashed

Open
#16,547 0 comments 0 reactions 0 assignees View on GitHub
0. Needs triage bug feature: media tab performance: ISE/IAE :confused:
Dominant language
Kotlin
Stars
5.6k
Forks
2k
Avg merge
2d 18h
Merged PRs (30d)
92

Description

### ⚠️ Before posting ⚠️

- [x] This is a **bug**, not a question or an enhancement.
- [x] I've [searched for similar issues](https://github.com/nextcloud/android/issues) and didn't find a duplicate.
- [x] I've written a clear and descriptive title for this issue, not just "Bug" or "Crash".
- [x] I agree to follow Nextcloud's [Code of Conduct](https://nextcloud.com/contribute/code-of-conduct/).

### Steps to reproduce

was browsing media backed up from phone to Nextcloud
then flipped the phone horizontal then back to vertical and it crashed

### Expected behaviour

it should have flipped the screen orientation

### Actual behaviour

it gave me an error

### Android version

Android 16

### Device brand and model

pixel 7

### Stock or custom OS?

Stock

### Nextcloud android app version

3.35.2

### Nextcloud server version

32.0.3

### Using a reverse proxy?

Yes

### Android logs

_No response_

### Server error logs

```java
### Cause of error

Exception in thread "main" java.lang.IllegalStateException: Couldn't read row 535, col 20 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.
at android.database.CursorWindow.nativeGetLong(Native Method)
at android.database.CursorWindow.getLong(CursorWindow.java:574)
at android.database.AbstractWindowedCursor.getLong(AbstractWindowedCursor.java:78)
at androidx.sqlite.driver.SupportSQLiteStatement$RowSQLiteStatement.getLong(SupportSQLiteStatement.android.kt:363)
at com.nextcloud.client.database.dao.FileDao_Impl.getGalleryItems$lambda$0(FileDao_Impl.kt:3975)
at com.nextcloud.client.database.dao.FileDao_Impl.$r8$lambda$J5SjeVyUzZVbGxV5zJB6P8roKcc(Unknown Source:0)
at com.nextcloud.client.database.dao.FileDao_Impl$$ExternalSyntheticLambda11.invoke(D8$$SyntheticClass:0)
at androidx.room.util.DBUtil__DBUtil_androidKt$performBlocking$1$1$invokeSuspend$$inlined$internalPerform$1.invokeSuspend(DBUtil.kt:173)
at androidx.room.util.DBUtil__DBUtil_androidKt$performBlocking$1$1$invokeSuspend$$inlined$internalPerform$1.invoke(Unknown Source:8)
at androidx.room.util.DBUtil__DBUtil_androidKt$performBlocking$1$1$invokeSuspend$$inlined$internalPerform$1.invoke(Unknown Source:4)
at androidx.room.coroutines.PassthroughConnectionPool$useConnection$2.invokeSuspend(PassthroughConnectionPool.kt:59)
at androidx.room.coroutines.PassthroughConnectionPool$useConnection$2.invoke(Unknown Source:8)
at androidx.room.coroutines.PassthroughConnectionPool$useConnection$2.invoke(Unknown Source:4)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:42)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:164)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source:1)
at androidx.room.coroutines.PassthroughConnectionPool.useConnection(PassthroughConnectionPool.kt:59)
at androidx.room.RoomConnectionManager.useConnection(RoomConnectionManager.android.kt:138)
at androidx.room.RoomDatabase.useConnection(RoomDatabase.android.kt:619)
at androidx.room.util.DBUtil__DBUtil_androidKt$performBlocking$1$1.invokeSuspend(DBUtil.android.kt:260)
at androidx.room.util.DBUtil__DBUtil_androidKt$performBlocking$1$1.invoke(Unknown Source:8)
at androidx.room.util.DBUtil__DBUtil_androidKt$performBlocking$1$1.invoke(Unknown Source:4)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:42)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:156)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source:1)
at androidx.room.util.DBUtil__DBUtil_androidKt$performBlocking$1.invokeSuspend(DBUtil.android.kt:72)
at androidx.room.util.DBUtil__DBUtil_androidKt$performBlocking$1.invoke(Unknown Source:8)
at androidx.room.util.DBUtil__DBUtil_androidKt$performBlocking$1.invoke(Unknown Source:4)
at androidx.room.coroutines.RunBlockingUninterruptible_androidKt$runBlockingUninterruptible$1$1.invokeSuspend(RunBlockingUninterruptible.android.kt:52)
at androidx.room.coroutines.RunBlockingUninterruptible_androidKt$runBlockingUninterruptible$1$1.invoke(Unknown Source:8)
at androidx.room.coroutines.RunBlockingUninterruptible_androidKt$runBlockingUninterruptible$1$1.invoke(Unknown Source:4)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatched(Undispatched.kt:20)
at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:360)
at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:124)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:52)
at kotlinx.coroutines.BuildersKt.launch(Unknown Source:1)
at androidx.room.coroutines.RunBlockingUninterruptible_androidKt$runBlockingUninterruptible$1.invokeSuspend(RunBlockingUninterruptible.android.kt:51)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:263)
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:95)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:69)
at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source:1)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:47)
at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source:1)
at androidx.room.coroutines.RunBlockingUninterruptible_androidKt.runBlockingUninterruptible(RunBlockingUninterruptible.android.kt:45)
at androidx.room.util.DBUtil__DBUtil_androidKt.performBlocking(DBUtil.android.kt:71)
at androidx.room.util.DBUtil.performBlocking(Unknown Source:1)
at com.nextcloud.client.database.dao.FileDao_Impl.getGalleryItems(FileDao_Impl.kt:3790)
at com.owncloud.android.datamodel.FileDataStorageManager.getGalleryItems(FileDataStorageManager.java:2548)
at com.owncloud.android.datamodel.FileDataStorageManager.getAllGalleryItems(FileDataStorageManager.java:2542)
at com.owncloud.android.ui.adapter.GalleryAdapter.showAllGalleryItems(GalleryAdapter.kt:218)
at com.owncloud.android.ui.fragment.GalleryFragment.showAllGalleryItems(GalleryFragment.java:401)
at com.owncloud.android.ui.fragment.GalleryFragment.onConfigurationChanged(GalleryFragment.java:209)
at androidx.fragment.app.Fragment.performConfigurationChanged(Fragment.java:3246)
at androidx.fragment.app.FragmentManager.dispatchConfigurationChanged(FragmentManager.java:3375)
at androidx.fragment.app.FragmentManager.lambda$new$0$androidx-fragment-app-FragmentManager(FragmentManager.java:607)
at androidx.fragment.app.FragmentManager$$ExternalSyntheticLambda0.accept(D8$$SyntheticClass:0)
at androidx.activity.ComponentActivity.onConfigurationChanged(ComponentActivity.kt:823)
at androidx.appcompat.app.AppCompatActivity.onConfigurationChanged(AppCompatActivity.java:216)
at com.owncloud.android.ui.activity.DrawerActivity.onConfigurationChanged(DrawerActivity.java:1166)
at com.owncloud.android.ui.activity.FileDisplayActivity.onConfigurationChanged(FileDisplayActivity.kt:355)
at android.app.ActivityThread.performActivityConfigurationChanged(ActivityThread.java:7046)
at android.app.ActivityThread.performConfigurationChangedForActivity(ActivityThread.java:6959)
at android.app.ActivityThread.handleActivityConfigurationChangedInner(ActivityThread.java:7439)
at android.app.ActivityThread.handleActivityConfigurationChanged(ActivityThread.java:7386)
at android.app.ActivityThread.handleActivityConfigurationChanged(ActivityThread.java:7358)
at android.app.servertransaction.ActivityConfigurationChangeItem.execute(ActivityConfigurationChangeItem.java:73)
at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:63)
at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:133)
at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:103)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:80)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2961)
at android.os.Handler.dispatchMessage(Handler.java:132)
at android.os.Looper.dispatchMessage(Looper.java:333)
at android.os.Looper.loopOnce(Looper.java:263)
at android.os.Looper.loop(Looper.java:367)
at android.app.ActivityThread.main(ActivityThread.java:9287)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:566)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929)

### App information
* ID: `com.nextcloud.client`
* Version: `30350290`
* Build flavor: `gplay`

### Device information
* Brand: `google`
* Device: `panther`
* Model: `Pixel 7`
* Id: `BP4A.251205.006`
* Product: `panther`

### Firmware
* SDK: `36`
* Release: `16`
* Incremental: `14401865`
```

### Additional information

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.