| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |