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

Issue 2862353003: [Crash Reporting] Fix a race between uploading and appending logcat data. (Closed)

Created:
3 years, 7 months ago by Ilya Sherman
Modified:
3 years, 7 months ago
CC:
chromium-reviews, extensions-reviews_chromium.org, sadrul, agrieve+watch_chromium.org, asvitkine+watch_chromium.org, chromium-apps-reviews_chromium.org, kalyank, android-webview-reviews_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

[Crash Reporting] Fix a race between uploading and appending logcat data. Prior to this CL, files ending with ".dmp" could potentially be simulatenously scheduled for appending logcat data and scheduled for upload. This CL resolves the race by requiring a ".try0" suffix to be present prior to attempting an upload. BUG=719129 R=gsennton@chromium.org Review-Url: https://codereview.chromium.org/2862353003 Cr-Commit-Position: refs/heads/master@{#473319} Committed: https://chromium.googlesource.com/chromium/src/+/d4b0825f3059a63da4210b9e8fa1d53271d60b0d

Patch Set 1 : #

Total comments: 31

Patch Set 2 : Rebase #

Patch Set 3 : Migrate already copied Webview minidumps, loosen uploaded file regex, and add some tests #

Total comments: 17

Patch Set 4 : Drop the silly MIME stuff #

Patch Set 5 : Fix some typos in comments #

Total comments: 18

Patch Set 6 : Simplify the WebView code a bit more, and rename MissingLogcat -> SansLogcat #

Patch Set 7 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+391 lines, -152 lines) Patch
M android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java View 1 2 3 4 5 2 chunks +5 lines, -4 lines 0 comments Download
M android_webview/java/src/org/chromium/android_webview/crash/AwMinidumpUploaderDelegate.java View 1 2 3 4 5 2 chunks +9 lines, -0 lines 0 comments Download
M android_webview/javatests/src/org/chromium/android_webview/test/crash/MinidumpUploaderTest.java View 5 chunks +9 lines, -9 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/crash/ChromeMinidumpUploaderDelegate.java View 1 2 3 4 5 2 chunks +7 lines, -0 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/crash/MinidumpUploadService.java View 1 chunk +1 line, -1 line 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java View 1 2 3 4 5 3 chunks +68 lines, -25 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceTest.java View 1 2 11 chunks +21 lines, -13 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 8 chunks +61 lines, -26 lines 0 comments Download
M components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderDelegate.java View 1 2 3 4 1 chunk +13 lines, -0 lines 0 comments Download
M components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java View 1 2 2 chunks +9 lines, -2 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 18 chunks +125 lines, -56 lines 0 comments Download
M components/minidump_uploader/android/javatests/src/org/chromium/components/minidump_uploader/MinidumpUploaderImplTest.java View 1 2 3 4 5 7 chunks +60 lines, -16 lines 0 comments Download
M components/minidump_uploader/android/javatests/src/org/chromium/components/minidump_uploader/TestMinidumpUploaderDelegate.java View 1 2 1 chunk +3 lines, -0 lines 0 comments Download

Messages

Total messages: 48 (27 generated)
gsennton
Thanks for the CL Ilya! Please read my comments in CrashFileManager + MinidumpUploaderImpl before addressing ...
3 years, 7 months ago (2017-05-08 12:54:00 UTC) #10
Ilya Sherman
Thanks for the review, Gustav! https://codereview.chromium.org/2862353003/diff/60001/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java File android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java (right): https://codereview.chromium.org/2862353003/diff/60001/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java#newcode169 android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java:169: // TODO(isherman): This is ...
3 years, 7 months ago (2017-05-09 08:03:03 UTC) #11
gsennton
https://codereview.chromium.org/2862353003/diff/60001/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java File android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java (right): https://codereview.chromium.org/2862353003/diff/60001/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java#newcode169 android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java:169: // TODO(isherman): This is temporary migration logic, and can ...
3 years, 7 months ago (2017-05-09 19:23:52 UTC) #12
gsennton
Adding Tobias for visibility about MIME/crash related stuff. https://codereview.chromium.org/2862353003/diff/60001/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/2862353003/diff/60001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java#newcode68 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java:68: Pattern.compile("\\.dmp([0-9]*)\\z"); ...
3 years, 7 months ago (2017-05-10 11:23:29 UTC) #14
gsennton
https://codereview.chromium.org/2862353003/diff/60001/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/2862353003/diff/60001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java#newcode84 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java:84: Pattern.compile("\\.up([0-9]*)(\\.try([0-9]+))\\z"); On 2017/05/09 19:23:52, gsennton wrote: > On 2017/05/09 ...
3 years, 7 months ago (2017-05-10 12:27:08 UTC) #15
Ilya Sherman
Thanks for the thoughtful and thorough review, Gustav! Took me a while to gather my ...
3 years, 7 months ago (2017-05-13 06:35:05 UTC) #16
gsennton
Thanks Ilya! A couple more comments: https://codereview.chromium.org/2862353003/diff/60001/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java File chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java (left): https://codereview.chromium.org/2862353003/diff/60001/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java#oldcode511 chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java:511: // probably be ...
3 years, 7 months ago (2017-05-15 13:47:59 UTC) #17
Ilya Sherman
Thanks, Gustav. Just replying to comments for now. Will update the code once the two ...
3 years, 7 months ago (2017-05-16 07:15:40 UTC) #18
gsennton
https://codereview.chromium.org/2862353003/diff/100001/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java File android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java (right): https://codereview.chromium.org/2862353003/diff/100001/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java#newcode179 android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java:179: crashFileManager.getMinidumpsReadyForUpload(MAX_MINIDUMP_UPLOAD_TRIES); On 2017/05/16 07:15:39, Ilya Sherman wrote: > On ...
3 years, 7 months ago (2017-05-16 10:25:49 UTC) #19
Ilya Sherman
Hokay, updated now that the depended-on CLs have landed. PTAL! https://codereview.chromium.org/2862353003/diff/100001/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java File android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java (right): https://codereview.chromium.org/2862353003/diff/100001/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java#newcode179 ...
3 years, 7 months ago (2017-05-18 03:04:25 UTC) #21
Ilya Sherman
+Maria as a reviewer as well. There's still one pending question w.r.t. how this interacts ...
3 years, 7 months ago (2017-05-18 03:17:35 UTC) #25
gsennton
Cool, this lgtm % some minor comments. Thanks Ilya! https://codereview.chromium.org/2862353003/diff/100001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java File components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java (right): https://codereview.chromium.org/2862353003/diff/100001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java#newcode151 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploaderImpl.java:151: ...
3 years, 7 months ago (2017-05-18 13:36:26 UTC) #29
Tobias Sargeant
https://codereview.chromium.org/2862353003/diff/140001/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java File android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java (right): https://codereview.chromium.org/2862353003/diff/140001/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java#newcode173 android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java:173: final File[] newMinidumps = crashFileManager.getMinidumpsMissingLogcat(); I feel somewhat like ...
3 years, 7 months ago (2017-05-18 15:00:04 UTC) #30
gsennton
https://codereview.chromium.org/2862353003/diff/140001/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java File android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java (right): https://codereview.chromium.org/2862353003/diff/140001/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java#newcode173 android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java:173: final File[] newMinidumps = crashFileManager.getMinidumpsMissingLogcat(); On 2017/05/18 15:00:04, Tobias ...
3 years, 7 months ago (2017-05-18 15:38:12 UTC) #31
Tobias Sargeant
https://codereview.chromium.org/2862353003/diff/140001/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/2862353003/diff/140001/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java#newcode567 components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java:567: File tmpFile = createMinidumpTmpFile(tmpDir); On 2017/05/18 15:38:12, gsennton wrote: ...
3 years, 7 months ago (2017-05-18 16:16:52 UTC) #32
Tobias Sargeant
LGTM so you're not blocked after addressing Gustav's comments.
3 years, 7 months ago (2017-05-18 16:18:19 UTC) #33
Ilya Sherman
https://codereview.chromium.org/2862353003/diff/140001/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java File android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java (right): https://codereview.chromium.org/2862353003/diff/140001/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java#newcode173 android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java:173: final File[] newMinidumps = crashFileManager.getMinidumpsMissingLogcat(); On 2017/05/18 15:38:12, gsennton ...
3 years, 7 months ago (2017-05-18 21:47:19 UTC) #35
Maria
lgtm
3 years, 7 months ago (2017-05-19 03:34:53 UTC) #41
gsennton
still lgtm https://codereview.chromium.org/2862353003/diff/140001/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java File android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java (right): https://codereview.chromium.org/2862353003/diff/140001/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java#newcode173 android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java:173: final File[] newMinidumps = crashFileManager.getMinidumpsMissingLogcat(); On 2017/05/18 ...
3 years, 7 months ago (2017-05-19 09:44:32 UTC) #42
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/2862353003/180001
3 years, 7 months ago (2017-05-19 21:08:59 UTC) #45
commit-bot: I haz the power
3 years, 7 months ago (2017-05-19 21:16:26 UTC) #48
Message was sent while issue was closed.
Committed patchset #7 (id:180001) as
https://chromium.googlesource.com/chromium/src/+/d4b0825f3059a63da4210b9e8fa1...

Powered by Google App Engine
This is Rietveld 408576698