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

Issue 228023005: Additions to support crazy linker callbacks from the UI thread. (Closed)

Created:
6 years, 8 months ago by simonb (inactive)
Modified:
6 years, 7 months ago
Reviewers:
digit, bulach, bulach_, simonb1
CC:
chromium-reviews, erikwright+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

Crazy linker fix for https://code.google.com/p/chromium/issues/detail?id=355595 There is a race between the crazy linker running on the native thread and the system linker running at the same time on the main UI thread, It can show up in several places, but in its simplest incarnation appears as: --- crazy linker on native thread mprotect page writable --- system linker on main thread mprotect page writable write it mprotect page readonly --- crazy linker on native thread write it [ <- sigsegv, page readonly (code=2) ] mprotect page readonly [ not reached ] The patch moves the crazy linker's r_map update calls so that they execute on the main UI thread. This ensures that the crazy linker sets these pages writable and then readonly once done synchronously with system linker activity. Companion to: https://googleplex-android-review.git.corp.google.com/#/c/448556/ BUG=355595 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=270084

Patch Set 1 : #

Patch Set 2 : Tidy up style. #

Total comments: 10

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : Call crazy_library_close_with_context() to close. #

Patch Set 8 : #

Patch Set 9 : #

Total comments: 4

Patch Set 10 : Update for review feedback. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+170 lines, -27 lines) Patch
M base/android/java/src/org/chromium/base/library_loader/Linker.java View 1 2 3 4 2 chunks +24 lines, -0 lines 0 comments Download
M base/android/linker/linker_jni.cc View 1 2 3 4 5 6 7 8 9 7 chunks +146 lines, -27 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
bulach
lgtm % nits, thanks! https://codereview.chromium.org/228023005/diff/40001/base/android/java/src/org/chromium/base/library_loader/Linker.java File base/android/java/src/org/chromium/base/library_loader/Linker.java (right): https://codereview.chromium.org/228023005/diff/40001/base/android/java/src/org/chromium/base/library_loader/Linker.java#newcode852 base/android/java/src/org/chromium/base/library_loader/Linker.java:852: public static void PostCallbackOnMainThread(final long ...
6 years, 8 months ago (2014-04-15 13:58:14 UTC) #1
bulach
sorry, forgot to mention. you may want to have on the description something like: "Crazy ...
6 years, 8 months ago (2014-04-15 13:59:13 UTC) #2
simonb1
https://codereview.chromium.org/228023005/diff/40001/base/android/java/src/org/chromium/base/library_loader/Linker.java File base/android/java/src/org/chromium/base/library_loader/Linker.java (right): https://codereview.chromium.org/228023005/diff/40001/base/android/java/src/org/chromium/base/library_loader/Linker.java#newcode852 base/android/java/src/org/chromium/base/library_loader/Linker.java:852: public static void PostCallbackOnMainThread(final long opaque) { On 2014/04/15 ...
6 years, 8 months ago (2014-04-17 14:45:43 UTC) #3
bulach
still lgtm, thanks! just some nits I didn't catch before, sorry! https://codereview.chromium.org/228023005/diff/160001/base/android/linker/linker_jni.cc File base/android/linker/linker_jni.cc (right): ...
6 years, 7 months ago (2014-05-07 16:10:52 UTC) #4
simonb1
https://codereview.chromium.org/228023005/diff/160001/base/android/linker/linker_jni.cc File base/android/linker/linker_jni.cc (right): https://codereview.chromium.org/228023005/diff/160001/base/android/linker/linker_jni.cc#newcode306 base/android/linker/linker_jni.cc:306: struct CallbackRefs_class { On 2014/05/07 16:10:53, bulach wrote: > ...
6 years, 7 months ago (2014-05-07 17:25:24 UTC) #5
simonb (inactive)
The CQ bit was checked by simonb@chromium.org
6 years, 7 months ago (2014-05-13 11:41:09 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/simonb@chromium.org/228023005/180001
6 years, 7 months ago (2014-05-13 11:41:41 UTC) #7
commit-bot: I haz the power
6 years, 7 months ago (2014-05-13 13:26:53 UTC) #8
Message was sent while issue was closed.
Change committed as 270084

Powered by Google App Engine
This is Rietveld 408576698