nextcloud / nextcloud/android

SQLiteFullException after uploading a file

Open
#14,534 1 comment 0 reactions 1 assignee Claimed by @tobiasKaminsky View on GitHub
bug hotspot: device storage stable-3.30
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

1. On an Android device, create a file of 795 MB
2. Left only 1 GB free space on the device
3. Upload the 795 MB file to a server

Was, unfortunately, not able to reproduce it for the second time.

### Expected behaviour

The file is uploaded without any issue. If space doesn't allow, a warning/error is displayed.

### Actual behaviour

The file is uploaded to the server, but the app on the phone crashes with the trace below. Next time the app is started, it tries to upload the file again.

### Cause of error
```java
Exception in thread "WM.task-3" android.database.sqlite.SQLiteFullException: database or disk is full (code 13)
at android.database.sqlite.SQLiteConnection.nativeExecute(Native Method)
at android.database.sqlite.SQLiteConnection.execute(SQLiteConnection.java:555)
at android.database.sqlite.SQLiteSession.endTransactionUnchecked(SQLiteSession.java:437)
at android.database.sqlite.SQLiteSession.endTransaction(SQLiteSession.java:401)
at android.database.sqlite.SQLiteDatabase.endTransaction(SQLiteDatabase.java:524)
at androidx.sqlite.db.framework.FrameworkSQLiteDatabase.endTransaction(FrameworkSQLiteDatabase.kt:75)
at androidx.room.RoomDatabase.internalEndTransaction(RoomDatabase.kt:553)
at androidx.room.RoomDatabase.endTransaction(RoomDatabase.kt:543)
at androidx.work.impl.WorkerWrapper.onWorkFinished(WorkerWrapper.java:365)
at androidx.work.impl.WorkerWrapper$2.run(WorkerWrapper.java:334)
at androidx.work.impl.utils.SerialExecutorImpl$Task.run(SerialExecutorImpl.java:96)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)

```

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

### Device information
* Brand: `Lenovo`
* Device: `P2a42`
* Model: `Lenovo P2a42`
* Id: `NRD90N`
* Product: `kuntao_row`

### Firmware
* SDK: `24`
* Release: `7.0`
* Incremental: `P2a42_S251_171107_ROW`

### Android version

7.0

### Device brand and model

Lenovo P2a42

### Stock or custom OS?

Stock

### Nextcloud android app version

3.30.8

### Nextcloud server version

30.0.4

### Using a reverse proxy?

No

### Android logs

```
--------- beginning of events
02-10 21:54:33.354 9959 9959 I am_on_resume_called: [0,com.nmc.android.ui.LauncherActivity,LAUNCH_ACTIVITY]
02-10 21:54:34.855 9959 9959 I am_on_paused_called: [0,com.nmc.android.ui.LauncherActivity,handlePauseActivity]
02-10 21:54:35.305 9959 9959 I am_on_resume_called: [0,com.owncloud.android.ui.activity.FileDisplayActivity,LAUNCH_ACTIVITY]
02-10 21:54:35.677 9959 9959 I liblog : 3
02-10 21:54:35.706 9959 9959 I liblog : 84
--------- beginning of system
02-10 21:54:35.750 9959 9959 D Resources: oneSpecialCase = falsequantityCode =few local = cs_CZ
02-10 21:54:35.750 9959 9959 D Resources: oneSpecialCase = falsequantityCode =few local = cs_CZ
02-10 21:54:36.376 9959 9959 I am_on_stop_called: [0,com.nmc.android.ui.LauncherActivity,destroy]
02-10 21:54:40.271 9959 9959 D Resources: oneSpecialCase = falsequantityCode =few local = cs_CZ
02-10 21:54:40.271 9959 9959 D Resources: oneSpecialCase = falsequantityCode =few local = cs_CZ
02-10 21:54:41.324 9959 9959 I am_on_paused_called: [0,com.owncloud.android.ui.activity.FileDisplayActivity,handlePauseActivity]
02-10 21:54:41.444 9959 9959 I am_on_resume_called: [0,com.owncloud.android.ui.preview.PreviewImageActivity,LAUNCH_ACTIVITY]
02-10 21:54:41.977 9959 9959 I am_on_stop_called: [0,com.owncloud.android.ui.activity.FileDisplayActivity,handleStopActivity]
02-10 21:54:42.972 9959 9959 I menu_item_selected: [0,Další nabídka]
02-10 21:54:49.218 9959 9959 I am_on_paused_called: [0,com.owncloud.android.ui.preview.PreviewImageActivity,handlePauseActivity]
02-10 21:54:49.299 9959 9959 I am_on_resume_called: [0,com.owncloud.android.ui.activity.FileDisplayActivity,RESUME_ACTIVITY]
02-10 21:54:49.391 9959 9959 D Resources: oneSpecialCase = falsequantityCode =few local = cs_CZ
02-10 21:54:49.391 9959 9959 D Resources: oneSpecialCase = falsequantityCode =few local = cs_CZ
02-10 21:54:49.706 9959 9959 I am_on_stop_called: [0,com.owncloud.android.ui.preview.PreviewImageActivity,destroy]
02-10 21:54:50.991 9959 9959 D Resources: oneSpecialCase = falsequantityCode =few local = cs_CZ
02-10 21:54:50.991 9959 9959 D Resources: oneSpecialCase = falsequantityCode =few local = cs_CZ
02-10 21:54:52.979 9959 9959 I am_on_paused_called: [0,com.owncloud.android.ui.activity.FileDisplayActivity,handlePauseActivity]
02-10 21:54:53.096 9959 9959 I am_on_resume_called: [0,com.owncloud.android.ui.preview.PreviewImageActivity,LAUNCH_ACTIVITY]
02-10 21:54:53.575 9959 9959 I am_on_stop_called: [0,com.owncloud.android.ui.activity.FileDisplayActivity,handleStopActivity]
02-10 21:54:54.172 9959 9959 I menu_item_selected: [0,Další nabídka]
02-10 21:55:01.711 9959 9959 I am_on_paused_called: [0,com.owncloud.android.ui.preview.PreviewImageActivity,handlePauseActivity]
02-10 21:55:01.867 9959 9959 I am_on_resume_called: [0,com.owncloud.android.ui.activity.FileDisplayActivity,RESUME_ACTIVITY]
02-10 21:55:02.993 9959 9959 D Resources: oneSpecialCase = falsequantityCode =few local = cs_CZ
02-10 21:55:02.993 9959 9959 D Resources: oneSpecialCase = falsequantityCode =few local = cs_CZ
02-10 21:55:03.539 9959 9959 I am_on_stop_called: [0,com.owncloud.android.ui.preview.PreviewImageActivity,destroy]
02-10 21:55:05.041 9959 9959 D Resources: oneSpecialCase = falsequantityCode =few local = cs_CZ
02-10 21:55:05.042 9959 9959 D Resources: oneSpecialCase = falsequantityCode =few local = cs_CZ
02-10 21:55:05.265 9959 9959 D Resources: oneSpecialCase = falsequantityCode =few local = cs_CZ
02-10 21:55:05.266 9959 9959 D Resources: oneSpecialCase = falsequantityCode =few local = cs_CZ
02-10 21:55:10.869 9959 9959 I am_on_paused_called: [0,com.owncloud.android.ui.activity.FileDisplayActivity,handlePauseActivity]
02-10 21:55:12.227 9959 9959 I am_on_resume_called: [0,com.owncloud.android.ui.activity.TextEditorWebView,LAUNCH_ACTIVITY]
02-10 21:55:18.529 9959 9959 I am_on_stop_called: [0,com.owncloud.android.ui.activity.FileDisplayActivity,handleStopActivity]
02-10 21:55:27.120 9959 9959 I am_on_paused_called: [0,com.owncloud.android.ui.activity.TextEditorWebView,handlePauseActivity]
02-10 21:55:27.284 9959 9959 I am_on_resume_called: [0,com.owncloud.android.ui.activity.FileDisplayActivity,RESUME_ACTIVITY]
02-10 21:55:27.448 9959 9959 D Resources: oneSpecialCase = falsequantityCode =few local = cs_CZ
02-10 21:55:27.448 9959 9959 D Resources: oneSpecialCase = falsequantityCode =few local = cs_CZ
02-10 21:55:27.801 9959 9959 I am_on_stop_called: [0,com.owncloud.android.ui.activity.TextEditorWebView,destroy]
02-10 21:55:29.604 9959 9959 D Resources: oneSpecialCase = falsequantityCode =few local = cs_CZ
02-10 21:55:29.605 9959 9959 D Resources: oneSpecialCase = falsequantityCode =few local = cs_CZ
02-10 21:55:41.979 9959 9959 D Resources: oneSpecialCase = falsequantityCode =few local = cs_CZ
02-10 21:55:41.979 9959 9959 D Resources: oneSpecialCase = falsequantityCode =few local = cs_CZ
02-10 21:56:03.406 9959 9959 I am_on_paused_called: [0,com.owncloud.android.ui.activity.FileDisplayActivity,handlePauseActivity]
02-10 21:56:03.969 9959 9959 I am_on_stop_called: [0,com.owncloud.android.ui.activity.FileDisplayActivity,handleStopActivity]
02-10 21:56:30.940 9959 9959 I am_on_resume_called: [0,com.owncloud.android.ui.activity.FileDisplayActivity,RESUME_ACTIVITY]
02-10 22:01:41.054 9959 9959 I am_on_paused_called: [0,com.owncloud.android.ui.activity.FileDisplayActivity,handlePauseActivity]
02-10 22:01:41.657 9959 9959 I am_on_stop_called: [0,com.owncloud.android.ui.activity.FileDisplayActivity,handleStopActivity]
--------- beginning of crash
02-10 22:03:22.557 9959 10008 E AndroidRuntime: FATAL EXCEPTION: WM.task-4
02-10 22:03:22.557 9959 10008 E AndroidRuntime: Process: com.nextcloud.client, PID: 9959
02-10 22:03:22.557 9959 10008 E AndroidRuntime: android.database.sqlite.SQLiteFullException: database or disk is full (code 13)
02-10 22:03:22.557 9959 10008 E AndroidRuntime: at android.database.sqlite.SQLiteConnection.nativeExecute(Native Method)
02-10 22:03:22.557 9959 10008 E AndroidRuntime: at android.database.sqlite.SQLiteConnection.execute(SQLiteConnection.java:555)
02-10 22:03:22.557 9959 10008 E AndroidRuntime: at android.database.sqlite.SQLiteSession.endTransactionUnchecked(SQLiteSession.java:437)
02-10 22:03:22.557 9959 10008 E AndroidRuntime: at android.database.sqlite.SQLiteSession.endTransaction(SQLiteSession.java:401)
02-10 22:03:22.557 9959 10008 E AndroidRuntime: at android.database.sqlite.SQLiteDatabase.endTransaction(SQLiteDatabase.java:524)
02-10 22:03:22.557 9959 10008 E AndroidRuntime: at androidx.sqlite.db.framework.FrameworkSQLiteDatabase.endTransaction(FrameworkSQLiteDatabase.kt:75)
02-10 22:03:22.557 9959 10008 E AndroidRuntime: at androidx.room.RoomDatabase.internalEndTransaction(RoomDatabase.kt:553)
02-10 22:03:22.557 9959 10008 E AndroidRuntime: at androidx.room.RoomDatabase.endTransaction(RoomDatabase.kt:543)
02-10 22:03:22.557 9959 10008 E AndroidRuntime: at androidx.work.impl.model.SystemIdInfoDao_Impl.removeSystemIdInfo(SystemIdInfoDao_Impl.java:115)
02-10 22:03:22.557 9959 10008 E AndroidRuntime: at androidx.work.impl.background.systemjob.SystemJobScheduler.cancel(SystemJobScheduler.java:249)
02-10 22:03:22.557 9959 10008 E AndroidRuntime: at androidx.work.impl.Schedulers.lambda$registerRescheduling$0(Schedulers.java:74)
02-10 22:03:22.557 9959 10008 E AndroidRuntime: at androidx.work.impl.Schedulers$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
02-10 22:03:22.557 9959 10008 E AndroidRuntime: at androidx.work.impl.utils.SerialExecutorImpl$Task.run(SerialExecutorImpl.java:96)
02-10 22:03:22.557 9959 10008 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
02-10 22:03:22.557 9959 10008 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
02-10 22:03:22.557 9959 10008 E AndroidRuntime: at java.lang.Thread.run(Thread.java:761)
```

### Server error logs

```bash
[no app in context] Error: Expected filesize of 40960000 bytes but read (from Nextcloud client) and wrote (to Nextcloud storage) 4587520 bytes. Could either be a network problem on the sending side or a problem writing to the storage on the server side.
```

### 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.