android
android copied to clipboard
Nextcloud client crashes while active in background
⚠️ Before posting ⚠️
- [X] This is a bug, not a question or an enhancement.
- [X] I've searched for similar 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.
Steps to reproduce
- Leave Nextcloud client alone and wait a while...
- Wait while working on other things
- wait
Expected behaviour
Nextcloud Client will sit in background and maybe upload images if new ones are available etc.
Actual behaviour
Every one or two minutes (if no other app is in foreground, but sometimes even then), an error message pops up saying "Nextcloud crashed"
Android version
8.1
Device brand and model
Umidigi Z2_Pro
Stock or custom OS?
Stock
Nextcloud android app version
30210190 or 3.21.1
Nextcloud server version
23.0.3
Using a reverse proxy?
No
Android logs
java Exception in thread "FileUploaderThread" android.database.sqlite.SQLiteCantOpenDatabaseException: unable to open database file (code 14) at android.database.sqlite.SQLiteConnection.nativeExecuteForChangedRowCount(Native Method) at android.database.sqlite.SQLiteConnection.executeForChangedRowCount(SQLiteConnection.java:735) at android.database.sqlite.SQLiteSession.executeForChangedRowCount(SQLiteSession.java:754) at android.database.sqlite.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:64) at android.database.sqlite.SQLiteDatabase.updateWithOnConflict(SQLiteDatabase.java:1653) at android.database.sqlite.SQLiteDatabase.update(SQLiteDatabase.java:1599) at com.owncloud.android.providers.FileContentProvider.update(FileContentProvider.java:677) at com.owncloud.android.providers.FileContentProvider.update(FileContentProvider.java:650) at android.content.ContentProvider$Transport.update(ContentProvider.java:357) at android.content.ContentResolver.update(ContentResolver.java:1672) at com.owncloud.android.datamodel.UploadsStorageManager.updateUpload(UploadsStorageManager.java:131) at com.owncloud.android.datamodel.UploadsStorageManager.updateUploadInternal(UploadsStorageManager.java:173) at com.owncloud.android.datamodel.UploadsStorageManager.updateUploadStatus(UploadsStorageManager.java:208) at com.owncloud.android.datamodel.UploadsStorageManager.updateDatabaseUploadResult(UploadsStorageManager.java:579) at com.owncloud.android.files.services.FileUploader.uploadFile(FileUploader.java:648) at com.owncloud.android.files.services.FileUploader$ServiceHandler.handleMessage(FileUploader.java:1387) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:164) at android.os.HandlerThread.run(HandlerThread.java:65)
Server error logs
Error: disk_free_space(): No such file or directory at /volume1/Web/nextcloud-php/lib/private/Files/Storage/Local.php#381
Additional information
I'm not sure what the app is looking for. I know for sure, however, that there is sufficient physical disk space on the server (a NAS).
Also have been having background crashes on my Samsung Galaxy S20, running android 12, and nextcloud app v3.21.2.
Crashes in background every 5 minutes or so, crashes about half the time when I try to open the app, and just crashed while the app was open and functioning. Here's the log it gave me for that last one.
`### Cause of error java Exception in thread "Thread-8" java.lang.OutOfMemoryError: Failed to allocate a 16 byte allocation with 4128240 free bytes and 4031KB until OOM, target footprint 536870912, growth limit 536870912; giving up on allocation because <1% of heap free after GC. at okhttp3.internal.http2.Http2ExchangeCodec$Companion.readHttp2HeadersList(Http2ExchangeCodec.kt:185) at okhttp3.internal.http2.Http2ExchangeCodec.readResponseHeaders(Http2ExchangeCodec.kt:98) at okhttp3.internal.connection.Exchange.readResponseHeaders(Exchange.kt:111) at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.kt:93) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:34) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:84) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:65) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:205) at okhttp3.internal.connection.RealCall.execute(RealCall.kt:158) at com.nextcloud.common.OkHttpMethodBase.execute(OkHttpMethodBase.kt:171) at com.nextcloud.client.network.ConnectivityServiceImpl.isInternetWalled(ConnectivityServiceImpl.java:81) at com.owncloud.android.files.services.FileUploader.retryFailedUploads(FileUploader.java:1093) at com.owncloud.android.utils.FilesSyncHelper.lambda$restartJobsIfNeeded$0(FilesSyncHelper.java:240) at com.owncloud.android.utils.FilesSyncHelper$$ExternalSyntheticLambda0.run(Unknown Source:10) at java.lang.Thread.run(Thread.java:1012)
App information
- ID: com.nextcloud.client
- Version: 30210290
- Build flavor: gplay
Device information
- Brand: samsung
- Device: x1q
- Model: SM-G981U
- Id: SP1A.210812.016
- Product: x1qsqx
Firmware
- SDK: 31
- Release: 12
- Incremental: G981USQU3FVG6`
My server is currently pretty starved for RAM, which could potentially be responsible for the error, though it's strange that this causes the android app to crash. I'm gonna have to uninstall it for now because the error popup keeps closing my keyboard while I'm working, More RAM will be arriving on the 6th, if that stops the crashing I'll let you know.
Duplicate of #8569
@jaalte: Your matter seems unrelated to this one based on your stack trace. You'll have to look for a better matching issue or open your own.