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

Side by Side Diff: crash_sender

Issue 4018008: crash-reporter: Generate kernel crash signatures for server-side grouping of similar crashes (Closed) Base URL: http://git.chromium.org/git/crash-reporter.git
Patch Set: Respond to petkov review Created 10 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « crash_reporter.cc ('k') | kernel_collector.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/bin/sh 1 #!/bin/sh
2 2
3 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 3 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 set -e 7 set -e
8 8
9 # Product ID in crash report 9 # Product ID in crash report
10 CHROMEOS_PRODUCT=ChromeOS 10 CHROMEOS_PRODUCT=ChromeOS
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 local meta_path="$1" 194 local meta_path="$1"
195 local kind="$(get_kind "${meta_path}")" 195 local kind="$(get_kind "${meta_path}")"
196 local exec_name="$(get_key_value "${meta_path}" "exec_name")" 196 local exec_name="$(get_key_value "${meta_path}" "exec_name")"
197 local sleep_time=$(generate_uniform_random $SECONDS_SEND_SPREAD) 197 local sleep_time=$(generate_uniform_random $SECONDS_SEND_SPREAD)
198 local url="${REPORT_UPLOAD_PROD_URL}" 198 local url="${REPORT_UPLOAD_PROD_URL}"
199 local chromeos_version="$(get_key_value "${meta_path}" "ver")" 199 local chromeos_version="$(get_key_value "${meta_path}" "ver")"
200 local board="$(get_board)" 200 local board="$(get_board)"
201 local hwclass="$(get_hardware_class)" 201 local hwclass="$(get_hardware_class)"
202 local payload_extension="${kind}" 202 local payload_extension="${kind}"
203 local write_payload_size="$(get_key_value "${meta_path}" "payload_size")" 203 local write_payload_size="$(get_key_value "${meta_path}" "payload_size")"
204 local sig="$(get_key_value "${meta_path}" "sig")"
204 [ "${kind}" = "minidump" ] && payload_extension="dmp" 205 [ "${kind}" = "minidump" ] && payload_extension="dmp"
205 local report_payload="$(get_base "${meta_path}").${payload_extension}" 206 local report_payload="$(get_base "${meta_path}").${payload_extension}"
206 local send_payload_size="$(stat --printf=%s "${report_payload}")" 207 local send_payload_size="$(stat --printf=%s "${report_payload}")"
207 lecho "Sending crash:" 208 lecho "Sending crash:"
208 lecho " Scheduled to send in ${sleep_time}s" 209 lecho " Scheduled to send in ${sleep_time}s"
209 lecho " Metadata: ${meta_path} (${kind})" 210 lecho " Metadata: ${meta_path} (${kind})"
210 lecho " Payload: ${report_payload}" 211 lecho " Payload: ${report_payload}"
211 lecho " Version: ${chromeos_version}" 212 lecho " Version: ${chromeos_version}"
212 if is_mock; then 213 if is_mock; then
213 lecho " Product: ${CHROMEOS_PRODUCT}" 214 lecho " Product: ${CHROMEOS_PRODUCT}"
214 lecho " URL: ${url}" 215 lecho " URL: ${url}"
215 lecho " Board: ${board}" 216 lecho " Board: ${board}"
216 lecho " HWClass: ${hwclass}" 217 lecho " HWClass: ${hwclass}"
218 [ "${sig}" != "undefined" ] && lecho " Sig: ${sig}"
217 fi 219 fi
218 lecho " Exec name: ${exec_name}" 220 lecho " Exec name: ${exec_name}"
219 if is_mock; then 221 if is_mock; then
220 local mock_in=$(cat "${MOCK_CRASH_SENDING}") 222 local mock_in=$(cat "${MOCK_CRASH_SENDING}")
221 if [ "${mock_in}" = "" ]; then 223 if [ "${mock_in}" = "" ]; then
222 lecho "Mocking successful send" 224 lecho "Mocking successful send"
223 return 0 225 return 0
224 else 226 else
225 lecho "Mocking unsuccessful send" 227 lecho "Mocking unsuccessful send"
226 return 1 228 return 1
227 fi 229 fi
228 fi 230 fi
229 231
230 if ! sleep ${sleep_time}; then 232 if ! sleep ${sleep_time}; then
231 lecho "Sleep failed" 233 lecho "Sleep failed"
232 return 1 234 return 1
233 fi 235 fi
234 236
235 local report_id="${TMP_DIR}/report_id" 237 local report_id="${TMP_DIR}/report_id"
236 local curl_stderr="${TMP_DIR}/curl_stderr" 238 local curl_stderr="${TMP_DIR}/curl_stderr"
237 239
240 local extra_key1="write_payload_size"
241 local extra_value1="${write_payload_size}"
242 local extra_key2="send_payload_size"
243 local extra_value2="${send_payload_size}"
244 if [ "${kind}" = "kcrash" ]; then
245 extra_key1="sig"
246 extra_value1="${sig}"
247 extra_key2="sig2"
248 extra_value2="${sig}"
249 fi
250
238 set +e 251 set +e
239 curl "${url}" \ 252 curl "${url}" \
240 -F "prod=${CHROMEOS_PRODUCT}" \ 253 -F "prod=${CHROMEOS_PRODUCT}" \
241 -F "ver=${chromeos_version}" \ 254 -F "ver=${chromeos_version}" \
242 -F "upload_file_${kind}=@${report_payload}" \ 255 -F "upload_file_${kind}=@${report_payload}" \
243 -F "board=${board}" \ 256 -F "board=${board}" \
244 -F "hwclass=${hwclass}" \ 257 -F "hwclass=${hwclass}" \
245 -F "exec_name=${exec_name}" \ 258 -F "exec_name=${exec_name}" \
246 -F "write_payload_size=${write_payload_size}" \ 259 -F "${extra_key1}=${extra_value1}" \
247 -F "send_payload_size=${send_payload_size}" \ 260 -F "${extra_key2}=${extra_value2}" \
248 -F "guid=<${CONSENT_ID}" -o "${report_id}" 2>"${curl_stderr}" 261 -F "guid=<${CONSENT_ID}" -o "${report_id}" 2>"${curl_stderr}"
249 curl_result=$? 262 curl_result=$?
250 set -e 263 set -e
251 264
252 if [ ${curl_result} -eq 0 ]; then 265 if [ ${curl_result} -eq 0 ]; then
253 lecho "Crash report receipt ID $(cat ${report_id})" 266 lecho "Crash report receipt ID $(cat ${report_id})"
254 else 267 else
255 lecho "Crash sending failed with: $(cat ${curl_stderr})" 268 lecho "Crash sending failed with: $(cat ${curl_stderr})"
256 fi 269 fi
257 270
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 TMP_DIR="$(mktemp -d /tmp/crash_sender.XXXX)" 386 TMP_DIR="$(mktemp -d /tmp/crash_sender.XXXX)"
374 387
375 # Send system-wide crashes 388 # Send system-wide crashes
376 send_crashes "/var/spool/crash" 389 send_crashes "/var/spool/crash"
377 390
378 # Send user-specific crashes 391 # Send user-specific crashes
379 send_crashes "/home/chronos/user/crash" 392 send_crashes "/home/chronos/user/crash"
380 } 393 }
381 394
382 main 395 main
OLDNEW
« no previous file with comments | « crash_reporter.cc ('k') | kernel_collector.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698