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

Issue 2737263006: [Android Crash Reporting] Allow uploading minidumps via the JobScheduler (Closed)

Created:
3 years, 9 months ago by Ilya Sherman
Modified:
3 years, 9 months ago
CC:
chromium-reviews, kalyank, srahim+watch_chromium.org, sadrul, asvitkine+watch_chromium.org, agrieve+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[Android Crash Reporting] Allow uploading minidumps via the JobScheduler The new functionality is guarded behind a Feature. BUG=694884 R=gsennton@chromium.org, mariakhomenko@chromium.org Review-Url: https://codereview.chromium.org/2737263006 Cr-Commit-Position: refs/heads/master@{#457584} Committed: https://chromium.googlesource.com/chromium/src/+/8a5492dc16ac148bde50b46ca756f95a655fad58

Patch Set 1 #

Patch Set 2 : Fully implemented, still needs tests #

Total comments: 34

Patch Set 3 : Use shared prefs #

Total comments: 31

Patch Set 4 : Use background_task_scheduler; update LogcatExtractionRunnable tests #

Patch Set 5 : Rebase #

Patch Set 6 : MinidumpUploadService tests #

Total comments: 4

Patch Set 7 : Restrict to Android M+ #

Patch Set 8 : Remove some temporary debug code #

Patch Set 9 : Suppress irrelevant FindBugs warnings for test changes #

Total comments: 14

Patch Set 10 : Assert that job scheduled successfully #

Unified diffs Side-by-side diffs Delta from patch set Stats (+858 lines, -172 lines) Patch
M android_webview/BUILD.gn View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M android_webview/java/DEPS View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M android_webview/java/src/org/chromium/android_webview/crash/AwMinidumpUploadJobService.java View 1 2 chunks +2 lines, -1 line 0 comments Download
M android_webview/java/src/org/chromium/android_webview/crash/AwMinidumpUploaderDelegate.java View 1 2 2 chunks +7 lines, -1 line 0 comments Download
M android_webview/java/src/org/chromium/android_webview/crash/CrashReceiverService.java View 1 2 3 4 4 chunks +8 lines, -22 lines 0 comments Download
M chrome/android/java/AndroidManifest.xml View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java View 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java View 1 2 chunks +17 lines, -12 lines 0 comments Download
A chrome/android/java/src/org/chromium/chrome/browser/crash/ChromeMinidumpUploadJobService.java View 1 2 3 4 5 6 1 chunk +23 lines, -0 lines 0 comments Download
A chrome/android/java/src/org/chromium/chrome/browser/crash/ChromeMinidumpUploaderDelegate.java View 1 2 3 4 5 6 1 chunk +123 lines, -0 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/crash/LogcatExtractionRunnable.java View 1 1 chunk +15 lines, -10 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/crash/MinidumpUploadService.java View 1 2 3 4 5 6 9 chunks +82 lines, -19 lines 0 comments Download
M chrome/android/java_sources.gni View 1 2 3 4 5 6 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/android/javatests/DEPS View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/crash/LogcatExtractionRunnableTest.java View 1 2 3 4 5 6 3 chunks +158 lines, -52 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceTest.java View 1 2 3 4 5 6 7 12 chunks +192 lines, -11 lines 0 comments Download
M chrome/app/generated_resources.grd View 1 2 3 4 5 6 1 chunk +8 lines, -0 lines 0 comments Download
M chrome/browser/about_flags.cc View 1 2 3 4 5 6 1 chunk +6 lines, -0 lines 0 comments Download
M chrome/browser/android/chrome_feature_list.h View 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/android/chrome_feature_list.cc View 1 2 3 5 6 2 chunks +4 lines, -0 lines 0 comments Download
M components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/TaskIds.java View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java View 1 2 3 4 5 6 5 chunks +20 lines, -12 lines 0 comments Download
M components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java View 1 2 3 4 5 6 7 8 9 4 chunks +50 lines, -5 lines 0 comments Download
M components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderDelegate.java View 1 2 2 chunks +19 lines, -3 lines 0 comments Download
M components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java View 1 2 3 3 chunks +20 lines, -4 lines 0 comments Download
M components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/util/CrashReportingPermissionManager.java View 1 2 2 chunks +14 lines, -8 lines 0 comments Download
M components/minidump_uploader/android/javatests/src/org/chromium/components/minidump_uploader/CrashFileManagerTest.java View 1 2 3 4 5 6 7 8 2 chunks +57 lines, -12 lines 0 comments Download
M testing/variations/fieldtrial_testing_config.json View 1 2 3 4 5 6 1 chunk +15 lines, -0 lines 0 comments Download
M tools/metrics/histograms/histograms.xml View 1 2 3 4 5 6 2 chunks +3 lines, -0 lines 0 comments Download

Messages

Total messages: 57 (32 generated)
Ilya Sherman
Hi Gustav and Maria, PTAL. I haven't worked out the tests yet; but I've tested ...
3 years, 9 months ago (2017-03-13 03:12:09 UTC) #1
gsennton
https://codereview.chromium.org/2737263006/diff/20001/android_webview/java/src/org/chromium/android_webview/crash/AwMinidumpUploaderDelegate.java File android_webview/java/src/org/chromium/android_webview/crash/AwMinidumpUploaderDelegate.java (right): https://codereview.chromium.org/2737263006/diff/20001/android_webview/java/src/org/chromium/android_webview/crash/AwMinidumpUploaderDelegate.java#newcode42 android_webview/java/src/org/chromium/android_webview/crash/AwMinidumpUploaderDelegate.java:42: // here... On 2017/03/13 03:12:09, Ilya Sherman wrote: > ...
3 years, 9 months ago (2017-03-13 17:57:18 UTC) #2
Ilya Sherman
Thanks for the review! I've now updated the CL to resolve the outstanding concerns. I ...
3 years, 9 months ago (2017-03-14 02:18:56 UTC) #3
Ilya Sherman
https://codereview.chromium.org/2737263006/diff/40001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java File components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java (right): https://codereview.chromium.org/2737263006/diff/40001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java#newcode55 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java:55: // suffix... By the way, Gustav, I noticed that ...
3 years, 9 months ago (2017-03-14 02:22:03 UTC) #4
gsennton
https://codereview.chromium.org/2737263006/diff/20001/chrome/android/java/src/org/chromium/chrome/browser/crash/ChromeMinidumpUploaderDelegate.java File chrome/android/java/src/org/chromium/chrome/browser/crash/ChromeMinidumpUploaderDelegate.java (right): https://codereview.chromium.org/2737263006/diff/20001/chrome/android/java/src/org/chromium/chrome/browser/crash/ChromeMinidumpUploaderDelegate.java#newcode93 chrome/android/java/src/org/chromium/chrome/browser/crash/ChromeMinidumpUploaderDelegate.java:93: // periodically. How hard would that be to implement? ...
3 years, 9 months ago (2017-03-14 18:17:29 UTC) #5
Maria
I looked through everything and don't have any real comments of value (just style nits). ...
3 years, 9 months ago (2017-03-14 19:03:32 UTC) #6
Ilya Sherman
Thank you both for your reviews! I'm adding Toby for OWNERS review of the android_webview ...
3 years, 9 months ago (2017-03-15 02:13:35 UTC) #12
Ilya Sherman
On 2017/03/15 02:13:35, Ilya Sherman wrote: > This CL is not 100% complete -- I ...
3 years, 9 months ago (2017-03-15 08:46:45 UTC) #19
gsennton
lgtm % some minor comments. I won't be able to look at this any more ...
3 years, 9 months ago (2017-03-15 12:57:43 UTC) #22
Ilya Sherman
+Tommy for OWNERS approval for the background_task_scheduler changes and DEPS additions. I've gone ahead and ...
3 years, 9 months ago (2017-03-16 01:36:57 UTC) #27
Maria
https://codereview.chromium.org/2737263006/diff/160001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java File components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java (right): https://codereview.chromium.org/2737263006/diff/160001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java#newcode20 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java:20: @TargetApi(Build.VERSION_CODES.LOLLIPOP) switch to Marshmallow? https://codereview.chromium.org/2737263006/diff/160001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java#newcode57 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java:57: throw new RuntimeException("Couldn't ...
3 years, 9 months ago (2017-03-16 04:10:43 UTC) #33
Ilya Sherman
https://codereview.chromium.org/2737263006/diff/160001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java File components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java (right): https://codereview.chromium.org/2737263006/diff/160001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java#newcode20 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java:20: @TargetApi(Build.VERSION_CODES.LOLLIPOP) On 2017/03/16 04:10:43, Maria wrote: > switch to ...
3 years, 9 months ago (2017-03-16 05:21:03 UTC) #36
Maria
lgtm https://codereview.chromium.org/2737263006/diff/160001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java File components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java (right): https://codereview.chromium.org/2737263006/diff/160001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java#newcode57 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java:57: throw new RuntimeException("Couldn't schedule " + uploadJob); On ...
3 years, 9 months ago (2017-03-16 05:45:19 UTC) #37
Tobias Sargeant
android_webview LGTM.
3 years, 9 months ago (2017-03-16 12:16:41 UTC) #38
nyquist
https://codereview.chromium.org/2737263006/diff/160001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java File components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java (right): https://codereview.chromium.org/2737263006/diff/160001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java#newcode21 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java:21: public abstract class MinidumpUploadJobService extends JobService { Would it ...
3 years, 9 months ago (2017-03-16 14:52:19 UTC) #39
Ilya Sherman
https://codereview.chromium.org/2737263006/diff/160001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java File components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java (right): https://codereview.chromium.org/2737263006/diff/160001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java#newcode21 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java:21: public abstract class MinidumpUploadJobService extends JobService { On 2017/03/16 ...
3 years, 9 months ago (2017-03-16 17:46:29 UTC) #40
Ilya Sherman
https://codereview.chromium.org/2737263006/diff/160001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java File components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java (right): https://codereview.chromium.org/2737263006/diff/160001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java#newcode57 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java:57: throw new RuntimeException("Couldn't schedule " + uploadJob); On 2017/03/16 ...
3 years, 9 months ago (2017-03-16 18:35:19 UTC) #42
nyquist
https://codereview.chromium.org/2737263006/diff/160001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java File components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java (right): https://codereview.chromium.org/2737263006/diff/160001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java#newcode21 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java:21: public abstract class MinidumpUploadJobService extends JobService { On 2017/03/16 ...
3 years, 9 months ago (2017-03-16 18:50:02 UTC) #44
Ilya Sherman
https://codereview.chromium.org/2737263006/diff/160001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java File components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java (right): https://codereview.chromium.org/2737263006/diff/160001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java#newcode21 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java:21: public abstract class MinidumpUploadJobService extends JobService { On 2017/03/16 ...
3 years, 9 months ago (2017-03-16 18:56:08 UTC) #45
Tobias Sargeant
https://codereview.chromium.org/2737263006/diff/160001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java File components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java (right): https://codereview.chromium.org/2737263006/diff/160001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java#newcode21 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java:21: public abstract class MinidumpUploadJobService extends JobService { On 2017/03/16 ...
3 years, 9 months ago (2017-03-16 19:01:37 UTC) #46
nyquist
https://codereview.chromium.org/2737263006/diff/160001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java File components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java (right): https://codereview.chromium.org/2737263006/diff/160001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java#newcode21 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java:21: public abstract class MinidumpUploadJobService extends JobService { On 2017/03/16 ...
3 years, 9 months ago (2017-03-16 20:06:26 UTC) #47
Tobias Sargeant
https://codereview.chromium.org/2737263006/diff/160001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java File components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java (right): https://codereview.chromium.org/2737263006/diff/160001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java#newcode21 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java:21: public abstract class MinidumpUploadJobService extends JobService { On 2017/03/16 ...
3 years, 9 months ago (2017-03-16 20:51:30 UTC) #50
nyquist
//components/background_task_scheduler and DEPS on it LGTM We can look into using the BackgroundTaskScheduler for all ...
3 years, 9 months ago (2017-03-16 22:11:39 UTC) #51
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/2737263006/180001
3 years, 9 months ago (2017-03-16 22:14:25 UTC) #54
commit-bot: I haz the power
3 years, 9 months ago (2017-03-16 22:23:01 UTC) #57
Message was sent while issue was closed.
Committed patchset #10 (id:180001) as
https://chromium.googlesource.com/chromium/src/+/8a5492dc16ac148bde50b46ca756...

Powered by Google App Engine
This is Rietveld 408576698