New issue
Advanced search Search tips

Issue 707753 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug-Regression



Sign in to add a comment

If we connect to WiFi while downloading file in LTE, downloading pauses.

Reported by smcs...@gmail.com, Apr 3 2017

Issue description

Example URL:

Steps to reproduce the problem:
General Description: Issue is reproduced in Nexus Device
Google Play Services version: 10.2.98
Google Chrome version: 57.0.2987.132
Android version: 7.1.1

Steps to reproduce the problem:
[Preconditions]
1. Nexus device
2. WiFi AP
3. Make Nexus and WiFi AP connected via WiFi at least once (Auto connection: ON)

Steps]
1. WiFi AP: OFF and make sure that Nexus is in the coverage area of LTE 
2. By Nexus, download file with WEB Browser
(Execute below steps while downloading file)
3. WiFi AP: ON 
4. Make sure that Nexus is connected to WiFi AP and downloading continues
5. Wait for some time

What is the expected behavior?
Even after connecting to WiFi AP, downloading file should continue. 

What went wrong?
After connected to WiFi, the screen saying "Downloading..." changes to "Downloading pending."
Then, downloading does not start again automatically.
If "Resume downloading" is pressed, downloading will start again using WiFi. If WiFi is disabled downloading starts again

Did this work before? Yes 51.0.2704.81

Chrome version: 57.0.2987.132  Channel: n/a
OS Version: 7.1.1
Flash Version: 

04-03 18:04:30.081   881  2974 D ConnectivityService: handleLingerComplete for NetworkAgentInfo [MOBILE (LTE) - 116]
04-03 18:04:30.082  3196  3382 D DcNetworkAgent: NetworkAgent: NetworkAgent channel lost
04-03 18:04:30.082   881  2974 D ConnectivityService: NetworkAgentInfo [MOBILE (LTE) - 116] got DISCONNECTED, was satisfying 6
04-03 18:04:30.082  3196  3382 D DcNetworkAgent: NetworkAgent: DcNetworkAgent: [unwanted]: disconnect apnContext={mApnType=default mState=CONNECTED mWaitingApns={[[ApnSettingV3] Mobile Office, 1432, 40445, airtelgprs.com, , , , , , -1, default | supl, IP, IP, true, 0, 0, 0, false, 0, 0, 0, 0, , , false]} mApnSetting={[ApnSettingV3] Mobile Office, 1432, 40445, airtelgprs.com, , , , , , -1, default | supl, IP, IP, true, 0, 0, 0, false, 0, 0, 0, 0, , , false} mReason=dataDisabled mDataEnabled=false mDependencyMet=true}
04-03 18:04:30.099   881  2994 D DnsEventListenerService: Logging 65 results for netId 116
04-03 18:04:30.287   520   879 E Netd    : netlink response contains error (No such file or directory)
04-03 18:04:30.728  3900  4061 D StreamDBQueue: Promised revision #1397 to queue a new op
04-03 18:04:30.728  3900  4061 D BaseStreamManager: Promised set @ r#1397 for (com.android.chrome,tag=DownloadNotificationService,id=1000004,notifKey=0|com.android.chrome|1000004|DownloadNotificationService|10053)
04-03 18:04:30.731  3900  4062 D DynamicBucketRankerImpl: StreamItemId{notifKey=0|com.android.chrome|1000004|DownloadNotificationService|10053, packageName=com.android.chrome, tag=DownloadNotificationService, id=1000004, revision=1397, originalRevision=1351} in bucket #3 (Ongoing)
04-03 18:04:30.731  3900  4062 D WatchStreamDB: StreamItem[StreamItemId{notifKey=0|com.android.chrome|1000004|DownloadNotificationService|10053, packageName=com.android.chrome, tag=DownloadNotificationService, id=1000004, revision=1397, originalRevision=1351},StreamItemDataImpl[title=26 chars creatorNode=null, originalPackageName=com.android.chrome, localPackageName=com.android.chrome, appName=Chrome, postTime=1491222870708, lastInterruptTime=0, user=UserHandle{0}, onlyAlertOnce=false, vibration pattern=null, interruptive=false, summary=false, hasCustomContentView=false, dismissalId=null, bridgeTag=null]] ranked at index 0
04-03 18:04:30.732  3900  4062 D DatabaseEventLogger: *** Published revision 1397
04-03 18:04:30.732  3900  4062 D DatabaseEventLogger:   Updated items:
04-03 18:04:30.732  3900  4062 D DatabaseEventLogger:     StreamItemId{notifKey=0|com.android.chrome|1000004|DownloadNotificationService|10053, packageName=com.android.chrome, tag=DownloadNotificationService, id=1000004, revision=1397, originalRevision=1351}
04-03 18:04:30.732  3900  4062 D DatabaseEventLogger:   ** Platform diffs:
04-03 18:04:30.732  3900  4062 D DatabaseEventLogger:     Top items (3 total)
04-03 18:04:30.732  3900  4062 D DatabaseEventLogger:       Reordered: yes
04-03 18:04:30.732  3900  4062 D DatabaseEventLogger:       Updated:
04-03 18:04:30.732  3900  4062 D DatabaseEventLogger:         StreamItemId{notifKey=0|com.android.chrome|1000004|DownloadNotificationService|10053, packageName=com.android.chrome, tag=DownloadNotificationService, id=1000004, revision=1397, originalRevision=1351}
04-03 18:04:30.732  3900  4062 D DatabaseEventLogger:     Unread items (0 total)
 
ChromeNetwork.txt
533 KB View Download

Comment 1 by smcs...@gmail.com, Apr 3 2017

Attaching one more logs file from Nexus
finalChromeNetwork.txt
678 KB View Download
Cc: krav...@chromium.org
Components: UI>Browser>Downloads
Owner: qin...@chromium.org
Status: Assigned (was: Unconfirmed)
 Issue 707750  has been merged into this issue.
i tried my nexus 6P, and download will continue when conntected to Wifi.


would you please get net log by visiting chrome://net-internals/#export and attach that log here?

Comment 5 by smcs...@gmail.com, Apr 6 2017

After step 3 wait for some 40-50 seconds,issue will occur. And download some big file like android studio etc.
We can reproduce this issue on Nexus 5x android version 7.1.1.
I have already attached the logs above

Comment 6 by smcs...@gmail.com, Apr 6 2017

Adding to above notes, i have a query on How to visit chrome://net-internals/#export and can you specify what exactly you are asking
To get the network log, you can create a new tab, open chrome://net-export, and click on the "start logging to disk" button. 
Now switch back to the other tab, perform what action is needed to repro the issue. After that, switch back to the net-export tab and click "stop logging".

And you can open the log in chrome://net-internals to analyze all the network events.

Comment 9 by smcs...@gmail.com, Apr 12 2017

Hi,
i have attached the net_internals_log file.

net_internals_log.zip
4.0 MB Download

Comment 10 by smcs...@gmail.com, May 3 2017

Is there any update on this issue regarding when it will be fixed?
I am looking into this now, will update the bug once i found the cause
OK, i think i understand why this happens.

The download uses QUIC. After connecting to WIFI, Android will use wifi as the active network after some time. However, the initial QUIC connection was established on LTE, so the connection is broken and we get a QUIC_PROTOCOL_ERROR.

Chrome listens to the network connection event from the OS to resume the download. However, since both LTE and WIFI are connected, it never receives that event. That causes the download to stuck in a pending state unless user manually resumes the download, or disconnects the device and reconnects.

I am working on a fix to this issue.
Project Member

Comment 13 by bugdroid1@chromium.org, May 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/43c5f35105c185d6d48b580d7a2ad98ca3be21eb

commit 43c5f35105c185d6d48b580d7a2ad98ca3be21eb
Author: qinmin <qinmin@chromium.org>
Date: Thu May 11 17:56:14 2017

Fix an issue that download is not automatically resumed

An interrupted download will automatically resume after network reconnection.
However, if the interruption is caused by switching active networks,
no reconnection event will happen.
For example, download may get interrupted if it is started on LTE and then OS decides to switch to WIFI.
In this case, we should immediately resume the download rather than waiting for reconnection.

BUG= 707753 

Review-Url: https://codereview.chromium.org/2864533004
Cr-Commit-Position: refs/heads/master@{#471004}

[modify] https://crrev.com/43c5f35105c185d6d48b580d7a2ad98ca3be21eb/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java

Project Member

Comment 14 by bugdroid1@chromium.org, May 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/43c5f35105c185d6d48b580d7a2ad98ca3be21eb

commit 43c5f35105c185d6d48b580d7a2ad98ca3be21eb
Author: qinmin <qinmin@chromium.org>
Date: Thu May 11 17:56:14 2017

Fix an issue that download is not automatically resumed

An interrupted download will automatically resume after network reconnection.
However, if the interruption is caused by switching active networks,
no reconnection event will happen.
For example, download may get interrupted if it is started on LTE and then OS decides to switch to WIFI.
In this case, we should immediately resume the download rather than waiting for reconnection.

BUG= 707753 

Review-Url: https://codereview.chromium.org/2864533004
Cr-Commit-Position: refs/heads/master@{#471004}

[modify] https://crrev.com/43c5f35105c185d6d48b580d7a2ad98ca3be21eb/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java

Comment 15 by smcs...@gmail.com, Jun 12 2017

Hi,

I retested this issue in Google Chrome version: 58.0.3029.83 with Google Play Services version: 11.0.55. Issue is still reproduced.
Can you please update on which apk version this issue is fixed.
This change goes to M59, and it is going stable very soon.

Comment 17 by smcs...@gmail.com, Jun 13 2017

sorry can you tell what is M59. is it chrome latest version "59"?

Yes, M59 is Chrome 59. we are rolling out the stable release really soon, or you can try the Chrome beta from play store
Status: Fixed (was: Assigned)

Comment 20 Deleted

Comment 21 by smcs...@gmail.com, Jul 20 2017

we retested the issue in Google Pixel with Android 7.1.2 and Xperia XZs with android version: 7.1.1 with latest Chrome version: 59.0.3071.125. 
Issue is still reproduced.
ah, sorry, I made a mistake. The CL missed the branching point for M59, it is in M60 though.

Please download the Chrome Beta app from Google play to test it

Comment 23 by smcs...@gmail.com, Jul 21 2017

We retested in Chrome Beta app from Google Play Store. Issue is not reproduced.

But one observation:
while downloading from LTE to WiFi issue is not reproduced. But if we  again disabling WiFi while downloading in going on in WiFi i.e after step 5, issue is reproduced. 
Is this work as design or downloading should resume from LTE network.
#23, that should be a bug.

If the download is initiated/resumed from a mobile network, it should auto resume on mobile network, I will test this later

Comment 25 by smcs...@gmail.com, Jul 24 2017

please update us once it will be fixed. 
Thank you.
I am able to repro the issue in #23 on Chrome Beta, but this is not reproducible on trunk build. 

So looks like this is fixed on trunk, but I need to check which CL fixes it.
I think the issue is fixed by https://codereview.chromium.org/2866253002, this is a big CL, so i would not cherry-pick it to M60. 

This should be fixed in M61

Comment 28 by smcs...@gmail.com, Sep 1 2017

Kindly update once it will be fixed
I can still reproduce the issue in Chrome 66 on Galaxy s6 edge on Android 7.0.

Let me know if anything more is needed.


Sign in to add a comment