Skip to content

While downloading very big files, Error after 2 minuts (120 seconds) only on Android client #17166

@bigretromike

Description

@bigretromike

⚠️ Before posting ⚠️

  • This is a bug, not a question or an enhancement.
  • I've searched for similar issues and didn't find a duplicate.
  • I've written a clear and descriptive title for this issue, not just "Bug" or "Crash".
  • I agree to follow Nextcloud's Code of Conduct.

Steps to reproduce

  1. upload big file (3GB)
  2. try to download it thru android client
  3. 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))

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions