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

Issue 2971063003: Handle Java assert using a customized function in base (Closed)

Created:
3 years, 5 months ago by Ran
Modified:
3 years, 5 months ago
Reviewers:
F, Yaron, agrieve
CC:
chromium-reviews, mikecase+watch_chromium.org, danakj+watch_chromium.org, agrieve+watch_chromium.org, jbudorick+watch_chromium.org, vmpstr+watch_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Create java_assertion_handler, a Java binary that takes in a JAR file and modifies the bytecode of classes. Replace the Java ASSERT with JavaExceptionReporter.assertFailureHandler that throws Exception. Output is written to a new JAR file. BUG=672945 Review-Url: https://codereview.chromium.org/2971063003 Cr-Original-Commit-Position: refs/heads/master@{#487903} Committed: https://chromium.googlesource.com/chromium/src/+/33133e5767a9c1ca1f7e9defad2d7b3347065589 Review-Url: https://codereview.chromium.org/2971063003 Cr-Commit-Position: refs/heads/master@{#488381} Committed: https://chromium.googlesource.com/chromium/src/+/bef3daf02ae6035f166782025fd7e4e54d465271

Patch Set 1 #

Total comments: 12

Patch Set 2 : move file to AssertionEnabler.java #

Total comments: 2

Patch Set 3 : rebase and simplify code #

Total comments: 18

Patch Set 4 : just refactor, do not report exception #

Total comments: 6

Patch Set 5 : add goto to the end of assert statement #

Total comments: 6

Patch Set 6 : fix comment #

Patch Set 7 : remove assert in Webapk #

Total comments: 4

Patch Set 8 : fix goto #

Patch Set 9 : fix failure on targets that do not depend on java/base #

Patch Set 10 : rebase #

Patch Set 11 : fix tests #

Unified diffs Side-by-side diffs Delta from patch set Stats (+173 lines, -65 lines) Patch
M base/BUILD.gn View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M base/android/java/src/org/chromium/base/JavaExceptionReporter.java View 1 2 3 4 5 6 7 8 2 chunks +11 lines, -0 lines 0 comments Download
M base/android/java/src/org/chromium/base/process_launcher/ChildProcessLauncher.java View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M build/android/BUILD.gn View 1 2 3 4 5 6 7 8 1 chunk +8 lines, -0 lines 0 comments Download
A build/android/buildhooks/java/org/chromium/buildhooks/BuildHooks.java View 1 2 3 4 5 6 7 8 9 10 1 chunk +26 lines, -0 lines 0 comments Download
A build/android/buildhooks/java/org/chromium/buildhooks/Callback.java View 1 2 3 4 5 6 7 8 1 chunk +10 lines, -0 lines 0 comments Download
M build/android/java_assertion_enabler/java/org/chromium/javaassertionenabler/AssertionEnabler.java View 1 2 3 4 5 6 7 8 5 chunks +90 lines, -36 lines 0 comments Download
M build/config/android/internal_rules.gni View 1 2 3 4 5 6 7 8 1 chunk +6 lines, -0 lines 0 comments Download
M chrome/android/BUILD.gn View 1 2 3 4 5 6 7 8 6 chunks +15 lines, -14 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/BackgroundSyncLauncher.java View 1 2 3 4 5 6 7 8 9 10 2 chunks +2 lines, -0 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java View 1 2 3 4 5 6 7 8 2 chunks +3 lines, -0 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageTabObserver.java View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M chrome/android/webapk/libs/runtime_library/src/org/chromium/webapk/lib/runtime_library/WebApkServiceImpl.java View 1 2 3 4 5 6 1 chunk +0 lines, -1 line 0 comments Download
M chrome/android/webapk/shell_apk/shell_apk_version.gni View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/HostBrowserClassLoader.java View 1 2 3 4 5 6 3 chunks +0 lines, -9 lines 0 comments Download
M chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/WebApkSandboxedProcessService.java View 1 2 3 4 5 6 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 107 (82 generated)
Ran
Hi Andrew, Yaron, PTAL! Thanks!
3 years, 5 months ago (2017-07-06 00:59:15 UTC) #11
agrieve
https://codereview.chromium.org/2971063003/diff/40001/base/android/java/src/org/chromium/base/JavaExceptionReporter.java File base/android/java/src/org/chromium/base/JavaExceptionReporter.java (right): https://codereview.chromium.org/2971063003/diff/40001/base/android/java/src/org/chromium/base/JavaExceptionReporter.java#newcode63 base/android/java/src/org/chromium/base/JavaExceptionReporter.java:63: StackTraceElement[] stack = Thread.currentThread().getStackTrace(); I think it would be ...
3 years, 5 months ago (2017-07-06 02:49:50 UTC) #12
Yaron
https://codereview.chromium.org/2971063003/diff/40001/base/android/java/src/org/chromium/base/JavaExceptionReporter.java File base/android/java/src/org/chromium/base/JavaExceptionReporter.java (right): https://codereview.chromium.org/2971063003/diff/40001/base/android/java/src/org/chromium/base/JavaExceptionReporter.java#newcode63 base/android/java/src/org/chromium/base/JavaExceptionReporter.java:63: StackTraceElement[] stack = Thread.currentThread().getStackTrace(); On 2017/07/06 02:49:50, agrieve wrote: ...
3 years, 5 months ago (2017-07-06 14:20:38 UTC) #13
Ran
Move code to AssertionHandler.java and add some comments. https://codereview.chromium.org/2971063003/diff/40001/base/android/java/src/org/chromium/base/JavaExceptionReporter.java File base/android/java/src/org/chromium/base/JavaExceptionReporter.java (right): https://codereview.chromium.org/2971063003/diff/40001/base/android/java/src/org/chromium/base/JavaExceptionReporter.java#newcode63 base/android/java/src/org/chromium/base/JavaExceptionReporter.java:63: StackTraceElement[] ...
3 years, 5 months ago (2017-07-06 16:58:16 UTC) #15
agrieve
https://codereview.chromium.org/2971063003/diff/40001/base/android/java/src/org/chromium/base/JavaExceptionReporter.java File base/android/java/src/org/chromium/base/JavaExceptionReporter.java (right): https://codereview.chromium.org/2971063003/diff/40001/base/android/java/src/org/chromium/base/JavaExceptionReporter.java#newcode63 base/android/java/src/org/chromium/base/JavaExceptionReporter.java:63: StackTraceElement[] stack = Thread.currentThread().getStackTrace(); On 2017/07/06 16:58:16, Ran wrote: ...
3 years, 5 months ago (2017-07-06 18:55:36 UTC) #16
Ran
Thanks for the suggestion. I was looking at the wrong place. It's much simple and ...
3 years, 5 months ago (2017-07-06 20:50:18 UTC) #19
agrieve
Almost there! https://codereview.chromium.org/2971063003/diff/130001/base/android/java/src/org/chromium/base/JavaExceptionReporter.java File base/android/java/src/org/chromium/base/JavaExceptionReporter.java (right): https://codereview.chromium.org/2971063003/diff/130001/base/android/java/src/org/chromium/base/JavaExceptionReporter.java#newcode58 base/android/java/src/org/chromium/base/JavaExceptionReporter.java:58: * Report and upload the stack trace ...
3 years, 5 months ago (2017-07-07 17:25:17 UTC) #20
Ran
Just throw AssertionError in assertFailureHandler, report failure and add gn arg in follow-up cl. https://codereview.chromium.org/2971063003/diff/130001/base/android/java/src/org/chromium/base/JavaExceptionReporter.java ...
3 years, 5 months ago (2017-07-07 18:16:24 UTC) #21
agrieve
lgtm. Please first update the commit description. Note: there is some risk of this breaking ...
3 years, 5 months ago (2017-07-07 18:42:42 UTC) #22
Yaron
lgtm https://codereview.chromium.org/2971063003/diff/150001/build/android/java_assertion_enabler/OWNERS File build/android/java_assertion_enabler/OWNERS (right): https://codereview.chromium.org/2971063003/diff/150001/build/android/java_assertion_enabler/OWNERS#newcode3 build/android/java_assertion_enabler/OWNERS:3: ranj@chromium.org are you a committer? (nit: also sort)
3 years, 5 months ago (2017-07-07 21:03:45 UTC) #25
Ran
Thanks's for Andrew & Felix's suggestion, goto the instruction that will be called as if ...
3 years, 5 months ago (2017-07-17 21:46:52 UTC) #55
agrieve
opcode changes look good. https://codereview.chromium.org/2971063003/diff/330001/build/android/java_assertion_enabler/java/org/chromium/javaassertionenabler/AssertionEnabler.java File build/android/java_assertion_enabler/java/org/chromium/javaassertionenabler/AssertionEnabler.java (right): https://codereview.chromium.org/2971063003/diff/330001/build/android/java_assertion_enabler/java/org/chromium/javaassertionenabler/AssertionEnabler.java#newcode47 build/android/java_assertion_enabler/java/org/chromium/javaassertionenabler/AssertionEnabler.java:47: * The followed instructions are ...
3 years, 5 months ago (2017-07-18 00:16:51 UTC) #56
Ran
Fix issues. https://codereview.chromium.org/2971063003/diff/330001/build/android/java_assertion_enabler/java/org/chromium/javaassertionenabler/AssertionEnabler.java File build/android/java_assertion_enabler/java/org/chromium/javaassertionenabler/AssertionEnabler.java (right): https://codereview.chromium.org/2971063003/diff/330001/build/android/java_assertion_enabler/java/org/chromium/javaassertionenabler/AssertionEnabler.java#newcode47 build/android/java_assertion_enabler/java/org/chromium/javaassertionenabler/AssertionEnabler.java:47: * The followed instructions are generated by ...
3 years, 5 months ago (2017-07-18 04:00:25 UTC) #61
Yaron
not lgtm per issue that was exposed and subsequent updates. I'd be happy to be ...
3 years, 5 months ago (2017-07-18 19:53:19 UTC) #62
Ran
Fix. https://codereview.chromium.org/2971063003/diff/150001/build/android/java_assertion_enabler/OWNERS File build/android/java_assertion_enabler/OWNERS (right): https://codereview.chromium.org/2971063003/diff/150001/build/android/java_assertion_enabler/OWNERS#newcode3 build/android/java_assertion_enabler/OWNERS:3: ranj@chromium.org On 2017/07/18 19:53:18, Yaron wrote: > On ...
3 years, 5 months ago (2017-07-18 21:43:11 UTC) #63
Yaron
lgtm
3 years, 5 months ago (2017-07-18 21:45:59 UTC) #64
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/2971063003/390001
3 years, 5 months ago (2017-07-19 17:25:32 UTC) #75
commit-bot: I haz the power
Committed patchset #8 (id:390001) as https://chromium.googlesource.com/chromium/src/+/33133e5767a9c1ca1f7e9defad2d7b3347065589
3 years, 5 months ago (2017-07-19 17:32:05 UTC) #79
mgersh
This CL caused a Cronet bot (https://build.chromium.org/p/chromium.android/builders/Android%20Cronet%20x86%20Builder%20%28dbg%29) to start failing with: Warning: org.chromium.net.impl.UrlRequestBase: can't find ...
3 years, 5 months ago (2017-07-19 17:57:07 UTC) #80
mgersh
A revert of this CL (patchset #8 id:390001) has been created in https://codereview.chromium.org/2981273003/ by mgersh@chromium.org. ...
3 years, 5 months ago (2017-07-19 18:07:04 UTC) #81
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/2971063003/470001
3 years, 5 months ago (2017-07-20 20:09:25 UTC) #98
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/2971063003/470001
3 years, 5 months ago (2017-07-20 20:10:25 UTC) #101
commit-bot: I haz the power
Committed patchset #11 (id:470001) as https://chromium.googlesource.com/chromium/src/+/bef3daf02ae6035f166782025fd7e4e54d465271
3 years, 5 months ago (2017-07-20 20:21:34 UTC) #104
estevenson
A revert of this CL (patchset #11 id:470001) has been created in https://codereview.chromium.org/2985613002/ by estevenson@chromium.org. ...
3 years, 5 months ago (2017-07-20 20:35:18 UTC) #105
sgurun-gerrit only
3 years, 5 months ago (2017-07-20 20:57:38 UTC) #106
Message was sent while issue was closed.
On 2017/07/20 20:35:18, estevenson wrote:
> A revert of this CL (patchset #11 id:470001) has been created in
> https://codereview.chromium.org/2985613002/ by mailto:estevenson@chromium.org.
> 
> The reason for reverting is: Reland changes weren't reviewed.

 This broke cronet builder. Next time relanding can you please test cronet, as
this is the second break of cronet by this CL.

Automatically closing tree for "Failure reason,compile,steps" on "Android Cronet
x86 Builder (dbg)"

https://build.chromium.org/p/chromium.android/builders/Android%20Cronet%20x86...


sage -printmapping
gen/components/cronet/android/cronet_smoketests_missing_native_library_apk/cronet_smoketests_missing_native_library_apk.proguard.jar.mapping
)
Warning: org.chromium.net.impl.UrlRequestBase: can't find referenced class
org.chromium.buildhooks.BuildHooks

Powered by Google App Engine
This is Rietveld 408576698