From 2aa79cd6a3fb7c0d2d4fbc26c1b2337ab6019668 Mon Sep 17 00:00:00 2001 From: Matej Habrnal Date: Thu, 15 Jun 2017 17:14:28 +0200 Subject: [PATCH 01/27] a-d-journal-core: use pid of crashed process in dumpdir name Without this commit pid of abrt-dump-journal-core is used in a name of created problem directory instead of pid of crashed process. Signed-off-by: Matej Habrnal --- src/plugins/abrt-dump-journal-core.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/plugins/abrt-dump-journal-core.c b/src/plugins/abrt-dump-journal-core.c index 971211e..5a7a79d 100644 --- a/src/plugins/abrt-dump-journal-core.c +++ b/src/plugins/abrt-dump-journal-core.c @@ -71,6 +71,7 @@ struct crash_info char *ci_executable_path; ///< /full/path/to/executable const char *ci_executable_name; ///< executable uid_t ci_uid; + pid_t ci_pid; struct field_mapping *ci_mapping; size_t ci_mapping_items; @@ -219,6 +220,13 @@ abrt_journal_core_retrieve_information(abrt_journal_t *journal, struct crash_inf return -EINVAL; } + /* This is not fatal, the pid is used only in dumpdir name */ + if (abrt_journal_get_int_field(journal, "COREDUMP_PID", &(info->ci_pid))) + { + log_notice("Failed to get PID from journal message."); + info->ci_pid = getpid(); + } + char *proc_status = abrt_journal_get_string_field(journal, "COREDUMP_PROC_STATUS", NULL); if (proc_status == NULL) { @@ -322,7 +330,7 @@ save_systemd_coredump_in_dump_directory(struct dump_dir *dd, struct crash_info * static int abrt_journal_core_to_abrt_problem(struct crash_info *info, const char *dump_location) { - struct dump_dir *dd = create_dump_dir(dump_location, "ccpp", /*fs owner*/0, + struct dump_dir *dd = create_dump_dir_ext(dump_location, "ccpp", info->ci_pid, /*fs owner*/0, (save_data_call_back)save_systemd_coredump_in_dump_directory, info); if (dd != NULL) -- 2.9.5