⚠️ Before posting ⚠️
Steps to reproduce
- upload big file (3GB)
- try to download it thru android client
- fail
Expected behaviour
being able to download same files as on windows-client.
Actual behaviour
unable to download big files on android-client
Android version
16 (HyperOS 3)
Device brand and model
Xiaomi POCO F7
Stock or custom OS?
Stock
Nextcloud android app version
33.1.1, qa 17157, 34.0.0
Nextcloud server version
33.0.3, 33.0.5
Using a reverse proxy?
Yes
Android logs
http/2
06-10 22:03:57.485 27397 27397 V FileDisplayActivity: onStop()
06-10 22:03:57.486 27397 27397 D FolderRefreshScheduler: eTag polling stopped
06-10 22:03:57.486 27397 27397 D FileDisplayActivity: unregistering receivers
06-10 22:03:57.486 27397 27397 D MainApp : APP IN BACKGROUND
06-10 22:03:57.486 27397 27397 D FileDisplayActivity: onStop() ending
06-10 22:03:57.487 27397 27397 D FileDisplayActivity: onSaveInstanceState(Bundle) starting
06-10 22:03:57.489 27397 27397 D ExtendedListFragment: onSaveInstanceState()
06-10 22:03:57.489 27397 27397 D OCFileListFragment: onSaveInstanceState: 5.6 GB, raw byte 5968803961
06-10 22:03:57.489 27397 27397 D FileActivity: onSaveInstanceState: 5.6 GB, raw byte 5968803961
06-10 22:03:57.489 27397 27397 D FileDisplayActivity: onSaveInstanceState: Pending, raw byte -1
06-10 22:03:57.489 27397 27397 V FileDisplayActivity: onSaveInstanceState() end
06-10 22:03:57.920 27397 27408 I extcloud.client: Background concurrent copying GC freed 12MB AllocSpace bytes, 0(0B) LOS objects, 49% free, 13MB/27MB, paused 413us,99us total 194.118ms
06-10 22:04:12.029 27397 27408 I extcloud.client: Background concurrent copying GC freed 12MB AllocSpace bytes, 0(0B) LOS objects, 49% free, 13MB/26MB, paused 1.143ms,544us total 147.954ms
06-10 22:04:13.110 27397 2698 V NativeCrypto: SSL shutdown failed: ssl=0xb4000073d56c62c8: I/O error during system call, Broken pipe
06-10 22:04:22.177 27397 27408 I extcloud.client: Background concurrent copying GC freed 10MB AllocSpace bytes, 0(0B) LOS objects, 49% free, 13MB/26MB, paused 105us,204us total 104.992ms
06-10 22:04:28.418 27397 27408 I extcloud.client: Background concurrent copying GC freed 12MB AllocSpace bytes, 0(0B) LOS objects, 49% free, 13MB/27MB, paused 121us,616us total 143.808ms
06-10 22:04:34.883 27397 27408 I extcloud.client: Background concurrent copying GC freed 11MB AllocSpace bytes, 0(0B) LOS objects, 49% free, 13MB/26MB, paused 163us,50us total 113.343ms
06-10 22:04:52.257 27397 27408 I extcloud.client: Background concurrent copying GC freed 10MB AllocSpace bytes, 0(0B) LOS objects, 49% free, 13MB/26MB, paused 379us,56us total 131.144ms
06-10 22:05:04.665 27397 27408 I extcloud.client: Background concurrent copying GC freed 11MB AllocSpace bytes, 0(0B) LOS objects, 49% free, 13MB/27MB, paused 382us,228us total 136.495ms
06-10 22:05:12.014 27397 27519 D WM-WorkConstraintsTrack: NetworkRequestConstraintController onCapabilitiesChanged callback
06-10 22:05:15.046 27397 27519 D WM-WorkConstraintsTrack: NetworkRequestConstraintController onCapabilitiesChanged callback
06-10 22:05:27.597 27397 27408 I extcloud.client: Background concurrent copying GC freed 14MB AllocSpace bytes, 0(0B) LOS objects, 49% free, 13MB/26MB, paused 377us,221us total 138.563ms
06-10 22:05:36.851 27397 27408 I extcloud.client: Background concurrent copying GC freed 12MB AllocSpace bytes, 0(0B) LOS objects, 49% free, 13MB/26MB, paused 212us,58us total 163.955ms
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: Download of /SignalBackups.zip to /storage/emulated/0/Android/media/com.nextcloud.client/nextcloud/tmp/brm@cloud.domain.pl/SignalBackups.zip: Unrecovered transport exception
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: java.io.InterruptedIOException: timeout
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at okhttp3.internal.connection.RealCall.timeoutExit(RealCall.kt:461)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at okhttp3.internal.connection.RealCall.callDone(RealCall.kt:423)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at okhttp3.internal.connection.RealCall.messageDone$okhttp(RealCall.kt:365)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at okhttp3.internal.connection.Exchange.bodyComplete(Exchange.kt:232)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at okhttp3.internal.connection.Exchange.bodyComplete$default(Exchange.kt:208)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at okhttp3.internal.connection.Exchange$ResponseBodySource.complete(Exchange.kt:395)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at okhttp3.internal.connection.Exchange$ResponseBodySource.read(Exchange.kt:370)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at okio.RealBufferedSource$inputStream$1.read(RealBufferedSource.kt:169)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at java.io.BufferedInputStream.fill(BufferedInputStream.java:239)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at java.io.BufferedInputStream.read1(BufferedInputStream.java:279)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at java.io.BufferedInputStream.read(BufferedInputStream.java:338)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at java.io.FilterInputStream.read(FilterInputStream.java:107)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.downloadFile(DownloadFileRemoteOperation.java:109)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.run(DownloadFileRemoteOperation.java:69)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at com.owncloud.android.lib.common.operations.RemoteOperation.execute(RemoteOperation.java:208)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at com.owncloud.android.operations.DownloadFileOperation.run(DownloadFileOperation.java:210)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at com.owncloud.android.lib.common.operations.RemoteOperation.execute(RemoteOperation.java:193)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at com.nextcloud.client.jobs.download.FileDownloadWorker.downloadFile(FileDownloadWorker.kt:276)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at com.nextcloud.client.jobs.download.FileDownloadWorker.doWork(FileDownloadWorker.kt:118)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at com.nextcloud.client.jobs.download.FileDownloadWorker$doWork$1.invokeSuspend(Unknown Source:13)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:589)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:832)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:720)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: Caused by: okhttp3.internal.http2.StreamResetException: stream was reset: CANCEL
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at okhttp3.internal.http2.Http2Stream$FramingSource.read(Http2Stream.kt:398)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: at okhttp3.internal.connection.Exchange$ResponseBodySource.read(Exchange.kt:346)
06-10 22:05:40.257 27397 27448 E DownloadFileRemoteOperation: ... 19 more
06-10 22:05:40.258 27397 27448 I DownloadFileOperation: Download of /SignalBackups.zip to /storage/emulated/0/Android/media/com.nextcloud.client/nextcloud/brm@cloud.domain.pl/SignalBackups.zip: Unrecovered transport exception
http/1.1
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: Download of /SignalBackups.zip to /storage/emulated/0/Android/media/com.nextcloud.client/nextcloud/tmp/brm@cloud.domain.pl/SignalBackups.zip: Unrecovered transport exception
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: java.io.InterruptedIOException: timeout
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at okhttp3.internal.connection.RealCall.timeoutExit(RealCall.kt:461)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at okhttp3.internal.connection.RealCall.callDone(RealCall.kt:423)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at okhttp3.internal.connection.RealCall.messageDone$okhttp(RealCall.kt:365)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at okhttp3.internal.connection.Exchange.bodyComplete(Exchange.kt:232)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at okhttp3.internal.connection.Exchange.bodyComplete$default(Exchange.kt:208)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at okhttp3.internal.connection.Exchange$ResponseBodySource.complete(Exchange.kt:395)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at okhttp3.internal.connection.Exchange$ResponseBodySource.read(Exchange.kt:370)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at okio.RealBufferedSource$inputStream$1.read(RealBufferedSource.kt:169)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at java.io.BufferedInputStream.fill(BufferedInputStream.java:239)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at java.io.BufferedInputStream.read1(BufferedInputStream.java:279)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at java.io.BufferedInputStream.read(BufferedInputStream.java:338)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at java.io.FilterInputStream.read(FilterInputStream.java:107)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.downloadFile(DownloadFileRemoteOperation.java:109)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.run(DownloadFileRemoteOperation.java:69)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at com.owncloud.android.lib.common.operations.RemoteOperation.execute(RemoteOperation.java:208)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at com.owncloud.android.operations.DownloadFileOperation.run(DownloadFileOperation.java:210)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at com.owncloud.android.lib.common.operations.RemoteOperation.execute(RemoteOperation.java:193)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at com.nextcloud.client.jobs.download.FileDownloadWorker.downloadFile(FileDownloadWorker.kt:276)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at com.nextcloud.client.jobs.download.FileDownloadWorker.doWork(FileDownloadWorker.kt:118)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at com.nextcloud.client.jobs.download.FileDownloadWorker$doWork$1.invokeSuspend(Unknown Source:13)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:589)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:832)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:720)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: Caused by: java.net.SocketException: Socket is closed
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at com.google.android.gms.org.conscrypt.AbstractConscryptSocket.checkOpen(:com.google.android.gms@262031029@26.20.31 (190400-919905943):12)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at com.google.android.gms.org.conscrypt.ConscryptFileDescriptorSocket$SSLInputStream.read(:com.google.android.gms@262031029@26.20.31 (190400-919905943):6)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at okio.internal.DefaultSocket$SocketSource.read(DefaultSocket.kt:124)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at okio.RealBufferedSource.read(RealBufferedSource.kt:215)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at okhttp3.internal.http1.Http1ExchangeCodec$AbstractSource.read(Http1ExchangeCodec.kt:375)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at okhttp3.internal.http1.Http1ExchangeCodec$FixedLengthSource.read(Http1ExchangeCodec.kt:419)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: at okhttp3.internal.connection.Exchange$ResponseBodySource.read(Exchange.kt:346)
06-10 22:54:10.819 27397 27579 E DownloadFileRemoteOperation: ... 19 more
06-10 22:54:10.820 27397 27579 I DownloadFileOperation: Download of /SignalBackups.zip to /storage/emulated/0/Android/media/com.nextcloud.client/nextcloud/brm@cloud.domain.pl/SignalBackups.zip: Unrecovered transport exception
Server error logs
Additional information
reverse proxy is on nginx (ssl)
nextcloud is on apache2 (http1) + php8.3-fpm
Tried without http2, changed buffer size, without buffer, longer times (timeout) up to 84600.
No matter what % is downloaded 2minuts after notification is displayed in notification bar the process stop at error something like: "There was error while downloading files" (I have translated that string).
No single issue with Windows client or Webpage
Edit: I did try build from here: #17079 hoping its similar issue - but it looks its not
Edit: Also I tested on 2 different PCs (all works), 3 browsers (firefox, chrome, edge - all works), 2 different clients on PC (all works), 3 different clients on android (non of them worked with that big file, smaller files (under 2minutes download no issue))
Steps to reproduce
Expected behaviour
being able to download same files as on windows-client.
Actual behaviour
unable to download big files on android-client
Android version
16 (HyperOS 3)
Device brand and model
Xiaomi POCO F7
Stock or custom OS?
Stock
Nextcloud android app version
33.1.1, qa 17157, 34.0.0
Nextcloud server version
33.0.3, 33.0.5
Using a reverse proxy?
Yes
Android logs
http/2
http/1.1
Server error logs
Additional information
reverse proxy is on nginx (ssl)
nextcloud is on apache2 (http1) + php8.3-fpm
Tried without http2, changed buffer size, without buffer, longer times (timeout) up to 84600.
No matter what % is downloaded 2minuts after notification is displayed in notification bar the process stop at error something like: "There was error while downloading files" (I have translated that string).
No single issue with Windows client or Webpage
Edit: I did try build from here: #17079 hoping its similar issue - but it looks its not
Edit: Also I tested on 2 different PCs (all works), 3 browsers (firefox, chrome, edge - all works), 2 different clients on PC (all works), 3 different clients on android (non of them worked with that big file, smaller files (under 2minutes download no issue))