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

Side by Side Diff: tools/findit/findit_for_clusterfuzz.py

Issue 538383002: [Findit] Make Findit more robust. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove prints. Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tools/findit/crash_utils.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2014 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import sys
6
5 import chromium_deps 7 import chromium_deps
6 from common import utils 8 from common import utils
7 import crash_utils 9 import crash_utils
8 import findit_for_crash as findit 10 import findit_for_crash as findit
9 import stacktrace 11 import stacktrace
10 12
11 13
12 def SplitStacktrace(stacktrace_string): 14 def SplitStacktrace(stacktrace_string):
13 """Preprocesses stacktrace string into two parts, release and debug. 15 """Preprocesses stacktrace string into two parts, release and debug.
14 16
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 chrome_regression = crash_utils.SplitRange(chrome_regression) 103 chrome_regression = crash_utils.SplitRange(chrome_regression)
102 if chrome_regression: 104 if chrome_regression:
103 chrome_regression_start = chrome_regression[0] 105 chrome_regression_start = chrome_regression[0]
104 chrome_regression_end = chrome_regression[1] 106 chrome_regression_end = chrome_regression[1]
105 107
106 # Do not parse regression information for crashes introduced before the 108 # Do not parse regression information for crashes introduced before the
107 # first archived build. 109 # first archived build.
108 if chrome_regression_start != '0': 110 if chrome_regression_start != '0':
109 component_to_regression_dict = chromium_deps.GetChromiumComponentRange( 111 component_to_regression_dict = chromium_deps.GetChromiumComponentRange(
110 chrome_regression_start, chrome_regression_end) 112 chrome_regression_start, chrome_regression_end)
113 if not component_to_regression_dict:
114 print ('Failed to get component regression ranges for chromium '
115 'regression range %s:%s'
116 % (chrome_regression_start, chrome_regression_end))
117 sys.exit(1)
111 118
112 # Parse crash revision. 119 # Parse crash revision.
113 if chrome_crash_revision: 120 if chrome_crash_revision:
114 component_to_crash_revision_dict = chromium_deps.GetChromiumComponents( 121 component_to_crash_revision_dict = chromium_deps.GetChromiumComponents(
115 chrome_crash_revision) 122 chrome_crash_revision)
123 if not component_to_crash_revision_dict:
124 print ('Failed to get component dependencies for chromium revision "%s".'
125 % chrome_crash_revision)
126 sys.exit(1)
116 127
117 # Check if component regression information is available. 128 # Check if component regression information is available.
118 component_regression = crash_utils.SplitRange(component_regression) 129 component_regression = crash_utils.SplitRange(component_regression)
119 if component_regression: 130 if component_regression:
120 component_regression_start = component_regression[0] 131 component_regression_start = component_regression[0]
121 component_regression_end = component_regression[1] 132 component_regression_end = component_regression[1]
122 133
123 # If this component already has an entry in parsed DEPS file, overwrite 134 # If this component already has an entry in parsed DEPS file, overwrite
124 # regression range and url. 135 # regression range and url.
125 if crashing_component_path in component_to_regression_dict: 136 if crashing_component_path in component_to_regression_dict:
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 # build stacktrace in higher priority than debug build stacktace. This stack 211 # build stacktrace in higher priority than debug build stacktace. This stack
201 # is the callstack to find blame information for. 212 # is the callstack to find blame information for.
202 if parsed_release_build_stacktrace.stack_list: 213 if parsed_release_build_stacktrace.stack_list:
203 main_stack = parsed_release_build_stacktrace.GetCrashStack() 214 main_stack = parsed_release_build_stacktrace.GetCrashStack()
204 elif parsed_debug_build_stacktrace.stack_list: 215 elif parsed_debug_build_stacktrace.stack_list:
205 main_stack = parsed_debug_build_stacktrace.GetCrashStack() 216 main_stack = parsed_debug_build_stacktrace.GetCrashStack()
206 else: 217 else:
207 if 'mac_' in build_type: 218 if 'mac_' in build_type:
208 return ('No line information available in stacktrace.', []) 219 return ('No line information available in stacktrace.', [])
209 220
210 return ('Stacktrace is malformed.', []) 221 return ('Findit failed to find any stack trace. Is it in a new format?', [])
211 222
212 # Run the algorithm on the parsed stacktrace, and return the result. 223 # Run the algorithm on the parsed stacktrace, and return the result.
213 stacktrace_list = [parsed_release_build_stacktrace, 224 stacktrace_list = [parsed_release_build_stacktrace,
214 parsed_debug_build_stacktrace] 225 parsed_debug_build_stacktrace]
215 return findit.FindItForCrash( 226 return findit.FindItForCrash(
216 stacktrace_list, main_stack, component_to_regression_dict, 227 stacktrace_list, main_stack, component_to_regression_dict,
217 component_to_crash_revision_dict) 228 component_to_crash_revision_dict)
OLDNEW
« no previous file with comments | « tools/findit/crash_utils.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698