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

Issue 1926683003: [Cronet] Avoid crashing when CronetEngines are created on multiple threads (Closed)

Created:
4 years, 7 months ago by pauljensen
Modified:
4 years, 7 months ago
Reviewers:
kapishnikov, mef
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] Avoid crashing when CronetEngines are created on multiple threads Creating a CronetEngine on one thread calls CronetLibraryLoader.ensureInitialized() which posts to the main thread, but if a CronetEngine is created immediately after this on the main thread without first returning to the message loop, that initialization won't have happened and the initialization of the CronetEngine being created on the main thread could crash when it tries to get the current native MessageLoop. BUG=607178 Committed: https://crrev.com/b20cd0fe76a4e163920ecf8ab7f9fbb9ed39c9ec Cr-Commit-Position: refs/heads/master@{#390738}

Patch Set 1 #

Total comments: 8

Patch Set 2 : address mef comments #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+49 lines, -11 lines) Patch
M components/cronet/android/java/src/org/chromium/net/CronetLibraryLoader.java View 1 4 chunks +21 lines, -10 lines 0 comments Download
M components/cronet/android/java/src/org/chromium/net/CronetUrlRequestContext.java View 1 2 chunks +2 lines, -1 line 0 comments Download
M components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java View 1 chunk +26 lines, -0 lines 4 comments Download

Messages

Total messages: 41 (14 generated)
pauljensen
Misha, PTAL.
4 years, 7 months ago (2016-04-27 14:55:48 UTC) #2
kapishnikov
Should we do the same check in the constructor of ChromiumUrlRequestContext? https://codereview.chromium.org/1926683003/diff/1/components/cronet/android/java/src/org/chromium/net/CronetLibraryLoader.java File components/cronet/android/java/src/org/chromium/net/CronetLibraryLoader.java (right): ...
4 years, 7 months ago (2016-04-27 15:53:18 UTC) #4
pauljensen
On 2016/04/27 15:53:18, kapishnikov wrote: > Should we do the same check in the constructor ...
4 years, 7 months ago (2016-04-27 16:08:55 UTC) #5
mef
https://codereview.chromium.org/1926683003/diff/1/components/cronet/android/java/src/org/chromium/net/CronetLibraryLoader.java File components/cronet/android/java/src/org/chromium/net/CronetLibraryLoader.java (right): https://codereview.chromium.org/1926683003/diff/1/components/cronet/android/java/src/org/chromium/net/CronetLibraryLoader.java#newcode23 components/cronet/android/java/src/org/chromium/net/CronetLibraryLoader.java:23: // Has library loading commenced? Setting guarded by sLoadLock. ...
4 years, 7 months ago (2016-04-27 16:43:47 UTC) #6
pauljensen
https://codereview.chromium.org/1926683003/diff/1/components/cronet/android/java/src/org/chromium/net/CronetLibraryLoader.java File components/cronet/android/java/src/org/chromium/net/CronetLibraryLoader.java (right): https://codereview.chromium.org/1926683003/diff/1/components/cronet/android/java/src/org/chromium/net/CronetLibraryLoader.java#newcode23 components/cronet/android/java/src/org/chromium/net/CronetLibraryLoader.java:23: // Has library loading commenced? Setting guarded by sLoadLock. ...
4 years, 7 months ago (2016-04-27 16:56:42 UTC) #7
kapishnikov
I think there is still a possibility for the client to start calling CronetUrlRequestContext methods ...
4 years, 7 months ago (2016-04-27 17:30:09 UTC) #8
pauljensen
On 2016/04/27 17:30:09, kapishnikov wrote: > I think there is still a possibility for the ...
4 years, 7 months ago (2016-04-27 17:50:19 UTC) #9
kapishnikov
On 2016/04/27 17:50:19, pauljensen wrote: > On 2016/04/27 17:30:09, kapishnikov wrote: > > I think ...
4 years, 7 months ago (2016-04-27 18:12:01 UTC) #10
pauljensen
On 2016/04/27 18:12:01, kapishnikov wrote: > On 2016/04/27 17:50:19, pauljensen wrote: > > On 2016/04/27 ...
4 years, 7 months ago (2016-04-27 18:16:15 UTC) #11
kapishnikov
On 2016/04/27 18:16:15, pauljensen wrote: > On 2016/04/27 18:12:01, kapishnikov wrote: > > On 2016/04/27 ...
4 years, 7 months ago (2016-04-27 18:27:26 UTC) #12
pauljensen
On 2016/04/27 18:27:26, kapishnikov wrote: > On 2016/04/27 18:16:15, pauljensen wrote: > > On 2016/04/27 ...
4 years, 7 months ago (2016-04-27 18:29:50 UTC) #13
mef
https://codereview.chromium.org/1926683003/diff/20001/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java File components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java (right): https://codereview.chromium.org/1926683003/diff/20001/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java#newcode1142 components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java:1142: CronetEngine cronetEngine = builder.build(); Can we create and start ...
4 years, 7 months ago (2016-04-27 18:48:15 UTC) #14
pauljensen
https://codereview.chromium.org/1926683003/diff/20001/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java File components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java (right): https://codereview.chromium.org/1926683003/diff/20001/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java#newcode1142 components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java:1142: CronetEngine cronetEngine = builder.build(); On 2016/04/27 18:48:15, mef wrote: ...
4 years, 7 months ago (2016-04-27 19:04:24 UTC) #15
kapishnikov
Maybe it is okay for the client to call CronetEngine methods before nativeCronetInitOnMainThread() is executed. ...
4 years, 7 months ago (2016-04-27 19:36:26 UTC) #16
mef
lgtm for the fix of reported crash, although I would like to verify that it ...
4 years, 7 months ago (2016-04-27 19:50:00 UTC) #17
pauljensen
On 2016/04/27 19:50:00, mef wrote: > lgtm for the fix of reported crash, although I ...
4 years, 7 months ago (2016-04-27 20:02:00 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1926683003/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1926683003/20001
4 years, 7 months ago (2016-04-27 21:03:42 UTC) #20
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 7 months ago (2016-04-27 21:48:55 UTC) #21
pasko
A revert of this CL (patchset #2 id:20001) has been created in https://codereview.chromium.org/1927863004/ by pasko@chromium.org. ...
4 years, 7 months ago (2016-04-28 10:47:15 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1926683003/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1926683003/40001
4 years, 7 months ago (2016-04-29 01:26:03 UTC) #26
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 7 months ago (2016-04-29 02:19:29 UTC) #28
ccameron
On 2016/04/29 02:19:29, commit-bot: I haz the power wrote: > Committed patchset #3 (id:40001) I ...
4 years, 7 months ago (2016-04-29 17:57:52 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1926683003/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1926683003/20001
4 years, 7 months ago (2016-04-29 19:45:42 UTC) #33
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 7 months ago (2016-04-29 20:18:56 UTC) #35
commit-bot: I haz the power
Patchset 2 (id:??) landed as https://crrev.com/aa99c6902d3ec652f37bc38bcc6862f83ed3deae Cr-Commit-Position: refs/heads/master@{#390204}
4 years, 7 months ago (2016-04-30 17:13:38 UTC) #36
commit-bot: I haz the power
Patchset 2 (id:??) landed as https://crrev.com/315ed9b17216bff1847dce29ecae62828e09ead8 Cr-Commit-Position: refs/heads/master@{#390576}
4 years, 7 months ago (2016-04-30 17:23:52 UTC) #37
commit-bot: I haz the power
4 years, 7 months ago (2016-04-30 17:28:22 UTC) #38
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/b20cd0fe76a4e163920ecf8ab7f9fbb9ed39c9ec
Cr-Commit-Position: refs/heads/master@{#390738}

Powered by Google App Engine
This is Rietveld 408576698