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