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

Issue 2613393002: [Cronet] In JavaUrlRequest avoid thread-unsafe access to HttpURLConnection (Closed)

Created:
3 years, 11 months ago by pauljensen
Modified:
3 years, 11 months ago
Reviewers:
Charles
CC:
chromium-reviews, cbentzel+watch_chromium.org, agrieve+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[Cronet] In JavaUrlRequest avoid thread-unsafe access to HttpURLConnection Executor passed into JavaUrlRequest is backed by a thread-pool so it can concurrently run tasks which can lead to crashes in underlying HttpURLConnection. Prevent this by serializing taskes passed to underlying Executor. BUG=664872 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_cronet_tester Review-Url: https://codereview.chromium.org/2613393002 Cr-Commit-Position: refs/heads/master@{#443307} Committed: https://chromium.googlesource.com/chromium/src/+/16325c0ba632bc13701728830fe14a873ef8ab53

Patch Set 1 #

Total comments: 6

Patch Set 2 : address comments #

Total comments: 4

Patch Set 3 : address comments #

Patch Set 4 : ignore RejectedExecutionException #

Unified diffs Side-by-side diffs Delta from patch set Stats (+56 lines, -2 lines) Patch
M components/cronet/android/BUILD.gn View 1 1 chunk +1 line, -0 lines 0 comments Download
M components/cronet/android/java/src/org/chromium/net/impl/JavaUrlRequest.java View 1 2 3 5 chunks +55 lines, -2 lines 0 comments Download

Messages

Total messages: 15 (5 generated)
pauljensen
Charles, PTAL, thank you!
3 years, 11 months ago (2017-01-07 03:33:05 UTC) #3
Charles
https://codereview.chromium.org/2613393002/diff/1/components/cronet/android/java/src/org/chromium/net/impl/JavaUrlRequest.java File components/cronet/android/java/src/org/chromium/net/impl/JavaUrlRequest.java (right): https://codereview.chromium.org/2613393002/diff/1/components/cronet/android/java/src/org/chromium/net/impl/JavaUrlRequest.java#newcode135 components/cronet/android/java/src/org/chromium/net/impl/JavaUrlRequest.java:135: private final List<Runnable> mTaskQueue = new LinkedList<>(); Use an ...
3 years, 11 months ago (2017-01-07 03:48:06 UTC) #4
pauljensen
https://codereview.chromium.org/2613393002/diff/1/components/cronet/android/java/src/org/chromium/net/impl/JavaUrlRequest.java File components/cronet/android/java/src/org/chromium/net/impl/JavaUrlRequest.java (right): https://codereview.chromium.org/2613393002/diff/1/components/cronet/android/java/src/org/chromium/net/impl/JavaUrlRequest.java#newcode135 components/cronet/android/java/src/org/chromium/net/impl/JavaUrlRequest.java:135: private final List<Runnable> mTaskQueue = new LinkedList<>(); On 2017/01/07 ...
3 years, 11 months ago (2017-01-11 15:29:59 UTC) #5
Charles
https://codereview.chromium.org/2613393002/diff/20001/components/cronet/android/java/src/org/chromium/net/impl/JavaUrlRequest.java File components/cronet/android/java/src/org/chromium/net/impl/JavaUrlRequest.java (right): https://codereview.chromium.org/2613393002/diff/20001/components/cronet/android/java/src/org/chromium/net/impl/JavaUrlRequest.java#newcode133 components/cronet/android/java/src/org/chromium/net/impl/JavaUrlRequest.java:133: private class SeriaizingExecutor implements Executor { private final class ...
3 years, 11 months ago (2017-01-11 16:50:05 UTC) #6
pauljensen
https://codereview.chromium.org/2613393002/diff/20001/components/cronet/android/java/src/org/chromium/net/impl/JavaUrlRequest.java File components/cronet/android/java/src/org/chromium/net/impl/JavaUrlRequest.java (right): https://codereview.chromium.org/2613393002/diff/20001/components/cronet/android/java/src/org/chromium/net/impl/JavaUrlRequest.java#newcode133 components/cronet/android/java/src/org/chromium/net/impl/JavaUrlRequest.java:133: private class SeriaizingExecutor implements Executor { On 2017/01/11 16:50:05, ...
3 years, 11 months ago (2017-01-11 16:53:50 UTC) #7
Charles
lgtm
3 years, 11 months ago (2017-01-11 16:54:21 UTC) #8
pauljensen
Charles, PTAL, I had to handle RejectedExecutionException when JavaCronetEngine.shutdown() was called.
3 years, 11 months ago (2017-01-12 02:53:01 UTC) #9
Charles
lgtm
3 years, 11 months ago (2017-01-12 17:07:37 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2613393002/60001
3 years, 11 months ago (2017-01-12 17:14:40 UTC) #12
commit-bot: I haz the power
3 years, 11 months ago (2017-01-12 18:53:41 UTC) #15
Message was sent while issue was closed.
Committed patchset #4 (id:60001) as
https://chromium.googlesource.com/chromium/src/+/16325c0ba632bc13701728830fe1...

Powered by Google App Engine
This is Rietveld 408576698