3 source /etc/tizen-platform.conf
5 PATH=/bin:/usr/bin:/sbin:/usr/sbin
10 CRASH_PATH="@CRASH_PATH@"
11 CRASH_TEMP="@CRASH_TEMP@"
13 if [ ! -d "${CRASH_PATH}" ]
15 mkdir -p "${CRASH_PATH}"
16 /usr/bin/chsmack -a "System::Shared" -t "${CRASH_PATH}"
19 if [ ! -d "${CRASH_TEMP}" ]
21 mkdir -p "${CRASH_TEMP}"
22 /usr/bin/chsmack -a "System::Shared" -t "${CRASH_TEMP}"
27 # Expected invocation from kernel:
29 # argv0 PID UID GID SIGNAL TIME CMD
34 temp_dir="$(mktemp -d "${CRASH_TEMP}/crash.XXXXXX")"
36 name="${cmd}_${pid}_${time}"
37 result_path="${CRASH_PATH}/${name}.tar.gz"
38 pfx="${temp_dir}/${name}"
39 info_path="${pfx}/${name}.info"
40 core_path="${pfx}/${name}.coredump"
41 log_path="${pfx}/${name}.log"
42 tmp_callstack_path="${pfx}/${name}.callstack"
43 sysassert_cs_path="/tmp/crash_stack/${cmd}_${pid}.info"
46 if [ "@SYS_ASSERT@" = "on" ]
48 mv "$sysassert_cs_path" "$pfx/"
53 @CRASH_PIPE_PATH@ --save-core "$core_path" --report "$@" > "$info_path"
54 # @CRASH_STACK_PATH@ --pid "$pid" >> "$info_path"
56 @CRASH_PIPE_PATH@ --report "$@" > "$info_path"
57 # @CRASH_STACK_PATH@ --pid "$pid" >> "$info_path"
60 if [ -e $TZ_SYS_ETC/.debugmode ]
62 #Find the full path of executable. The path is used to find appid in the crash-popup
69 exepath=$(echo $line | sed "s/0: //")
73 if [ "$line" = "Cmdline:" ]
80 #Call dbus method to launch the crash-popup
81 /usr/bin/dbus-send --system --type=method_call --print-reply --reply-timeout=120000 --dest=org.tizen.system.popup /Org/Tizen/System/Popup/Crash org.tizen.system.popup.Crash.PopupLaunch dict:string:string:"_SYSPOPUP_CONTENT_","crash","_PROCESS_NAME_","${cmd}","_EXEPATH_","${exepath}"
85 dump_systemstate -d -k -f "$log_path" || true
87 tar czf "${temp_dir}/report.tar.gz" -C "$temp_dir" "$name"
88 mv "${temp_dir}/report.tar.gz" "$result_path"
90 [ "$temp_dir" ] && rm -rf "$temp_dir"