Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(479)

Issue 1777333002: [Cronet] Fix race in UploadDataStream.attachToRequest. (Closed)

Created:
4 years, 9 months ago by mef
Modified:
4 years, 9 months ago
Reviewers:
Charles, xunjieli
CC:
chromium-reviews, cbentzel+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[Cronet] Fix race in UploadDataStream.attachToRequest. - Add UploadDataStream.initalizeWithRequest to call DataProvider.getLength() outside of lock. - Use AttachNativeAdapterToRequest in UrlRequest.startInternal under the lock to ensure that request is not canceled. BUG=593490 Committed: https://crrev.com/db433eabe1d4854125e00885fbba073ada75ad94 Cr-Commit-Position: refs/heads/master@{#380654}

Patch Set 1 #

Total comments: 9

Patch Set 2 : Enable error prone and address its errors. #

Patch Set 3 : Address Helen's comments. #

Total comments: 2

Patch Set 4 : do getLength() outside the lock. #

Total comments: 10

Patch Set 5 : Address Helen's comments. #

Patch Set 6 : One more assert. #

Total comments: 3

Patch Set 7 : Move the comment. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+114 lines, -34 lines) Patch
M components/cronet/android/java/src/org/chromium/net/CronetUploadDataStream.java View 1 2 3 4 3 chunks +33 lines, -31 lines 0 comments Download
M components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java View 1 2 3 4 5 6 2 chunks +10 lines, -1 line 0 comments Download
M components/cronet/android/test/javatests/src/org/chromium/net/UploadDataProvidersTest.java View 1 2 3 4 5 3 chunks +69 lines, -0 lines 0 comments Download
M components/cronet/tools/cr_cronet.py View 1 1 chunk +2 lines, -2 lines 0 comments Download

Messages

Total messages: 19 (5 generated)
mef
PTAL. https://codereview.chromium.org/1777333002/diff/1/components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java File components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java (left): https://codereview.chromium.org/1777333002/diff/1/components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java#oldcode213 components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java:213: mStarted = true; This was also a problem ...
4 years, 9 months ago (2016-03-10 17:10:39 UTC) #2
xunjieli
Thanks for taking care of this. https://codereview.chromium.org/1777333002/diff/1/components/cronet/android/java/src/org/chromium/net/CronetUploadDataStream.java File components/cronet/android/java/src/org/chromium/net/CronetUploadDataStream.java (right): https://codereview.chromium.org/1777333002/diff/1/components/cronet/android/java/src/org/chromium/net/CronetUploadDataStream.java#newcode302 components/cronet/android/java/src/org/chromium/net/CronetUploadDataStream.java:302: void attachToRequest(final CronetUrlRequest ...
4 years, 9 months ago (2016-03-10 17:29:53 UTC) #3
mef
Thanks, PTAL. https://codereview.chromium.org/1777333002/diff/1/components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java File components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java (left): https://codereview.chromium.org/1777333002/diff/1/components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java#oldcode213 components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java:213: mStarted = true; On 2016/03/10 17:29:53, xunjieli ...
4 years, 9 months ago (2016-03-10 17:44:05 UTC) #4
xunjieli
https://codereview.chromium.org/1777333002/diff/1/components/cronet/android/test/javatests/src/org/chromium/net/UploadDataProvidersTest.java File components/cronet/android/test/javatests/src/org/chromium/net/UploadDataProvidersTest.java (right): https://codereview.chromium.org/1777333002/diff/1/components/cronet/android/test/javatests/src/org/chromium/net/UploadDataProvidersTest.java#newcode158 components/cronet/android/test/javatests/src/org/chromium/net/UploadDataProvidersTest.java:158: // second.block(); On 2016/03/10 17:44:05, mef wrote: > On ...
4 years, 9 months ago (2016-03-10 18:14:20 UTC) #5
mef
PTAL https://codereview.chromium.org/1777333002/diff/1/components/cronet/android/test/javatests/src/org/chromium/net/UploadDataProvidersTest.java File components/cronet/android/test/javatests/src/org/chromium/net/UploadDataProvidersTest.java (right): https://codereview.chromium.org/1777333002/diff/1/components/cronet/android/test/javatests/src/org/chromium/net/UploadDataProvidersTest.java#newcode158 components/cronet/android/test/javatests/src/org/chromium/net/UploadDataProvidersTest.java:158: // second.block(); On 2016/03/10 18:14:19, xunjieli wrote: > ...
4 years, 9 months ago (2016-03-10 19:00:54 UTC) #6
xunjieli
https://codereview.chromium.org/1777333002/diff/60001/components/cronet/android/java/src/org/chromium/net/CronetUploadDataStream.java File components/cronet/android/java/src/org/chromium/net/CronetUploadDataStream.java (right): https://codereview.chromium.org/1777333002/diff/60001/components/cronet/android/java/src/org/chromium/net/CronetUploadDataStream.java#newcode298 components/cronet/android/java/src/org/chromium/net/CronetUploadDataStream.java:298: * If data provider throws an exception, then it ...
4 years, 9 months ago (2016-03-10 20:32:22 UTC) #7
mef
Thanks, PTAL. https://codereview.chromium.org/1777333002/diff/60001/components/cronet/android/java/src/org/chromium/net/CronetUploadDataStream.java File components/cronet/android/java/src/org/chromium/net/CronetUploadDataStream.java (right): https://codereview.chromium.org/1777333002/diff/60001/components/cronet/android/java/src/org/chromium/net/CronetUploadDataStream.java#newcode298 components/cronet/android/java/src/org/chromium/net/CronetUploadDataStream.java:298: * If data provider throws an exception, ...
4 years, 9 months ago (2016-03-10 22:16:31 UTC) #8
xunjieli
lgtm mod one minor nit below. https://codereview.chromium.org/1777333002/diff/60001/components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java File components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java (right): https://codereview.chromium.org/1777333002/diff/60001/components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java#newcode219 components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java:219: if (isDoneLocked()) { ...
4 years, 9 months ago (2016-03-10 22:40:54 UTC) #9
mef
Thanks! https://codereview.chromium.org/1777333002/diff/60001/components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java File components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java (right): https://codereview.chromium.org/1777333002/diff/60001/components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java#newcode219 components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java:219: if (isDoneLocked()) { On 2016/03/10 22:40:54, xunjieli wrote: ...
4 years, 9 months ago (2016-03-11 15:43:06 UTC) #10
xunjieli
still lgtm https://codereview.chromium.org/1777333002/diff/100001/components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java File components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java (right): https://codereview.chromium.org/1777333002/diff/100001/components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java#newcode242 components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java:242: // Caller is expected to ensure that ...
4 years, 9 months ago (2016-03-11 15:44:32 UTC) #11
mef
On 2016/03/11 15:44:32, xunjieli wrote: > still lgtm > > https://codereview.chromium.org/1777333002/diff/100001/components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java > File components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java > ...
4 years, 9 months ago (2016-03-11 15:49:20 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1777333002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1777333002/120001
4 years, 9 months ago (2016-03-11 15:49:49 UTC) #15
commit-bot: I haz the power
Committed patchset #7 (id:120001)
4 years, 9 months ago (2016-03-11 16:56:26 UTC) #17
commit-bot: I haz the power
4 years, 9 months ago (2016-03-11 16:58:03 UTC) #19
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/db433eabe1d4854125e00885fbba073ada75ad94
Cr-Commit-Position: refs/heads/master@{#380654}

Powered by Google App Engine
This is Rietveld 408576698