nextcloud / nextcloud/android

Exception: `SQLiteBlobTooBigException` at `com.nextcloud.client.database.dao.FileDao_Impl.getFolderContent`

Open
#12,200 2 comments 0 reactions 1 assignee Claimed by @tobiasKaminsky View on GitHub
bug performance: SBTBE/SQL related :file_cabinet: stable-3.26
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

Really dont know, it happend at once while i didnt do any file storage or some.
I've tried to move all the files to one folder but that didnt work either.

### Expected behaviour

Just open the app normally.

### Actual behaviour

Instantly crashes the app.

### Android version

14

### Device brand and model

Samsung S22 Ultra

### Stock or custom OS?

Stock

### Nextcloud android app version

30260090

### Nextcloud server version

26.0.9

### Using a reverse proxy?

Yes

### Android logs

### Cause of error
```java
Exception in thread "main" java.lang.RuntimeException: Unable to resume activity {com.nextcloud.client/com.owncloud.android.ui.activity.FileDisplayActivity}: android.database.sqlite.SQLiteBlobTooBigException: Row too big to fit into CursorWindow requiredPos=18, totalRows=19
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:5426)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:5507)
at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:57)
at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:180)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:98)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2685)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:230)
at android.os.Looper.loop(Looper.java:319)
at android.app.ActivityThread.main(ActivityThread.java:8893)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:608)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
Caused by: Exception in thread "main" android.database.sqlite.SQLiteBlobTooBigException: Row too big to fit into CursorWindow requiredPos=18, totalRows=19
at android.database.sqlite.SQLiteConnection.nativeExecuteForCursorWindow(Native Method)
at android.database.sqlite.SQLiteConnection.executeForCursorWindow(SQLiteConnection.java:1362)
at android.database.sqlite.SQLiteSession.executeForCursorWindow(SQLiteSession.java:838)
at android.database.sqlite.SQLiteQuery.fillWindow(SQLiteQuery.java:62)
at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:165)
at android.database.sqlite.SQLiteCursor.onMove(SQLiteCursor.java:126)
at android.database.AbstractCursor.moveToPosition(AbstractCursor.java:255)
at android.database.AbstractCursor.moveToNext(AbstractCursor.java:287)
at com.nextcloud.client.database.dao.FileDao_Impl.getFolderContent(FileDao_Impl.java:1825)
at com.owncloud.android.datamodel.FileDataStorageManager.getFolderContent(FileDataStorageManager.java:845)
at com.owncloud.android.datamodel.FileDataStorageManager.getFolderContent(FileDataStorageManager.java:186)
at com.owncloud.android.ui.adapter.OCFileListAdapter.swapDirectory(OCFileListAdapter.java:652)
at com.owncloud.android.ui.fragment.OCFileListFragment.listDirectory(OCFileListFragment.java:1343)
at com.owncloud.android.ui.fragment.OCFileListFragment.listDirectory(OCFileListFragment.java:1308)
at com.owncloud.android.ui.fragment.OCFileListFragment.listDirectory(OCFileListFragment.java:1297)
at com.owncloud.android.ui.fragment.OCFileListFragment.onActivityCreated(OCFileListFragment.java:428)
at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:3156)
at androidx.fragment.app.FragmentStateManager.activityCreated(FragmentStateManager.java:619)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:275)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1943)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1839)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1782)
at androidx.fragment.app.FragmentController.execPendingActions(FragmentController.java:495)
at androidx.fragment.app.FragmentActivity.onResume(FragmentActivity.java:311)
at com.owncloud.android.ui.activity.BaseActivity.onResume(BaseActivity.java:91)
at com.owncloud.android.ui.activity.DrawerActivity.onResume(DrawerActivity.java:1043)
at com.owncloud.android.ui.activity.FileActivity.onResume(FileActivity.java:251)
at com.owncloud.android.ui.activity.FileDisplayActivity.onResume(FileDisplayActivity.java:1133)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1603)
at android.app.Activity.performResume(Activity.java:9103)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:5399)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:5507)
at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:57)
at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:180)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:98)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2685)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:230)
at android.os.Looper.loop(Looper.java:319)
at android.app.ActivityThread.main(ActivityThread.java:8893)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:608)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)

```

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

### Device information
* Brand: `samsung`
* Device: `b0s`
* Model: `SM-S908B`
* Id: `UP1A.231005.007`
* Product: `b0sxeea`

### Firmware
* SDK: `34`
* Release: `14`
* Incremental: `S908BXXU6DWK4`

### Server error logs

_No response_

### Additional information

Ive tried to move all the folders in one folder, that didnt work.

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.