From f9f924ed3f51c1dee3de14c3c80cd7cdefabbca6 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Aug 06 2019 10:02:33 +0000 Subject: import abrt-2.1.11-55.el7 --- diff --git a/SOURCES/0312-cli-load-config-file-at-the-beginning.patch b/SOURCES/0312-cli-load-config-file-at-the-beginning.patch new file mode 100644 index 0000000..e82e8b0 --- /dev/null +++ b/SOURCES/0312-cli-load-config-file-at-the-beginning.patch @@ -0,0 +1,53 @@ +From 079ca6cf8774ce4b510daa9423a3785007c6c1d7 Mon Sep 17 00:00:00 2001 +From: Matej Habrnal +Date: Mon, 17 Sep 2018 16:16:23 +0200 +Subject: [PATCH] cli: load config file at the beginning + +Resolves: #1618818 + +Signed-off-by: Matej Habrnal +--- + src/cli/abrt-cli.c | 1 + + src/cli/list.c | 1 - + src/cli/report.c | 1 - + 3 files changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/cli/abrt-cli.c b/src/cli/abrt-cli.c +index 360e4757e..6660923d4 100644 +--- a/src/cli/abrt-cli.c ++++ b/src/cli/abrt-cli.c +@@ -122,6 +122,7 @@ int main(int argc, const char **argv) + #endif + + abrt_init((char **)argv); ++ load_abrt_conf(); + + argv++; + argc--; +diff --git a/src/cli/list.c b/src/cli/list.c +index e688d2f49..5af42fb01 100644 +--- a/src/cli/list.c ++++ b/src/cli/list.c +@@ -206,7 +206,6 @@ int cmd_list(int argc, const char **argv) + free_vector_of_problem_data(ci); + + #if SUGGEST_AUTOREPORTING != 0 +- load_abrt_conf(); + if (!g_settings_autoreporting) + { + if (output) +diff --git a/src/cli/report.c b/src/cli/report.c +index a76923f22..c98d8cbf8 100644 +--- a/src/cli/report.c ++++ b/src/cli/report.c +@@ -116,7 +116,6 @@ int cmd_report(int argc, const char **argv) + + export_abrt_envvars(/*prog_prefix:*/ 0); + +- load_abrt_conf(); + free_abrt_conf_data(); + + int report_flags = 0; +-- +2.17.2 + diff --git a/SOURCES/0313-ccpp-fast-dumping-and-abrt-core-limit.patch b/SOURCES/0313-ccpp-fast-dumping-and-abrt-core-limit.patch new file mode 100644 index 0000000..77df467 --- /dev/null +++ b/SOURCES/0313-ccpp-fast-dumping-and-abrt-core-limit.patch @@ -0,0 +1,524 @@ +From 523792cfbbaf3a5e10cdcb46979739b36ac9c4dd Mon Sep 17 00:00:00 2001 +From: Martin Kutlak +Date: Wed, 26 Sep 2018 13:24:40 +0200 +Subject: [PATCH] ccpp: fast dumping and abrt core limit + +This commit introduces a new configuration option MaxCoreFileSize. The +option will be compared to MaxCrashReportsSize and the minimum will be +used as the limit for the size of the core dump file in a dump directory. + +This commit replaces the read once write twice algorithm with a tee + splice +algorithm. tee() does zero copy - it should just increment counters - +and splice() moves bytes between file descriptors without the need to +copy them to user space. Basically the new algorithm is the same but +without the need to copy data to user space. However, the original +algorithm was testing the buffer for 0s and if the entire buffer was 0, +then lseek() was performed instead of write(). The 0 check was there to +make the dumping faster and this is no longer needed as the tee + +splice is faster than the original read once write twice algorithm. + +Related: rhbz#1613236 + +Signed-off-by: Martin Kutlak +--- + doc/abrt-CCpp.conf.txt | 5 + + src/hooks/CCpp.conf | 10 + + src/hooks/abrt-hook-ccpp.c | 381 +++++++++++++++++++++++++------------ + 3 files changed, 274 insertions(+), 122 deletions(-) + +diff --git a/doc/abrt-CCpp.conf.txt b/doc/abrt-CCpp.conf.txt +index dffa45dc2..2a626ec49 100644 +--- a/doc/abrt-CCpp.conf.txt ++++ b/doc/abrt-CCpp.conf.txt +@@ -19,6 +19,11 @@ MakeCompatCore = 'yes' / 'no' ...:: + instead of the template. + For more information about naming core dump files see 'man 5 core'. + ++MaxCoreFileSize = 'a number in MiB' ...:: ++ This configuration option together with MaxCrashReportsSize set the limit on ++ the size of dumped core file. The lower value of the both options is used as ++ the effective limit. 0 is evaluated as unlimited for the both options. ++ + SaveBinaryImage = 'yes' / 'no' ...:: + Do you want a copy of crashed binary be saved? + Useful, for example, when _deleted binary_ segfaults. +diff --git a/src/hooks/CCpp.conf b/src/hooks/CCpp.conf +index af31ed53c..48c8c2557 100644 +--- a/src/hooks/CCpp.conf ++++ b/src/hooks/CCpp.conf +@@ -9,6 +9,16 @@ + # For more information about naming core dump files see 'man 5 core'. + MakeCompatCore = yes + ++# The option allows you to set limit for the core file size in MiB. ++# ++# This value is compared to value of the MaxCrashReportSize configuration ++# option from (/etc/abrt.conf) and the lower value is used as the limit. ++# ++# If MaxCoreFileSize is 0 then the value of MaxCrashReportSize is the limit. ++# If MaxCrashReportSize is 0 then the value of MaxCoreFileSize is the limit. ++# If both values are 0 then the core file size is unlimited. ++MaxCoreFileSize = 0 ++ + # Do you want a copy of crashed binary be saved? + # (useful, for example, when _deleted binary_ segfaults) + SaveBinaryImage = no +diff --git a/src/hooks/abrt-hook-ccpp.c b/src/hooks/abrt-hook-ccpp.c +index cb4d1e0ce..ca4b61bf1 100644 +--- a/src/hooks/abrt-hook-ccpp.c ++++ b/src/hooks/abrt-hook-ccpp.c +@@ -31,6 +31,8 @@ + #define DUMP_SUID_UNSAFE 1 + #define DUMP_SUID_SAFE 2 + ++#define KERNEL_PIPE_BUFFER_SIZE 65536 ++ + static int g_user_core_flags; + static int g_need_nonrelative; + +@@ -54,100 +56,6 @@ static char* malloc_readlink(const char *linkname) + return NULL; + } + +-/* Custom version of copyfd_xyz, +- * one which is able to write into two descriptors at once. +- */ +-#define CONFIG_FEATURE_COPYBUF_KB 4 +-static off_t copyfd_sparse(int src_fd, int dst_fd1, int dst_fd2, off_t size2) +-{ +- off_t total = 0; +- int last_was_seek = 0; +-#if CONFIG_FEATURE_COPYBUF_KB <= 4 +- char buffer[CONFIG_FEATURE_COPYBUF_KB * 1024]; +- enum { buffer_size = sizeof(buffer) }; +-#else +- char *buffer; +- int buffer_size; +- +- /* We want page-aligned buffer, just in case kernel is clever +- * and can do page-aligned io more efficiently */ +- buffer = mmap(NULL, CONFIG_FEATURE_COPYBUF_KB * 1024, +- PROT_READ | PROT_WRITE, +- MAP_PRIVATE | MAP_ANON, +- /* ignored: */ -1, 0); +- buffer_size = CONFIG_FEATURE_COPYBUF_KB * 1024; +- if (buffer == MAP_FAILED) { +- buffer = alloca(4 * 1024); +- buffer_size = 4 * 1024; +- } +-#endif +- +- while (1) { +- ssize_t rd = safe_read(src_fd, buffer, buffer_size); +- if (!rd) { /* eof */ +- if (last_was_seek) { +- if (lseek(dst_fd1, -1, SEEK_CUR) < 0 +- || safe_write(dst_fd1, "", 1) != 1 +- || (dst_fd2 >= 0 +- && (lseek(dst_fd2, -1, SEEK_CUR) < 0 +- || safe_write(dst_fd2, "", 1) != 1 +- ) +- ) +- ) { +- perror_msg("Write error"); +- total = -1; +- goto out; +- } +- } +- /* all done */ +- goto out; +- } +- if (rd < 0) { +- perror_msg("Read error"); +- total = -1; +- goto out; +- } +- +- /* checking sparseness */ +- ssize_t cnt = rd; +- while (--cnt >= 0) { +- if (buffer[cnt] != 0) { +- /* not sparse */ +- errno = 0; +- ssize_t wr1 = full_write(dst_fd1, buffer, rd); +- ssize_t wr2 = (dst_fd2 >= 0 ? full_write(dst_fd2, buffer, rd) : rd); +- if (wr1 < rd || wr2 < rd) { +- perror_msg("Write error"); +- total = -1; +- goto out; +- } +- last_was_seek = 0; +- goto adv; +- } +- } +- /* sparse */ +- xlseek(dst_fd1, rd, SEEK_CUR); +- if (dst_fd2 >= 0) +- xlseek(dst_fd2, rd, SEEK_CUR); +- last_was_seek = 1; +- adv: +- total += rd; +- size2 -= rd; +- if (size2 < 0) +- dst_fd2 = -1; +-// truncate to 0 or even delete the second file? +-// No, kernel does not delete nor truncate core files. +- } +- out: +- +-#if CONFIG_FEATURE_COPYBUF_KB > 4 +- if (buffer_size != 4 * 1024) +- munmap(buffer, buffer_size); +-#endif +- return total; +-} +- +- + /* Global data */ + static char *user_pwd; + static DIR *proc_cwd; +@@ -609,13 +517,42 @@ static void create_core_backtrace(pid_t tid, const char *executable, int signal_ + #endif /* ENABLE_DUMP_TIME_UNWIND */ + } + ++static ssize_t splice_entire_per_partes(int in_fd, int out_fd, size_t size_limit) ++{ ++ size_t bytes = 0; ++ size_t soft_limit = KERNEL_PIPE_BUFFER_SIZE; ++ while (bytes < size_limit) ++ { ++ const size_t hard_limit = size_limit - bytes; ++ if (hard_limit < soft_limit) ++ soft_limit = hard_limit; ++ ++ const ssize_t copied = splice(in_fd, NULL, out_fd, NULL, soft_limit, SPLICE_F_MOVE | SPLICE_F_MORE); ++ if (copied < 0) ++ return copied; ++ ++ bytes += copied; ++ ++ /* Check EOF. */ ++ if (copied == 0) ++ break; ++ } ++ ++ return bytes; ++} ++ ++ + static int create_user_core(int user_core_fd, pid_t pid, off_t ulimit_c) + { + int err = 1; + if (user_core_fd >= 0) + { +- off_t core_size = copyfd_size(STDIN_FILENO, user_core_fd, ulimit_c, COPYFD_SPARSE); +- if (close_user_core(user_core_fd, core_size) != 0) ++ errno = 0; ++ ssize_t core_size = splice_entire_per_partes(STDIN_FILENO, user_core_fd, ulimit_c); ++ if (core_size < 0) ++ perror_msg("Failed to create user core '%s' in '%s'", core_basename, user_pwd); ++ ++ if (close_user_core(user_core_fd, core_size) != 0 || core_size < 0) + goto finito; + + err = 0; +@@ -732,6 +669,165 @@ static void error_msg_ignore_crash(const char *pid_str, const char *process_str, + return; + } + ++static ssize_t splice_full(int in_fd, int out_fd, size_t size) ++{ ++ ssize_t total = 0; ++ while (size != 0) ++ { ++ const ssize_t b = splice(in_fd, NULL, out_fd, NULL, size, 0); ++ if (b < 0) ++ return b; ++ ++ if (b == 0) ++ break; ++ ++ total += b; ++ size -= b; ++ } ++ ++ return total; ++} ++ ++static size_t xsplice_full(int in_fd, int out_fd, size_t size) ++{ ++ const ssize_t r = splice_full(in_fd, out_fd, size); ++ if (r < 0) ++ perror_msg_and_die("Failed to write core dump to file"); ++ return (size_t)r; ++} ++ ++static void pipe_close(int *pfds) ++{ ++ close(pfds[0]); ++ close(pfds[1]); ++ pfds[0] = pfds[1] = -1; ++} ++ ++enum dump_core_files_ret_flags { ++ DUMP_ABRT_CORE_FAILED = 0x0001, ++ DUMP_USER_CORE_FAILED = 0x0100, ++}; ++ ++/* Optimized creation of two core files - ABRT and CWD ++ * ++ * The simplest optimization is to avoid the need to copy data to user space. ++ * In that case we cannot read data once and write them twice as we do with ++ * read/write approach because there is no syscall forwarding data from a ++ * single source fd to several destination fds (one might claim that there is ++ * tee() function but such a solution is suboptimal from our perspective). ++ * ++ * So the function first create ABRT core file and then creates user core file. ++ * If ABRT limit made the ABRT core to be smaller than allowed user core size, ++ * then the function reads more data from STDIN and appends them to the user ++ * core file. ++ * ++ * We must not read from the user core fd because that operation might be ++ * refused by OS. ++ */ ++static int dump_two_core_files(int abrt_core_fd, size_t *abrt_limit, int user_core_fd, size_t *user_limit) ++{ ++ /* tee() does not move the in_fd, thus you need to call splice to be ++ * get next chunk of data loaded into the in_fd buffer. ++ * So, calling tee() without splice() would be looping on the same ++ * data. Hence, we must ensure that after tee() we call splice() and ++ * that would be problematic if tee core limit is greater than splice ++ * core limit. Therefore, we swap the out fds based on their limits. ++ */ ++ int spliced_fd = *abrt_limit > *user_limit ? abrt_core_fd : user_core_fd; ++ size_t spliced_core_limit = *abrt_limit > *user_limit ? *abrt_limit : *user_limit; ++ int teed_fd = *abrt_limit > *user_limit ? user_core_fd : abrt_core_fd; ++ size_t teed_core_limit = *abrt_limit > *user_limit ? *user_limit : *abrt_limit; ++ ++ size_t *spliced_core_size = *abrt_limit > *user_limit ? abrt_limit : user_limit; ++ size_t *teed_core_size = *abrt_limit > *user_limit ? user_limit : abrt_limit; ++ ++ *spliced_core_size = *teed_core_size = 0; ++ ++ int cp[2] = { -1, -1 }; ++ if (pipe(cp) < 0) ++ { ++ perror_msg("Failed to create temporary pipe for core file"); ++ cp[0] = cp[1] = -1; ++ } ++ ++ /* tee() can copy duplicate up to size of the pipe buffer bytes. ++ * It should not be problem to ask for more (in that case, tee would simply ++ * duplicate up to the limit bytes) but I would rather not to exceed ++ * the pipe buffer limit. ++ */ ++ int copy_buffer_size = fcntl(STDIN_FILENO, F_GETPIPE_SZ); ++ if (copy_buffer_size < 0) ++ copy_buffer_size = KERNEL_PIPE_BUFFER_SIZE; ++ ++ ssize_t to_write = copy_buffer_size; ++ for (;;) ++ { ++ if (cp[1] >= 0) ++ { ++ to_write = tee(STDIN_FILENO, cp[1], copy_buffer_size, 0); ++ ++ /* Check EOF. */ ++ if (to_write == 0) ++ break; ++ ++ if (to_write < 0) ++ { ++ perror_msg("Cannot duplicate stdin buffer for core file"); ++ pipe_close(cp); ++ to_write = copy_buffer_size; ++ } ++ } ++ ++ size_t to_splice = to_write; ++ if (*spliced_core_size + to_splice > spliced_core_limit) ++ to_splice = spliced_core_limit - *spliced_core_size; ++ ++ const size_t spliced = xsplice_full(STDIN_FILENO, spliced_fd, to_splice); ++ *spliced_core_size += spliced; ++ ++ if (cp[0] >= 0) ++ { ++ size_t to_tee = to_write; ++ if (*teed_core_size + to_tee > teed_core_limit) ++ to_tee = teed_core_limit - *teed_core_size; ++ ++ const ssize_t teed = splice_full(cp[0], teed_fd, to_tee); ++ if (teed < 0) ++ { ++ perror_msg("Cannot splice teed data to core file"); ++ pipe_close(cp); ++ to_write = copy_buffer_size; ++ } ++ else ++ *teed_core_size += teed; ++ ++ if (*teed_core_size >= teed_core_limit) ++ { ++ pipe_close(cp); ++ to_write = copy_buffer_size; ++ } ++ } ++ ++ /* Check EOF. */ ++ if (spliced == 0 || *spliced_core_size >= spliced_core_limit) ++ break; ++ } ++ ++ int r = 0; ++ if (cp[0] < 0) ++ { ++ if (abrt_limit < user_limit) ++ r |= DUMP_ABRT_CORE_FAILED; ++ else ++ r |= DUMP_USER_CORE_FAILED; ++ } ++ else ++ pipe_close(cp); ++ ++ return r; ++} ++ ++ + int main(int argc, char** argv) + { + int err = 1; +@@ -755,6 +851,8 @@ int main(int argc, char** argv) + bool setting_SaveBinaryImage; + bool setting_SaveFullCore; + bool setting_CreateCoreBacktrace; ++ unsigned int setting_MaxCoreFileSize = g_settings_nMaxCrashReportsSize; ++ + GList *setting_ignored_paths = NULL; + GList *setting_allowed_users = NULL; + GList *setting_allowed_groups = NULL; +@@ -780,6 +878,18 @@ int main(int argc, char** argv) + if (value) + setting_allowed_groups = parse_list(value); + ++ value = get_map_string_item_or_NULL(settings, "MaxCoreFileSize"); ++ if (value) ++ { ++ char *end; ++ errno = 0; ++ unsigned long ul = strtoul(value, &end, 10); ++ if (errno || end == value || *end != '\0' || ul > UINT_MAX) ++ error_msg("The MaxCoreFileSize option in the CCpp.conf file holds an invalid value"); ++ else ++ setting_MaxCoreFileSize = ul; ++ } ++ + setting_CreateCoreBacktrace = value ? string_to_bool(value) : true; + value = get_map_string_item_or_NULL(settings, "VerboseLog"); + if (value) +@@ -1019,8 +1129,8 @@ int main(int argc, char** argv) + + unlink(path); + int abrt_core_fd = xopen3(path, O_WRONLY | O_CREAT | O_EXCL, 0600); +- off_t core_size = copyfd_eof(STDIN_FILENO, abrt_core_fd, COPYFD_SPARSE); +- if (core_size < 0 || fsync(abrt_core_fd) != 0) ++ off_t core_size = splice_entire_per_partes(STDIN_FILENO, abrt_core_fd, SIZE_MAX); ++ if (core_size < 0 || fsync(abrt_core_fd) != 0 || close(abrt_core_fd) < 0) + { + unlink(path); + /* copyfd_eof logs the error including errno string, +@@ -1133,31 +1243,58 @@ int main(int argc, char** argv) + close(src_fd_binary); + } + +- off_t core_size = 0; ++ size_t core_size = 0; + if (setting_SaveFullCore) + { +- strcpy(path + path_len, "/"FILENAME_COREDUMP); +- int abrt_core_fd = create_or_die(path, user_core_fd); +- +- /* We write both coredumps at once. +- * We can't write user coredump first, since it might be truncated +- * and thus can't be copied and used as abrt coredump; +- * and if we write abrt coredump first and then copy it as user one, +- * then we have a race when process exits but coredump does not exist yet: +- * $ echo -e '#include\nmain(){raise(SIGSEGV);}' | gcc -o test -x c - +- * $ rm -f core*; ulimit -c unlimited; ./test; ls -l core* +- * 21631 Segmentation fault (core dumped) ./test +- * ls: cannot access core*: No such file or directory <=== BAD +- */ +- core_size = copyfd_sparse(STDIN_FILENO, abrt_core_fd, user_core_fd, ulimit_c); +- close_user_core(user_core_fd, core_size); +- if (fsync(abrt_core_fd) != 0 || close(abrt_core_fd) != 0 || core_size < 0) ++ int abrt_core_fd = dd_open_item(dd, FILENAME_COREDUMP, O_RDWR); ++ if (abrt_core_fd < 0) ++ { /* Avoid the need to deal with two destinations. */ ++ perror_msg("Failed to create ABRT core file in '%s'", dd->dd_dirname); ++ create_user_core(user_core_fd, pid, ulimit_c); ++ } ++ else + { +- unlink(path); +- dd_delete(dd); +- /* copyfd_sparse logs the error including errno string, +- * but it does not log file name */ +- error_msg_and_die("Error writing '%s'", path); ++ size_t abrt_limit = 0; ++ if ( (g_settings_nMaxCrashReportsSize != 0 && setting_MaxCoreFileSize == 0) ++ || (g_settings_nMaxCrashReportsSize != 0 && g_settings_nMaxCrashReportsSize < setting_MaxCoreFileSize)) ++ abrt_limit = g_settings_nMaxCrashReportsSize; ++ else ++ abrt_limit = setting_MaxCoreFileSize; ++ ++ if (abrt_limit != 0) ++ { ++ const size_t abrt_limit_bytes = 1024 * 1024 * abrt_limit; ++ /* Overflow protection. */ ++ if (abrt_limit_bytes > abrt_limit) ++ abrt_limit = abrt_limit_bytes; ++ else ++ { ++ error_msg("ABRT core file size limit (MaxCrashReportsSize|MaxCoreFileSize) does not fit into runtime type. Using maximal possible size."); ++ abrt_limit = SIZE_MAX; ++ } ++ } ++ else ++ abrt_limit = SIZE_MAX; ++ ++ if (user_core_fd < 0) ++ { ++ const ssize_t r = splice_entire_per_partes(STDIN_FILENO, abrt_core_fd, abrt_limit); ++ if (r < 0) ++ perror_msg("Failed to write ABRT core file"); ++ else ++ core_size = r; ++ } ++ else ++ { ++ size_t user_limit = ulimit_c; ++ const int r = dump_two_core_files(abrt_core_fd, &abrt_limit, user_core_fd, &user_limit); ++ close_user_core(user_core_fd, (r & DUMP_USER_CORE_FAILED) ? -1 : user_limit); ++ if (!(r & DUMP_ABRT_CORE_FAILED)) ++ core_size = abrt_limit; ++ } ++ ++ if (fsync(abrt_core_fd) != 0 || close(abrt_core_fd) != 0) ++ perror_msg("Failed to close ABRT core file"); + } + } + else +@@ -1223,8 +1360,8 @@ int main(int argc, char** argv) + free(newpath); + + if (core_size > 0) +- log_notice("Saved core dump of pid %lu (%s) to %s (%llu bytes)", +- (long)pid, executable, path, (long long)core_size); ++ log_notice("Saved core dump of pid %lu (%s) to %s (%zu bytes)", ++ (long)pid, executable, path, core_size); + + notify_new_path(path); + +-- +2.17.2 + diff --git a/SOURCES/0314-conf-increase-MaxCrashReportsSize-to-5GiB.patch b/SOURCES/0314-conf-increase-MaxCrashReportsSize-to-5GiB.patch new file mode 100644 index 0000000..c5c9da9 --- /dev/null +++ b/SOURCES/0314-conf-increase-MaxCrashReportsSize-to-5GiB.patch @@ -0,0 +1,30 @@ +From 0c4b1da592933c05f08319ce88a708a23cde2ff3 Mon Sep 17 00:00:00 2001 +From: Jakub Filak +Date: Sun, 16 Oct 2016 15:56:50 +0200 +Subject: [PATCH] conf: increase MaxCrashReportsSize to 5GiB + +Since we limit core files size by the value of this option we need to +increase its value to be able to write full core files of application +such as gnome-shell. + +Signed-off-by: Jakub Filak +--- + src/daemon/abrt.conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/daemon/abrt.conf b/src/daemon/abrt.conf +index 24df20b63..43c7fe059 100644 +--- a/src/daemon/abrt.conf ++++ b/src/daemon/abrt.conf +@@ -7,7 +7,7 @@ + + # Max size for crash storage [MiB] or 0 for unlimited + # +-MaxCrashReportsSize = 1000 ++MaxCrashReportsSize = 5000 + + # Specify where you want to store coredumps and all files which are needed for + # reporting. (default:/var/spool/abrt) +-- +2.17.2 + diff --git a/SOURCES/0317-Resolves-bz1647841.patch b/SOURCES/0317-Resolves-bz1647841.patch new file mode 100644 index 0000000..f8e594b --- /dev/null +++ b/SOURCES/0317-Resolves-bz1647841.patch @@ -0,0 +1,26 @@ +From 6e712cc037ae689e3ad418a1730b84433b24a337 Mon Sep 17 00:00:00 2001 +From: Matej Habrnal +Date: Mon, 26 Sep 2016 16:03:27 +0200 +Subject: [PATCH] Resolves bz1647841 + +vmcore: /var/tmp/abrt is no longer a dump location + +Signed-off-by: Matej Habrnal +(cherry picked from commit 62704f1809720a4e00b1a71f1bd383887aec5b8f) +Signed-off-by: Raghavendra Rao +--- + src/hooks/vmcore.conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/hooks/vmcore.conf b/src/hooks/vmcore.conf +index cff35d831..0fb9c3edc 100644 +--- a/src/hooks/vmcore.conf ++++ b/src/hooks/vmcore.conf +@@ -1,3 +1,3 @@ +-# Do you want vmcore to be copied, or moved from /var/crash to /var/tmp/abrt? ++# Do you want vmcore to be copied, or moved from /var/crash to /var/spool/abrt? + # (default is to copy, but it may duplicate way too much data) + CopyVMcore = yes +-- +2.17.2 + diff --git a/SOURCES/0318-testsuite-move-examples-to-tests.patch b/SOURCES/0318-testsuite-move-examples-to-tests.patch new file mode 100644 index 0000000..cf1d985 --- /dev/null +++ b/SOURCES/0318-testsuite-move-examples-to-tests.patch @@ -0,0 +1,264 @@ +From 4e4a590283c0a69b46ca6c106fa25ab424be246c Mon Sep 17 00:00:00 2001 +From: Martin Kutlak +Date: Thu, 22 Nov 2018 13:27:06 +0100 +Subject: [PATCH] testsuite: move examples to 'tests' + +Signed-off-by: Martin Kutlak +--- + Makefile.am | 29 +---------------------------- + tests/Makefile.am | 29 ++++++++++++++++++++++++++++- + {examples => tests/examples}/cut_here.right | 0 + .../examples}/hash-gen-oops6.right | 0 + .../examples}/hash-gen-same-as-oops6.right | 0 + .../examples}/hash-gen-short-oops.right | 0 + .../examples}/koops-tainted-bg1 | 0 + {examples => tests/examples}/koops-tainted-g | 0 + .../examples}/koops-tainted-insane | 0 + .../examples}/koops-tainted-spaces | 0 + {examples => tests/examples}/nmi_oops.right | 0 + {examples => tests/examples}/nmi_oops.test | 0 + .../examples}/nmi_oops_hash.right | 0 + .../examples}/nmi_oops_hash.test | 0 + .../examples}/oops-kernel-3.x.x | 0 + .../examples}/oops-same-as-oops4.right | 0 + .../examples}/oops-with-jiffies.right | 0 + .../examples}/oops-with-jiffies.test | 0 + {examples => tests/examples}/oops1.right | 0 + .../examples}/oops10_s390x.right | 0 + .../examples}/oops10_s390x.test | 0 + {examples => tests/examples}/oops4.right | 0 + .../examples}/oops_broken_bios.test | 0 + .../examples}/oops_recursive_locking1.right | 0 + .../examples}/oops_recursive_locking1.test | 0 + .../examples}/oops_unsupported_hw.test | 0 + tests/koops-test.h | 2 +- + 27 files changed, 30 insertions(+), 30 deletions(-) + rename {examples => tests/examples}/cut_here.right (100%) + rename {examples => tests/examples}/hash-gen-oops6.right (100%) + rename {examples => tests/examples}/hash-gen-same-as-oops6.right (100%) + rename {examples => tests/examples}/hash-gen-short-oops.right (100%) + rename {examples => tests/examples}/koops-tainted-bg1 (100%) + rename {examples => tests/examples}/koops-tainted-g (100%) + rename {examples => tests/examples}/koops-tainted-insane (100%) + rename {examples => tests/examples}/koops-tainted-spaces (100%) + rename {examples => tests/examples}/nmi_oops.right (100%) + rename {examples => tests/examples}/nmi_oops.test (100%) + rename {examples => tests/examples}/nmi_oops_hash.right (100%) + rename {examples => tests/examples}/nmi_oops_hash.test (100%) + rename {examples => tests/examples}/oops-kernel-3.x.x (100%) + rename {examples => tests/examples}/oops-same-as-oops4.right (100%) + rename {examples => tests/examples}/oops-with-jiffies.right (100%) + rename {examples => tests/examples}/oops-with-jiffies.test (100%) + rename {examples => tests/examples}/oops1.right (100%) + rename {examples => tests/examples}/oops10_s390x.right (100%) + rename {examples => tests/examples}/oops10_s390x.test (100%) + rename {examples => tests/examples}/oops4.right (100%) + rename {examples => tests/examples}/oops_broken_bios.test (100%) + rename {examples => tests/examples}/oops_recursive_locking1.right (100%) + rename {examples => tests/examples}/oops_recursive_locking1.test (100%) + rename {examples => tests/examples}/oops_unsupported_hw.test (100%) + rename {examples => tests/examples}/taint/.gitignore (100%) + rename {examples => tests/examples}/taint/Makefile (100%) + rename {examples => tests/examples}/taint/taint.c (100%) + +diff --git a/Makefile.am b/Makefile.am +index b5430d133..1a9c3e4b2 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -4,36 +4,9 @@ SUBDIRS = src doc po icons tests apidoc + DISTCHECK_CONFIGURE_FLAGS = \ + --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) + +-TESTSUITE_FILES = +-TESTSUITE_FILES += examples/koops-tainted-g +-TESTSUITE_FILES += examples/koops-tainted-insane +-TESTSUITE_FILES += examples/koops-tainted-spaces +-TESTSUITE_FILES += examples/cut_here.right +-TESTSUITE_FILES += examples/oops-kernel-3.x.x +-TESTSUITE_FILES += examples/oops1.right +-TESTSUITE_FILES += examples/koops-tainted-bg1 +-TESTSUITE_FILES += examples/oops-same-as-oops4.right +-TESTSUITE_FILES += examples/oops4.right +-TESTSUITE_FILES += examples/oops-same-as-oops4.right +-TESTSUITE_FILES += examples/hash-gen-oops6.right +-TESTSUITE_FILES += examples/hash-gen-short-oops.right +-TESTSUITE_FILES += examples/hash-gen-same-as-oops6.right +-TESTSUITE_FILES += examples/oops-with-jiffies.test +-TESTSUITE_FILES += examples/oops-with-jiffies.right +-TESTSUITE_FILES += examples/oops_recursive_locking1.test +-TESTSUITE_FILES += examples/oops_recursive_locking1.right +-TESTSUITE_FILES += examples/nmi_oops.test +-TESTSUITE_FILES += examples/nmi_oops.right +-TESTSUITE_FILES += examples/nmi_oops_hash.test +-TESTSUITE_FILES += examples/nmi_oops_hash.right +-TESTSUITE_FILES += examples/oops10_s390x.test +-TESTSUITE_FILES += examples/oops10_s390x.right +-TESTSUITE_FILES += examples/oops_unsupported_hw.test +-TESTSUITE_FILES += examples/oops_broken_bios.test +- + + EXTRA_DIST = doc/coding-style abrt.spec.in abrt.pc.in \ +- abrt-version asciidoc.conf init-scripts/* $(TESTSUITE_FILES) \ ++ abrt-version asciidoc.conf init-scripts/* \ + augeas/test_abrt.aug + + pkgconfigdir = $(libdir)/pkgconfig +diff --git a/tests/Makefile.am b/tests/Makefile.am +index 416f579b7..1e1b63376 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -24,6 +24,33 @@ EXTRA_DIST = package.m4 ignored_problems_data + ## Test suite. ## + ## ------------ ## + ++TESTSUITE_FILES = ++TESTSUITE_FILES += examples/koops-tainted-g ++TESTSUITE_FILES += examples/koops-tainted-insane ++TESTSUITE_FILES += examples/koops-tainted-spaces ++TESTSUITE_FILES += examples/cut_here.right ++TESTSUITE_FILES += examples/oops-kernel-3.x.x ++TESTSUITE_FILES += examples/oops1.right ++TESTSUITE_FILES += examples/koops-tainted-bg1 ++TESTSUITE_FILES += examples/oops-same-as-oops4.right ++TESTSUITE_FILES += examples/oops4.right ++TESTSUITE_FILES += examples/oops-same-as-oops4.right ++TESTSUITE_FILES += examples/hash-gen-oops6.right ++TESTSUITE_FILES += examples/hash-gen-short-oops.right ++TESTSUITE_FILES += examples/hash-gen-same-as-oops6.right ++TESTSUITE_FILES += examples/oops-with-jiffies.test ++TESTSUITE_FILES += examples/oops-with-jiffies.right ++TESTSUITE_FILES += examples/oops_recursive_locking1.test ++TESTSUITE_FILES += examples/oops_recursive_locking1.right ++TESTSUITE_FILES += examples/nmi_oops.test ++TESTSUITE_FILES += examples/nmi_oops.right ++TESTSUITE_FILES += examples/nmi_oops_hash.test ++TESTSUITE_FILES += examples/nmi_oops_hash.right ++TESTSUITE_FILES += examples/oops10_s390x.test ++TESTSUITE_FILES += examples/oops10_s390x.right ++TESTSUITE_FILES += examples/oops_unsupported_hw.test ++TESTSUITE_FILES += examples/oops_broken_bios.test ++ + TESTSUITE_AT = \ + local.at \ + testsuite.at \ +@@ -32,7 +59,7 @@ TESTSUITE_AT = \ + ignored_problems.at \ + hooklib.at + +-EXTRA_DIST += $(TESTSUITE_AT) ++EXTRA_DIST += $(TESTSUITE_AT) $(TESTSUITE_FILES) + TESTSUITE = $(srcdir)/testsuite + MAINTAINERCLEANFILES = Makefile.in $(TESTSUITE) + check_DATA = atconfig atlocal $(TESTSUITE) +diff --git a/examples/cut_here.right b/tests/examples/cut_here.right +similarity index 100% +rename from examples/cut_here.right +rename to tests/examples/cut_here.right +diff --git a/examples/hash-gen-oops6.right b/tests/examples/hash-gen-oops6.right +similarity index 100% +rename from examples/hash-gen-oops6.right +rename to tests/examples/hash-gen-oops6.right +diff --git a/examples/hash-gen-same-as-oops6.right b/tests/examples/hash-gen-same-as-oops6.right +similarity index 100% +rename from examples/hash-gen-same-as-oops6.right +rename to tests/examples/hash-gen-same-as-oops6.right +diff --git a/examples/hash-gen-short-oops.right b/tests/examples/hash-gen-short-oops.right +similarity index 100% +rename from examples/hash-gen-short-oops.right +rename to tests/examples/hash-gen-short-oops.right +diff --git a/examples/koops-tainted-bg1 b/tests/examples/koops-tainted-bg1 +similarity index 100% +rename from examples/koops-tainted-bg1 +rename to tests/examples/koops-tainted-bg1 +diff --git a/examples/koops-tainted-g b/tests/examples/koops-tainted-g +similarity index 100% +rename from examples/koops-tainted-g +rename to tests/examples/koops-tainted-g +diff --git a/examples/koops-tainted-insane b/tests/examples/koops-tainted-insane +similarity index 100% +rename from examples/koops-tainted-insane +rename to tests/examples/koops-tainted-insane +diff --git a/examples/koops-tainted-spaces b/tests/examples/koops-tainted-spaces +similarity index 100% +rename from examples/koops-tainted-spaces +rename to tests/examples/koops-tainted-spaces +diff --git a/examples/nmi_oops.right b/tests/examples/nmi_oops.right +similarity index 100% +rename from examples/nmi_oops.right +rename to tests/examples/nmi_oops.right +diff --git a/examples/nmi_oops.test b/tests/examples/nmi_oops.test +similarity index 100% +rename from examples/nmi_oops.test +rename to tests/examples/nmi_oops.test +diff --git a/examples/nmi_oops_hash.right b/tests/examples/nmi_oops_hash.right +similarity index 100% +rename from examples/nmi_oops_hash.right +rename to tests/examples/nmi_oops_hash.right +diff --git a/examples/nmi_oops_hash.test b/tests/examples/nmi_oops_hash.test +similarity index 100% +rename from examples/nmi_oops_hash.test +rename to tests/examples/nmi_oops_hash.test +diff --git a/examples/oops-kernel-3.x.x b/tests/examples/oops-kernel-3.x.x +similarity index 100% +rename from examples/oops-kernel-3.x.x +rename to tests/examples/oops-kernel-3.x.x +diff --git a/examples/oops-same-as-oops4.right b/tests/examples/oops-same-as-oops4.right +similarity index 100% +rename from examples/oops-same-as-oops4.right +rename to tests/examples/oops-same-as-oops4.right +diff --git a/examples/oops-with-jiffies.right b/tests/examples/oops-with-jiffies.right +similarity index 100% +rename from examples/oops-with-jiffies.right +rename to tests/examples/oops-with-jiffies.right +diff --git a/examples/oops-with-jiffies.test b/tests/examples/oops-with-jiffies.test +similarity index 100% +rename from examples/oops-with-jiffies.test +rename to tests/examples/oops-with-jiffies.test +diff --git a/examples/oops1.right b/tests/examples/oops1.right +similarity index 100% +rename from examples/oops1.right +rename to tests/examples/oops1.right +diff --git a/examples/oops10_s390x.right b/tests/examples/oops10_s390x.right +similarity index 100% +rename from examples/oops10_s390x.right +rename to tests/examples/oops10_s390x.right +diff --git a/examples/oops10_s390x.test b/tests/examples/oops10_s390x.test +similarity index 100% +rename from examples/oops10_s390x.test +rename to tests/examples/oops10_s390x.test +diff --git a/examples/oops4.right b/tests/examples/oops4.right +similarity index 100% +rename from examples/oops4.right +rename to tests/examples/oops4.right +diff --git a/examples/oops_broken_bios.test b/tests/examples/oops_broken_bios.test +similarity index 100% +rename from examples/oops_broken_bios.test +rename to tests/examples/oops_broken_bios.test +diff --git a/examples/oops_recursive_locking1.right b/tests/examples/oops_recursive_locking1.right +similarity index 100% +rename from examples/oops_recursive_locking1.right +rename to tests/examples/oops_recursive_locking1.right +diff --git a/examples/oops_recursive_locking1.test b/tests/examples/oops_recursive_locking1.test +similarity index 100% +rename from examples/oops_recursive_locking1.test +rename to tests/examples/oops_recursive_locking1.test +diff --git a/examples/oops_unsupported_hw.test b/tests/examples/oops_unsupported_hw.test +similarity index 100% +rename from examples/oops_unsupported_hw.test +rename to tests/examples/oops_unsupported_hw.test +diff --git a/tests/koops-test.h b/tests/koops-test.h +index 53787aa62..58f4ede01 100644 +--- a/tests/koops-test.h ++++ b/tests/koops-test.h +@@ -18,7 +18,7 @@ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +-#define EXAMPLE_PFX "../../../examples" ++#define EXAMPLE_PFX "../../examples" + + struct test_struct { + const char *filename; +-- +2.17.2 + diff --git a/SOURCES/0319-koops-Filter-kernel-oopses-based-on-logged-hostname.patch b/SOURCES/0319-koops-Filter-kernel-oopses-based-on-logged-hostname.patch new file mode 100644 index 0000000..22d7dfc --- /dev/null +++ b/SOURCES/0319-koops-Filter-kernel-oopses-based-on-logged-hostname.patch @@ -0,0 +1,432 @@ +From 9fdd19c8ce013fa32d2ab62e4363d6890132dbb3 Mon Sep 17 00:00:00 2001 +From: clime +Date: Thu, 22 Nov 2018 13:45:38 +0100 +Subject: [PATCH] koops: Filter kernel oopses based on logged hostname + +syslog message parser that looks for kernel oopses did not look +at hostname in each message before. If logs from multiple machines +are collected into a single system log on one central machine, abrt +can trigger on events that come from those other machines, whereas it +should trigger only on events coming from the machine itself. This +commit fixes the behavior by checking the hostname in each event. + +rsyslogd needs to be configured to include the hostname (short or full) +in the syslog messages, otherwise all kernel oopses will be filtered out. +By default system configuration, the short hostname is included. + +* also adds fixes for tests because host name in test input files now matters + +Related: bz#1613182 +--- + src/lib/kernel.c | 43 ++++ + tests/Makefile.am | 12 +- + tests/examples/koops-tainted-g | 61 ----- + tests/examples/koops-tainted-g.template | 59 +++++ + tests/examples/koops-tainted-insane | 6 - + tests/examples/koops-tainted-insane.template | 6 + + tests/examples/nmi_oops.test | 32 --- + tests/examples/nmi_oops.test.template | 32 +++ + tests/examples/not_oops_foreign_hostname.test | 1 + + tests/examples/oops_full_hostname.test | 1 + + tests/examples/oops_full_hostname.test.template | 1 + + tests/examples/prepare-data | 10 + + 12 files changed, 161 insertions(+), 103 deletions(-) + delete mode 100644 tests/examples/koops-tainted-g + create mode 100644 tests/examples/koops-tainted-g.template + delete mode 100644 tests/examples/koops-tainted-insane + create mode 100644 tests/examples/koops-tainted-insane.template + delete mode 100644 tests/examples/nmi_oops.test + create mode 100644 tests/examples/nmi_oops.test.template + create mode 100644 tests/examples/not_oops_foreign_hostname.test + create mode 100644 tests/examples/oops_full_hostname.test + create mode 100644 tests/examples/oops_full_hostname.test.template + create mode 100755 tests/examples/prepare-data + +diff --git a/src/lib/kernel.c b/src/lib/kernel.c +index 346b0a662..0a8488e25 100644 +--- a/src/lib/kernel.c ++++ b/src/lib/kernel.c +@@ -20,6 +20,7 @@ + #include + + #include ++#include + + #define _GNU_SOURCE 1 /* for strcasestr */ + #include "libabrt.h" +@@ -234,6 +235,38 @@ void koops_extract_oopses(GList **oops_list, char *buffer, size_t buflen) + int lines_info_size = 0; + struct line_info *lines_info = NULL; + ++ /* prepare hostname search string (needle) */ ++ unsigned hsz = 256; ++ char *hostname = xmalloc(hsz); ++ char *short_needle = xmalloc(hsz+10); ++ char *long_needle = xmalloc(hsz+10); ++ if (gethostname(hostname, hsz) != 0) ++ { ++ hostname[0] = '\0'; ++ } ++ else ++ { ++ char *dot_str = strchr(hostname, '.'); ++ unsigned dot_pos; ++ if (dot_str != NULL) ++ { ++ dot_pos = dot_str - hostname; ++ } ++ else ++ { ++ hostname[hsz-1] = '\0'; ++ dot_pos = strlen(hostname); ++ } ++ short_needle[0] = ' '; ++ short_needle[1] = '\0'; ++ strncat(short_needle, hostname, dot_pos); ++ strncat(short_needle, " kernel: ", 10); ++ long_needle[0] = ' '; ++ long_needle[1] = '\0'; ++ strncat(long_needle, hostname, hsz-1); ++ strncat(long_needle, " kernel: ", 10); ++ } ++ + /* Split buffer into lines */ + + if (buflen != 0) +@@ -289,6 +322,13 @@ void koops_extract_oopses(GList **oops_list, char *buffer, size_t buflen) + } + goto next_line; + } ++ ++ /* check if the machine hostname is contained in the message hostname */ ++ if (hostname[0] != '\0' && !strstr(c, short_needle) && !strstr(c, long_needle)) ++ { ++ goto next_line; ++ } ++ + c = kernel_str + sizeof("kernel: ")-1; + } + +@@ -499,6 +539,9 @@ next_line: + } + + free(lines_info); ++ free(hostname); ++ free(short_needle); ++ free(long_needle); + } + + int koops_hash_str(char result[SHA1_RESULT_LEN*2 + 1], const char *oops_buf) +diff --git a/tests/Makefile.am b/tests/Makefile.am +index 1e1b63376..dc96e5d7e 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -25,8 +25,8 @@ EXTRA_DIST = package.m4 ignored_problems_data + ## ------------ ## + + TESTSUITE_FILES = +-TESTSUITE_FILES += examples/koops-tainted-g +-TESTSUITE_FILES += examples/koops-tainted-insane ++TESTSUITE_FILES += examples/koops-tainted-g.template ++TESTSUITE_FILES += examples/koops-tainted-insane.template + TESTSUITE_FILES += examples/koops-tainted-spaces + TESTSUITE_FILES += examples/cut_here.right + TESTSUITE_FILES += examples/oops-kernel-3.x.x +@@ -42,7 +42,7 @@ TESTSUITE_FILES += examples/oops-with-jiffies.test + TESTSUITE_FILES += examples/oops-with-jiffies.right + TESTSUITE_FILES += examples/oops_recursive_locking1.test + TESTSUITE_FILES += examples/oops_recursive_locking1.right +-TESTSUITE_FILES += examples/nmi_oops.test ++TESTSUITE_FILES += examples/nmi_oops.test.template + TESTSUITE_FILES += examples/nmi_oops.right + TESTSUITE_FILES += examples/nmi_oops_hash.test + TESTSUITE_FILES += examples/nmi_oops_hash.right +@@ -66,11 +66,15 @@ TESTSUITE_AT = \ + EXTRA_DIST += $(TESTSUITE_AT) $(TESTSUITE_FILES) + TESTSUITE = $(srcdir)/testsuite + MAINTAINERCLEANFILES = Makefile.in $(TESTSUITE) +-check_DATA = atconfig atlocal $(TESTSUITE) ++check_DATA = atconfig atlocal prepare-data $(TESTSUITE) + DISTCLEANFILES = atconfig + EXTRA_DIST += atlocal.in + EXTRA_DIST += koops-test.h + EXTRA_DIST += GList_append.supp ++EXTRA_DIST += examples/prepare-data ++ ++prepare-data: ++ ${top_builddir}/tests/examples/prepare-data + + atconfig: $(top_builddir)/config.status + (cd ${top_builddir} && ./config.status ${subdir}/atconfig) +diff --git a/tests/examples/koops-tainted-g b/tests/examples/koops-tainted-g +deleted file mode 100644 +index f59c7400e..000000000 +--- a/tests/examples/koops-tainted-g ++++ /dev/null +@@ -1,61 +0,0 @@ +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564718] ------------[ cut here]------------ +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564721] WARNING: atarch/x86/xen/mmu.c:475 xen_make_pte+0x32/0x8e() +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564723] Hardware name: OptiPlex 755 +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564725] Modules linked in: nfs +-fscache auth_rpcgss nfs_acl tcp_lp ppdev parport_pc lp parport ebtable_nat +-ebtables ipt_MASQUERADE iptable_nat nf_nat xt_CHECKSUM iptable_mangle tun +-bridge stp llc lockd drbd lru_cache ip6t_REJECT nf_conntrack_ipv6 +-nf_defrag_ipv6 nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack +-ip6table_filter ip6_tables snd_hda_codec_analog dcdbas snd_hda_intel +-snd_hda_codec snd_hwdep snd_seq snd_seq_device 3c59x mii snd_pcm i2c_i801 +-serio_raw iTCO_wdt iTCO_vendor_support snd_timer snd soundcore snd_page_alloc +-e1000e xen_netback xen_blkback xen_gntdev xen_evtchn sunrpc uinput xenfs +-pata_acpi usb_storage ata_generic radeon ttm drm_kms_helper drm i2c_algo_bit +-i2c_core [last unloaded: scsi_wait_scan] +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564791] Pid: 912, comm: X Tainted: G 3.1.0-0.rc9.git0.0.fc16.x86_64 #1 +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564793] Call Trace: +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564797] [] warn_slowpath_common+0x83/0x9b +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564800] [] warn_slowpath_null+0x1a/0x1c +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564803] [] xen_make_pte+0x32/0x8e +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564807] [] __raw_callee_save_xen_make_pte+0x11/0x1e +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564810] [] ? pfn_pte+0x26/0x29 +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564814] [] __change_page_attr_set_clr+0x130/0x749 +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564817] [] ? get_phys_to_machine+0x1f/0x62 +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564821] [] ? mfn_to_pfn.part.3+0x3e/0x88 +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564824] [] ? pte_mfn_to_pfn+0x3b/0x4d +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564827] [] ? __xen_set_pte+0x1b/0x5b +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564831] [] __change_page_attr_set_clr+0x6fe/0x749 +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564834] [] ? __purge_vmap_area_lazy+0x7c/0x17d +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564838] [] change_page_attr_set_clr+0x14c/0x305 +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564842] [] _set_pages_array+0xa3/0xf1 +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564845] [] set_pages_array_wc+0x13/0x15 +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564852] [] ttm_set_pages_caching+0x39/0x5b [ttm] +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564858] [] ttm_alloc_new_pages+0xd3/0x15b [ttm] +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564864] [] ttm_get_pages+0x137/0x361 [ttm] +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564870] [] __ttm_tt_get_page+0x54/0xb0 [ttm] +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564876] [] ttm_tt_populate+0x3d/0x7c [ttm] +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564881] [] ttm_tt_bind+0x32/0x66 [ttm] +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564887] [] ttm_bo_handle_move_mem+0x114/0x2a1 [ttm] +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564893] [] ttm_bo_evict+0x29f/0x2e8 [ttm] +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564899] [] ttm_mem_evict_first+0x152/0x180 [ttm] +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564906] [] ttm_bo_mem_space+0x29b/0x2ea [ttm] +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564912] [] ttm_bo_move_buffer+0xb6/0x10c [ttm] +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564922] [] ? drm_mm_insert_helper+0xd3/0xec [drm] +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564928] [] ttm_bo_validate+0xb6/0xf4 [ttm] +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564934] [] ttm_bo_init+0x300/0x339 [ttm] +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564949] [] radeon_bo_create+0x1bf/0x248 [radeon] +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564965] [] ? radeon_bo_clear_surface_reg+0x50/0x50 [radeon] +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564983] [] radeon_gem_object_create+0x53/0xd8 [radeon] +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.565001] [] radeon_gem_create_ioctl+0x4b/0x81 [radeon] +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.565005] [] ? should_resched+0xe/0x2d +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.565013] [] drm_ioctl+0x29e/0x37b [drm] +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.565031] [] ? radeon_gem_pwrite_ioctl+0x28/0x28 [radeon] +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.565034] [] ? inode_has_perm+0x32/0x34 +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.565038] [] ? file_has_perm+0xa7/0xc9 +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.565041] [] do_vfs_ioctl+0x452/0x493 +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.565045] [] sys_ioctl+0x56/0x7c +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.565048] [] ? sys_read+0x61/0x6e +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.565059] [] system_call_fastpath+0x16/0x1b +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.565062] ---[ end trace e17fa7b6cce3a141 ]--- +- +- +diff --git a/tests/examples/koops-tainted-g.template b/tests/examples/koops-tainted-g.template +new file mode 100644 +index 000000000..104d6bf16 +--- /dev/null ++++ b/tests/examples/koops-tainted-g.template +@@ -0,0 +1,59 @@ ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564718] ------------[ cut here]------------ ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564721] WARNING: atarch/x86/xen/mmu.c:475 xen_make_pte+0x32/0x8e() ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564723] Hardware name: OptiPlex 755 ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564725] Modules linked in: nfs ++fscache auth_rpcgss nfs_acl tcp_lp ppdev parport_pc lp parport ebtable_nat ++ebtables ipt_MASQUERADE iptable_nat nf_nat xt_CHECKSUM iptable_mangle tun ++bridge stp llc lockd drbd lru_cache ip6t_REJECT nf_conntrack_ipv6 ++nf_defrag_ipv6 nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack ++ip6table_filter ip6_tables snd_hda_codec_analog dcdbas snd_hda_intel ++snd_hda_codec snd_hwdep snd_seq snd_seq_device 3c59x mii snd_pcm i2c_i801 ++serio_raw iTCO_wdt iTCO_vendor_support snd_timer snd soundcore snd_page_alloc ++e1000e xen_netback xen_blkback xen_gntdev xen_evtchn sunrpc uinput xenfs ++pata_acpi usb_storage ata_generic radeon ttm drm_kms_helper drm i2c_algo_bit ++i2c_core [last unloaded: scsi_wait_scan] ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564791] Pid: 912, comm: X Tainted: G 3.1.0-0.rc9.git0.0.fc16.x86_64 #1 ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564793] Call Trace: ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564797] [] warn_slowpath_common+0x83/0x9b ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564800] [] warn_slowpath_null+0x1a/0x1c ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564803] [] xen_make_pte+0x32/0x8e ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564807] [] __raw_callee_save_xen_make_pte+0x11/0x1e ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564810] [] ? pfn_pte+0x26/0x29 ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564814] [] __change_page_attr_set_clr+0x130/0x749 ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564817] [] ? get_phys_to_machine+0x1f/0x62 ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564821] [] ? mfn_to_pfn.part.3+0x3e/0x88 ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564824] [] ? pte_mfn_to_pfn+0x3b/0x4d ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564827] [] ? __xen_set_pte+0x1b/0x5b ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564831] [] __change_page_attr_set_clr+0x6fe/0x749 ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564834] [] ? __purge_vmap_area_lazy+0x7c/0x17d ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564838] [] change_page_attr_set_clr+0x14c/0x305 ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564842] [] _set_pages_array+0xa3/0xf1 ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564845] [] set_pages_array_wc+0x13/0x15 ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564852] [] ttm_set_pages_caching+0x39/0x5b [ttm] ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564858] [] ttm_alloc_new_pages+0xd3/0x15b [ttm] ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564864] [] ttm_get_pages+0x137/0x361 [ttm] ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564870] [] __ttm_tt_get_page+0x54/0xb0 [ttm] ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564876] [] ttm_tt_populate+0x3d/0x7c [ttm] ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564881] [] ttm_tt_bind+0x32/0x66 [ttm] ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564887] [] ttm_bo_handle_move_mem+0x114/0x2a1 [ttm] ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564893] [] ttm_bo_evict+0x29f/0x2e8 [ttm] ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564899] [] ttm_mem_evict_first+0x152/0x180 [ttm] ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564906] [] ttm_bo_mem_space+0x29b/0x2ea [ttm] ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564912] [] ttm_bo_move_buffer+0xb6/0x10c [ttm] ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564922] [] ? drm_mm_insert_helper+0xd3/0xec [drm] ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564928] [] ttm_bo_validate+0xb6/0xf4 [ttm] ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564934] [] ttm_bo_init+0x300/0x339 [ttm] ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564949] [] radeon_bo_create+0x1bf/0x248 [radeon] ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564965] [] ? radeon_bo_clear_surface_reg+0x50/0x50 [radeon] ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564983] [] radeon_gem_object_create+0x53/0xd8 [radeon] ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.565001] [] radeon_gem_create_ioctl+0x4b/0x81 [radeon] ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.565005] [] ? should_resched+0xe/0x2d ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.565013] [] drm_ioctl+0x29e/0x37b [drm] ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.565031] [] ? radeon_gem_pwrite_ioctl+0x28/0x28 [radeon] ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.565034] [] ? inode_has_perm+0x32/0x34 ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.565038] [] ? file_has_perm+0xa7/0xc9 ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.565041] [] do_vfs_ioctl+0x452/0x493 ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.565045] [] sys_ioctl+0x56/0x7c ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.565048] [] ? sys_read+0x61/0x6e ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.565059] [] system_call_fastpath+0x16/0x1b ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.565062] ---[ end trace e17fa7b6cce3a141 ]--- +diff --git a/tests/examples/koops-tainted-insane b/tests/examples/koops-tainted-insane +deleted file mode 100644 +index 1d3eee631..000000000 +--- a/tests/examples/koops-tainted-insane ++++ /dev/null +@@ -1,6 +0,0 @@ +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564718] ------------[ cut here]------------ +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564721] WARNING: atarch/x86/xen/mmu.c:475 xen_make_pte+0x32/0x8e() +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564791] Pid: 912, comm: X Tainted: ABCDEFGHIJKLMNOPQRSTUVWXYZ 3.1.0-0.rc9.git0.0.fc16.x86_64 #1 +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564793] Call Trace: +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.564797] [] warn_slowpath_common+0x83/0x9b +-Oct 11 10:57:36 jerry-opti755 kernel: [ 4552.565062] ---[ end trace e17fa7b6cce3a141 ]--- +diff --git a/tests/examples/koops-tainted-insane.template b/tests/examples/koops-tainted-insane.template +new file mode 100644 +index 000000000..6b24f709b +--- /dev/null ++++ b/tests/examples/koops-tainted-insane.template +@@ -0,0 +1,6 @@ ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564718] ------------[ cut here]------------ ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564721] WARNING: atarch/x86/xen/mmu.c:475 xen_make_pte+0x32/0x8e() ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564791] Pid: 912, comm: X Tainted: ABCDEFGHIJKLMNOPQRSTUVWXYZ 3.1.0-0.rc9.git0.0.fc16.x86_64 #1 ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564793] Call Trace: ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.564797] [] warn_slowpath_common+0x83/0x9b ++Oct 11 10:57:36 :HOSTNAME: kernel: [ 4552.565062] ---[ end trace e17fa7b6cce3a141 ]--- +diff --git a/tests/examples/nmi_oops.test b/tests/examples/nmi_oops.test +deleted file mode 100644 +index 978281f74..000000000 +--- a/tests/examples/nmi_oops.test ++++ /dev/null +@@ -1,32 +0,0 @@ +-Jan 11 22:31:37 kids1 kernel: ------------[ cut here ]------------ +-Jan 11 22:31:38 kids1 kernel: WARNING: at kernel/watchdog.c:245 watchdog_overflow_callback+0x9c/0xd0() +-Jan 11 22:31:38 kids1 kernel: Hardware name: Bochs +-Jan 11 22:31:38 kids1 kernel: Watchdog detected hard LOCKUP on cpu 0 +-Jan 11 22:31:38 kids1 kernel: Modules linked in: tcp_lp fuse ebtable_nat xt_CHECKSUM bridge stp llc nf_conntrack_netbios_ns nf_conntrack_broadcast ipt_MASQUERADE ip6table_nat nf_nat_ipv6 ip6table_mangle ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 iptable_nat nf_nat_ipv4 nf_nat iptable_mangle nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack bnep nf_conntrack bluetooth rfkill ebtable_filter ebtables ip6table_filter ip6_tables joydev snd_intel8x0 snd_ac97_codec crc32_pclmul ac97_bus crc32c_intel snd_seq snd_seq_device ghash_clmulni_intel snd_pcm snd_page_alloc snd_timer snd microcode virtio_balloon 8139too i2c_piix4 soundcore 8139cp mii binfmt_misc qxl drm_kms_helper ttm drm i2c_core uinput +-Jan 12 14:32:19 kids1 kernel: Pid: 0, comm: swapper/0 Not tainted 3.8.9-200.fc18.x86_64 #1 +-Jan 12 14:32:21 kids1 kernel: Call Trace: +-Jan 12 14:32:21 kids1 kernel: [] ? watchdog_overflow_callback+0x60/0xd0 +-Jan 12 14:32:21 kids1 kernel: [] warn_slowpath_common+0x66/0x80 +-Jan 12 14:32:21 kids1 kernel: [] warn_slowpath_fmt+0x4c/0x50 +-Jan 12 16:12:16 kids1 kernel: [] ? watchdog_enable+0x1e0/0x1e0 +-Jan 12 19:08:41 kids1 kernel: [] watchdog_overflow_callback+0x9c/0xd0 +-Jan 12 19:08:41 kids1 kernel: [] __perf_event_overflow+0x8e/0x220 +-Jan 12 19:08:41 kids1 kernel: [] ? perf_event_update_userpage+0x19/0x100 +-Jan 12 19:08:41 kids1 kernel: [] perf_event_overflow+0x14/0x20 +-Jan 12 19:08:41 kids1 kernel: [] intel_pmu_handle_irq+0x1b2/0x370 +-Jan 12 19:08:41 kids1 kernel: [] perf_event_nmi_handler+0x1d/0x20 +-Jan 12 19:08:41 kids1 kernel: [] nmi_handle.isra.0+0x59/0x90 +-Jan 12 19:08:41 kids1 kernel: [] do_nmi+0xd0/0x310 +-Jan 12 19:08:41 kids1 kernel: [] end_repeat_nmi+0x1e/0x2e +-Jan 12 19:08:41 kids1 kernel: [] ? irqtime_account_process_tick.isra.2+0x94/0x3c0 +-Jan 12 19:08:41 kids1 kernel: [] ? irqtime_account_process_tick.isra.2+0x94/0x3c0 +-Jan 12 19:08:41 kids1 kernel: [] ? irqtime_account_process_tick.isra.2+0x94/0x3c0 +-Jan 12 19:08:41 kids1 kernel: <> [] account_idle_ticks+0x90/0xa0 +-Jan 12 19:08:41 kids1 kernel: [] tick_nohz_idle_exit+0x165/0x1a0 +-Jan 12 19:08:41 kids1 kernel: [] cpu_idle+0x11b/0x140 +-Jan 12 19:08:41 kids1 kernel: [] rest_init+0x72/0x80 +-Jan 12 19:08:41 kids1 kernel: [] start_kernel+0x3f2/0x3fe +-Jan 12 19:08:41 kids1 kernel: [] ? repair_env_string+0x5c/0x5c +-Jan 12 19:08:41 kids1 kernel: [] ? early_idt_handlers+0x120/0x120 +-Jan 12 19:08:41 kids1 kernel: [] x86_64_start_reservations+0x2a/0x2c +-Jan 12 19:08:41 kids1 kernel: [] x86_64_start_kernel+0xf3/0x100 +diff --git a/tests/examples/nmi_oops.test.template b/tests/examples/nmi_oops.test.template +new file mode 100644 +index 000000000..058d55916 +--- /dev/null ++++ b/tests/examples/nmi_oops.test.template +@@ -0,0 +1,32 @@ ++Jan 11 22:31:37 :HOSTNAME: kernel: ------------[ cut here ]------------ ++Jan 11 22:31:38 :HOSTNAME: kernel: WARNING: at kernel/watchdog.c:245 watchdog_overflow_callback+0x9c/0xd0() ++Jan 11 22:31:38 :HOSTNAME: kernel: Hardware name: Bochs ++Jan 11 22:31:38 :HOSTNAME: kernel: Watchdog detected hard LOCKUP on cpu 0 ++Jan 11 22:31:38 :HOSTNAME: kernel: Modules linked in: tcp_lp fuse ebtable_nat xt_CHECKSUM bridge stp llc nf_conntrack_netbios_ns nf_conntrack_broadcast ipt_MASQUERADE ip6table_nat nf_nat_ipv6 ip6table_mangle ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 iptable_nat nf_nat_ipv4 nf_nat iptable_mangle nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack bnep nf_conntrack bluetooth rfkill ebtable_filter ebtables ip6table_filter ip6_tables joydev snd_intel8x0 snd_ac97_codec crc32_pclmul ac97_bus crc32c_intel snd_seq snd_seq_device ghash_clmulni_intel snd_pcm snd_page_alloc snd_timer snd microcode virtio_balloon 8139too i2c_piix4 soundcore 8139cp mii binfmt_misc qxl drm_kms_helper ttm drm i2c_core uinput ++Jan 12 14:32:19 :HOSTNAME: kernel: Pid: 0, comm: swapper/0 Not tainted 3.8.9-200.fc18.x86_64 #1 ++Jan 12 14:32:21 :HOSTNAME: kernel: Call Trace: ++Jan 12 14:32:21 :HOSTNAME: kernel: [] ? watchdog_overflow_callback+0x60/0xd0 ++Jan 12 14:32:21 :HOSTNAME: kernel: [] warn_slowpath_common+0x66/0x80 ++Jan 12 14:32:21 :HOSTNAME: kernel: [] warn_slowpath_fmt+0x4c/0x50 ++Jan 12 16:12:16 :HOSTNAME: kernel: [] ? watchdog_enable+0x1e0/0x1e0 ++Jan 12 19:08:41 :HOSTNAME: kernel: [] watchdog_overflow_callback+0x9c/0xd0 ++Jan 12 19:08:41 :HOSTNAME: kernel: [] __perf_event_overflow+0x8e/0x220 ++Jan 12 19:08:41 :HOSTNAME: kernel: [] ? perf_event_update_userpage+0x19/0x100 ++Jan 12 19:08:41 :HOSTNAME: kernel: [] perf_event_overflow+0x14/0x20 ++Jan 12 19:08:41 :HOSTNAME: kernel: [] intel_pmu_handle_irq+0x1b2/0x370 ++Jan 12 19:08:41 :HOSTNAME: kernel: [] perf_event_nmi_handler+0x1d/0x20 ++Jan 12 19:08:41 :HOSTNAME: kernel: [] nmi_handle.isra.0+0x59/0x90 ++Jan 12 19:08:41 :HOSTNAME: kernel: [] do_nmi+0xd0/0x310 ++Jan 12 19:08:41 :HOSTNAME: kernel: [] end_repeat_nmi+0x1e/0x2e ++Jan 12 19:08:41 :HOSTNAME: kernel: [] ? irqtime_account_process_tick.isra.2+0x94/0x3c0 ++Jan 12 19:08:41 :HOSTNAME: kernel: [] ? irqtime_account_process_tick.isra.2+0x94/0x3c0 ++Jan 12 19:08:41 :HOSTNAME: kernel: [] ? irqtime_account_process_tick.isra.2+0x94/0x3c0 ++Jan 12 19:08:41 :HOSTNAME: kernel: <> [] account_idle_ticks+0x90/0xa0 ++Jan 12 19:08:41 :HOSTNAME: kernel: [] tick_nohz_idle_exit+0x165/0x1a0 ++Jan 12 19:08:41 :HOSTNAME: kernel: [] cpu_idle+0x11b/0x140 ++Jan 12 19:08:41 :HOSTNAME: kernel: [] rest_init+0x72/0x80 ++Jan 12 19:08:41 :HOSTNAME: kernel: [] start_kernel+0x3f2/0x3fe ++Jan 12 19:08:41 :HOSTNAME: kernel: [] ? repair_env_string+0x5c/0x5c ++Jan 12 19:08:41 :HOSTNAME: kernel: [] ? early_idt_handlers+0x120/0x120 ++Jan 12 19:08:41 :HOSTNAME: kernel: [] x86_64_start_reservations+0x2a/0x2c ++Jan 12 19:08:41 :HOSTNAME: kernel: [] x86_64_start_kernel+0xf3/0x100 +diff --git a/tests/examples/not_oops_foreign_hostname.test b/tests/examples/not_oops_foreign_hostname.test +new file mode 100644 +index 000000000..b74169988 +--- /dev/null ++++ b/tests/examples/not_oops_foreign_hostname.test +@@ -0,0 +1 @@ ++Oct 12 23:25:16 some-totally-nonexistent-hostname-that-no-machine-can-have-right-thats-it kernel: mce: [Hardware Error]: Machine check events logged +diff --git a/tests/examples/oops_full_hostname.test b/tests/examples/oops_full_hostname.test +new file mode 100644 +index 000000000..3d8a11649 +--- /dev/null ++++ b/tests/examples/oops_full_hostname.test +@@ -0,0 +1 @@ ++ Oct 12 23:25:16 coprbox.den kernel: mce: [Hardware Error]: Machine check events logged +diff --git a/tests/examples/oops_full_hostname.test.template b/tests/examples/oops_full_hostname.test.template +new file mode 100644 +index 000000000..3a5c44001 +--- /dev/null ++++ b/tests/examples/oops_full_hostname.test.template +@@ -0,0 +1 @@ ++Oct 12 23:25:16 :FULL_HOSTNAME: kernel: mce: [Hardware Error]: Machine check events logged +diff --git a/tests/examples/prepare-data b/tests/examples/prepare-data +new file mode 100755 +index 000000000..6645003e3 +--- /dev/null ++++ b/tests/examples/prepare-data +@@ -0,0 +1,10 @@ ++#!/bin/bash ++ ++export scriptdir="$(builtin cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd)" ++ ++hostname="$(hostname -s)" ++full_hostname="$(hostname)" ++ ++for f in "$scriptdir"/*.template; do ++ cat "$f" | sed -e "s/:HOSTNAME:/${hostname}/" -e "s/:FULL_HOSTNAME:/${full_hostname}/" > "${f%%.template}" ++done +-- +2.17.2 + diff --git a/SOURCES/0321-daemon-Fix-double-closed-fd-race-condition.patch b/SOURCES/0321-daemon-Fix-double-closed-fd-race-condition.patch new file mode 100644 index 0000000..660f18b --- /dev/null +++ b/SOURCES/0321-daemon-Fix-double-closed-fd-race-condition.patch @@ -0,0 +1,64 @@ +From f74212ae0052b00828bcf7201ca3afa4dead4530 Mon Sep 17 00:00:00 2001 +From: Martin Kutlak +Date: Thu, 20 Sep 2018 16:49:28 +0200 +Subject: [PATCH] daemon: Fix double closed fd race condition + +When a communication channel is set up between abrtd and abrt-server it uses +abrt_gio_channel_unix_new(). In that function there is a call g_io_channel_set_close_on_unref() [1]. +This function sets whether to close a file/socket/whatever associated with the channel when channel +recieves a final unref and is to be destroyed. + +Calling a close() on fd associated with the channel before/after g_io_channel_unref() +created a double close() race condition when ABRT was processing a lot of crashes at the same time. + +Thank you benzea for the patch. + +Related rhbz#1655241 + +1 - https://developer.gnome.org/glib/stable/glib-IO-Channels.html#g-io-channel-get-close-on-unref + +(cherry picked from github.com/abrt/abrt/commit/d965a43042b11eaed00ca49fcb060592082c398c) + +Signed-off-by: Martin Kutlak +--- + src/daemon/abrt-server.c | 1 - + src/daemon/abrtd.c | 4 +--- + 2 files changed, 1 insertion(+), 4 deletions(-) + +diff --git a/src/daemon/abrt-server.c b/src/daemon/abrt-server.c +index 76186db76..e1dfc4af8 100644 +--- a/src/daemon/abrt-server.c ++++ b/src/daemon/abrt-server.c +@@ -294,7 +294,6 @@ static int run_post_create(const char *dirname) + g_main_loop_unref(context.main_loop); + g_io_channel_unref(channel_signal); + close(g_signal_pipe[1]); +- close(g_signal_pipe[0]); + + log_notice("Waiting finished"); + +diff --git a/src/daemon/abrtd.c b/src/daemon/abrtd.c +index fc4f01e22..0c63e7260 100644 +--- a/src/daemon/abrtd.c ++++ b/src/daemon/abrtd.c +@@ -109,7 +109,6 @@ static void stop_abrt_server(struct abrt_server_proc *proc) + + static void dispose_abrt_server(struct abrt_server_proc *proc) + { +- close(proc->fdout); + free(proc->dirname); + + if (proc->watch_id > 0) +@@ -226,8 +225,7 @@ static gboolean abrt_server_output_cb(GIOChannel *channel, GIOCondition conditio + GList *item = g_list_find_custom(s_processes, &fdout, (GCompareFunc)abrt_server_compare_fdout); + if (item == NULL) + { +- log_warning("Closing a pipe fd (%d) without a process assigned", fdout); +- close(fdout); ++ log_warning("Removing an input channel fd (%d) without a process assigned", fdout); + return FALSE; + } + +-- +2.17.2 + diff --git a/SOURCES/0322-hooks-ccpp-Honor-CreateCoreBacktrace.patch b/SOURCES/0322-hooks-ccpp-Honor-CreateCoreBacktrace.patch new file mode 100644 index 0000000..5063836 --- /dev/null +++ b/SOURCES/0322-hooks-ccpp-Honor-CreateCoreBacktrace.patch @@ -0,0 +1,39 @@ +From 9a5e0f22341e7461f5ec956291ff37dbc0d1f402 Mon Sep 17 00:00:00 2001 +From: Ernestas Kulik +Date: Fri, 15 Feb 2019 09:48:52 +0100 +Subject: [PATCH] hooks: ccpp: Honor CreateCoreBacktrace + +Starting with 4f1770991a3b5da7dadd4c4e9b1a48c7d96f6808, +the CreateCoreBacktrace setting is no longer honored, as the setting +variable is assigned a value from an unrelated setting due to a thinko. + +Fixes BZ#1677476 + +Signed-off-by: Ernestas Kulik +--- + src/hooks/abrt-hook-ccpp.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/hooks/abrt-hook-ccpp.c b/src/hooks/abrt-hook-ccpp.c +index ca4b61bf..60722ff8 100644 +--- a/src/hooks/abrt-hook-ccpp.c ++++ b/src/hooks/abrt-hook-ccpp.c +@@ -867,6 +867,7 @@ int main(int argc, char** argv) + value = get_map_string_item_or_NULL(settings, "SaveFullCore"); + setting_SaveFullCore = value ? string_to_bool(value) : true; + value = get_map_string_item_or_NULL(settings, "CreateCoreBacktrace"); ++ setting_CreateCoreBacktrace = value ? string_to_bool(value) : true; + value = get_map_string_item_or_NULL(settings, "IgnoredPaths"); + if (value) + setting_ignored_paths = parse_list(value); +@@ -890,7 +891,6 @@ int main(int argc, char** argv) + setting_MaxCoreFileSize = ul; + } + +- setting_CreateCoreBacktrace = value ? string_to_bool(value) : true; + value = get_map_string_item_or_NULL(settings, "VerboseLog"); + if (value) + g_verbose = xatoi_positive(value); +-- +2.21.0 + diff --git a/SOURCES/1000-Add-autogen.sh.patch b/SOURCES/1000-Add-autogen.sh.patch new file mode 100644 index 0000000..3b02841 --- /dev/null +++ b/SOURCES/1000-Add-autogen.sh.patch @@ -0,0 +1,90 @@ +From 608a4c07f4e3a0410f4cf9d5463ac5156bdc2745 Mon Sep 17 00:00:00 2001 +From: Martin Kutlak +Date: Thu, 3 Jan 2019 13:08:22 +0100 +Subject: [PATCH] Add autogen.sh + +Signed-off-by: Martin Kutlak +--- + autogen.sh | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 70 insertions(+) + create mode 100755 autogen.sh + +diff --git a/autogen.sh b/autogen.sh +new file mode 100755 +index 000000000..80a431b1f +--- /dev/null ++++ b/autogen.sh +@@ -0,0 +1,70 @@ ++#!/bin/sh ++ ++print_help() ++{ ++cat << EOH ++Prepares the source tree for configuration ++ ++Usage: ++ autogen.sh [sydeps [--install]] ++ ++Options: ++ ++ sysdeps prints out all dependencies ++ --install install all dependencies ('sudo yum install \$DEPS') ++ ++EOH ++} ++ ++build_depslist() ++{ ++ DEPS_LIST=`grep "^\(Build\)\?Requires:" *.spec.in | grep -v "%{name}" | tr -s " " | tr "," "\n" | cut -f2 -d " " | grep -v "^abrt" | sort -u | while read br; do if [ "%" = ${br:0:1} ]; then grep "%define $(echo $br | sed -e 's/%{\(.*\)}/\1/')" *.spec.in | tr -s " " | cut -f4 -d" "; else echo $br ;fi ; done | tr "\n" " "` ++} ++ ++case "$1" in ++ "--help"|"-h") ++ print_help ++ exit 0 ++ ;; ++ "sysdeps") ++ build_depslist ++ ++ if [ "$2" == "--install" ]; then ++ set -x verbose ++ sudo yum install $DEPS_LIST ++ set +x verbose ++ else ++ echo $DEPS_LIST ++ fi ++ exit 0 ++ ;; ++ *) ++ echo "Running gen-version" ++ ./gen-version ++ ++ mkdir -p m4 ++ echo "Creating m4/aclocal.m4 ..." ++ test -r m4/aclocal.m4 || touch m4/aclocal.m4 ++ ++ echo "Running autopoint" ++ autopoint --force || exit 1 ++ ++ echo "Running intltoolize..." ++ intltoolize --force --copy --automake || exit 1 ++ ++ echo "Running aclocal..." ++ aclocal || exit 1 ++ ++ echo "Running libtoolize..." ++ libtoolize || exit 1 ++ ++ echo "Running autoheader..." ++ autoheader || return 1 ++ ++ echo "Running autoconf..." ++ autoconf --force || exit 1 ++ ++ echo "Running automake..." ++ automake --add-missing --force --copy || exit 1 ++ ;; ++esac +-- +2.17.2 + diff --git a/SOURCES/1000-event-don-t-run-the-reporter-bugzilla-h-on-RHEL-and-.patch b/SOURCES/1000-event-don-t-run-the-reporter-bugzilla-h-on-RHEL-and-.patch deleted file mode 100644 index 9754457..0000000 --- a/SOURCES/1000-event-don-t-run-the-reporter-bugzilla-h-on-RHEL-and-.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 316c1cbce56318198dfe4598baf0ae91fec32a56 Mon Sep 17 00:00:00 2001 -From: Matej Habrnal -Date: Thu, 22 Jan 2015 02:23:21 +0100 -Subject: [PATCH 1000/1006] event: don't run the 'reporter-bugzilla -h' on RHEL - and CentOS - -Running the 'reporter-bugzilla -h' makes sense only on Fedora because of bodhi. - -Signed-off-by: Matej Habrnal ---- - src/plugins/ccpp_event.conf | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/plugins/ccpp_event.conf b/src/plugins/ccpp_event.conf -index f4f3828..174f491 100644 ---- a/src/plugins/ccpp_event.conf -+++ b/src/plugins/ccpp_event.conf -@@ -71,7 +71,7 @@ EVENT=analyze_LocalGDB analyzer=CCpp - # Run GDB plugin to see if crash looks exploitable - abrt-action-analyze-vulnerability - # Run GDB to genereate backtrace -- abrt-action-analyze-ccpp-local --without-bodhi -+ abrt-action-analyze-ccpp-local --without-bz - - - # Bugzilla requires nonempty duphash --- -1.8.3.1 - diff --git a/SOURCES/1002-plugin-set-URL-to-retrace-server.patch b/SOURCES/1002-plugin-set-URL-to-retrace-server.patch deleted file mode 100644 index b3bbc4d..0000000 --- a/SOURCES/1002-plugin-set-URL-to-retrace-server.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 08a7c9c82f51f95f69de42b8eaa38eb75e71a93a Mon Sep 17 00:00:00 2001 -From: Matej Habrnal -Date: Fri, 30 Jan 2015 17:52:25 +0100 -Subject: [PATCH 1002/1006] plugin: set URL to retrace server - -Changed default retrace server URL from localhost to retrace.fedoraproject.org. - -Signed-off-by: Matej Habrnal ---- - src/plugins/analyze_CCpp.xml.in | 2 +- - src/plugins/analyze_RetraceServer.xml.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/plugins/analyze_CCpp.xml.in b/src/plugins/analyze_CCpp.xml.in -index 6f02692..a7ce4dd 100644 ---- a/src/plugins/analyze_CCpp.xml.in -+++ b/src/plugins/analyze_CCpp.xml.in -@@ -26,7 +26,7 @@ - - -diff --git a/src/plugins/analyze_RetraceServer.xml.in b/src/plugins/analyze_RetraceServer.xml.in -index cf1d25a..e437cac 100644 ---- a/src/plugins/analyze_RetraceServer.xml.in -+++ b/src/plugins/analyze_RetraceServer.xml.in -@@ -12,7 +12,7 @@ - - --- -1.8.3.1 - diff --git a/SOURCES/1004-turn-sosreport-off.patch b/SOURCES/1004-turn-sosreport-off.patch deleted file mode 100644 index 1dbccca..0000000 --- a/SOURCES/1004-turn-sosreport-off.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 940249524766fd5e439d093edffb720bebbef199 Mon Sep 17 00:00:00 2001 -From: Jakub Filak -Date: Thu, 20 Nov 2014 11:24:39 +0100 -Subject: [PATCH 1004/1006] turn sosreport off - ---- - src/daemon/abrt_event.conf | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/daemon/abrt_event.conf b/src/daemon/abrt_event.conf -index 76d544c..d90bf03 100644 ---- a/src/daemon/abrt_event.conf -+++ b/src/daemon/abrt_event.conf -@@ -67,7 +67,7 @@ EVENT=post-create runlevel= - # Example: if you want to save sosreport immediately at the moment of a crash: - # (alternatively, you can add similar command to EVENT=analyze_foo's, - # if you would rather perform this collection later): --EVENT=post-create -+#EVENT=post-create - nice sosreport --tmp-dir "$DUMP_DIR" --batch \ - --only=anaconda --only=boot --only=devicemapper \ - --only=filesys --only=hardware --only=kernel --only=libraries \ --- -1.8.3.1 - diff --git a/SOURCES/1005-cli-list-revert-patch-7966e5737e8d3af43b1ecdd6a82323.patch b/SOURCES/1005-cli-list-revert-patch-7966e5737e8d3af43b1ecdd6a82323.patch deleted file mode 100644 index fde9167..0000000 --- a/SOURCES/1005-cli-list-revert-patch-7966e5737e8d3af43b1ecdd6a82323.patch +++ /dev/null @@ -1,115 +0,0 @@ -From 035f7e2280686b563709e663d2cd3c42647ef25c Mon Sep 17 00:00:00 2001 -From: Matej Habrnal -Date: Mon, 30 Nov 2015 17:13:43 +0100 -Subject: [PATCH 1005/1006] cli list: revert patch - '7966e5737e8d3af43b1ecdd6a823234b8d25931d' - -This patch cannot be in CentOS7 because is related only to RHEL. - -Removing the patch here because previous patches depends on this patch and -cannot be applied without conflict. - -Signed-off-by: Matej Habrnal ---- - configure.ac | 2 -- - src/cli/Makefile.am | 3 +-- - src/cli/list.c | 49 ------------------------------------------------- - 3 files changed, 1 insertion(+), 53 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 02d7e0e..9481b7f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -139,7 +139,6 @@ PLUGINS_CONF_DIR='${sysconfdir}/${PACKAGE_NAME}/plugins' - DEFAULT_PLUGINS_CONF_DIR='${datadir}/${PACKAGE_NAME}/conf.d/plugins' - EVENTS_DIR='${datadir}/libreport/events' - EVENTS_CONF_DIR='${sysconfdir}/libreport/events.d' --WORKFLOWS_DIR='${datadir}/libreport/workflows' - ENABLE_SOCKET_OR_DBUS='-DENABLE_DBUS=1' - DEFAULT_DUMP_DIR_MODE=$($PKG_CONFIG --variable=dd_mode libreport) - LIBREPORT_PLUGINS_CONF_DIR=$($PKG_CONFIG --variable=plugins_conf_dir libreport) -@@ -252,7 +251,6 @@ AC_SUBST(VAR_RUN) - AC_SUBST(PLUGINS_CONF_DIR) - AC_SUBST(DEFAULT_PLUGINS_CONF_DIR) - AC_SUBST(EVENTS_CONF_DIR) --AC_SUBST(WORKFLOWS_DIR) - AC_SUBST(EVENTS_DIR) - AC_SUBST(DEFAULT_DUMP_LOCATION) - AC_SUBST(DEFAULT_DUMP_DIR_MODE) -diff --git a/src/cli/Makefile.am b/src/cli/Makefile.am -index a7c76ef..92dc20a 100644 ---- a/src/cli/Makefile.am -+++ b/src/cli/Makefile.am -@@ -17,8 +17,7 @@ abrt_cli_CFLAGS = \ - -I$(srcdir)/../include \ - -I$(srcdir)/../lib \ - $(LIBREPORT_CFLAGS) \ -- $(POLKIT_AGENT_CFLAGS) \ -- -DWORKFLOWS_DIR=\"${WORKFLOWS_DIR}\" -+ $(POLKIT_AGENT_CFLAGS) - - if SUGGEST_AUTOREPORTING - abrt_cli_CFLAGS += -DSUGGEST_AUTOREPORTING=1 -diff --git a/src/cli/list.c b/src/cli/list.c -index e688d2f..d069695 100644 ---- a/src/cli/list.c -+++ b/src/cli/list.c -@@ -77,55 +77,6 @@ static void print_crash(problem_data_t *problem_data, int detailed, int text_siz - /*names_to_skip:*/ NULL, - /*max_text_size:*/ text_size, - MAKEDESC_SHOW_ONLY_LIST | MAKEDESC_SHOW_URLS); -- -- /* -- * If the problem is reportable and has not yet been reported into RHTS -- * and there is at least one applicable Workflow which contains -- * 'report_RHTSupport' event, then append a short message informing -- * user that he can create a new case in Red Hat Customer Portal. -- */ -- const char *const not_reportable = problem_data_get_content_or_NULL(problem_data, FILENAME_NOT_REPORTABLE); -- const char *const reported_to = not_reportable ? NULL : problem_data_get_content_or_NULL(problem_data, FILENAME_REPORTED_TO); -- report_result_t *const report = !reported_to ? NULL : find_in_reported_to_data(reported_to, "RHTSupport"); -- -- if (!not_reportable && !report) -- { -- /* The lines below should be replaced by something simpler, I'd -- * like to see: -- * GHashTable *possible_worfklows = load_applicable_workflows_for_dump(); -- * -- * However, this feature (rhbz#1055565) is intended for RHEL only -- * and I'm not sure whether it's worth to file another bug against -- * libreport and try to improve libreport public API. -- */ -- const char *const dump_dir_name = problem_data_get_content_or_NULL(problem_data, CD_DUMPDIR); -- GList *const wf_names = list_possible_events_problem_data_glist(problem_data, dump_dir_name, "workflow"); -- GHashTable *const possible_workflows = load_workflow_config_data_from_list(wf_names, WORKFLOWS_DIR); -- g_list_free_full(wf_names, free); -- -- int event_found = 0; -- -- GHashTableIter iter; -- gpointer key = NULL; -- gpointer value = NULL; -- -- g_hash_table_iter_init(&iter, possible_workflows); -- while (!event_found && g_hash_table_iter_next(&iter, &key, &value)) -- { -- GList *const event_names = wf_get_event_names((workflow_t *)value); -- event_found = !!g_list_find_custom(event_names, "report_RHTSupport", (GCompareFunc)g_strcmp0); -- g_list_free_full(event_names, free); -- } -- -- g_hash_table_destroy(possible_workflows); -- -- if (event_found) -- { -- char *tmp = xasprintf(_("%sRun 'abrt-cli report %s' for creating a case in Red Hat Customer Portal\n"), desc, dump_dir_name); -- free(desc); -- desc = tmp; -- } -- } - } - fputs(desc, stdout); - free(desc); --- -1.8.3.1 - diff --git a/SOURCES/event-don-t-run-the-reporter-bugzilla-h-on-RHEL-and-.patch b/SOURCES/event-don-t-run-the-reporter-bugzilla-h-on-RHEL-and-.patch deleted file mode 100644 index 334986f..0000000 --- a/SOURCES/event-don-t-run-the-reporter-bugzilla-h-on-RHEL-and-.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 6c95ae2bf1c80530442a516f23b7cd8e82dcae12 Mon Sep 17 00:00:00 2001 -From: Matej Habrnal -Date: Thu, 22 Jan 2015 02:23:21 +0100 -Subject: [PATCH 88/91] event: don't run the 'reporter-bugzilla -h' on RHEL and - CentOS - -Running the 'reporter-bugzilla -h' makes sense only on Fedora because of bodhi. - -Signed-off-by: Matej Habrnal ---- - src/plugins/ccpp_event.conf | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/plugins/ccpp_event.conf b/src/plugins/ccpp_event.conf -index 62ff08a..cd75ee2 100644 ---- a/src/plugins/ccpp_event.conf -+++ b/src/plugins/ccpp_event.conf -@@ -71,7 +71,7 @@ EVENT=analyze_LocalGDB analyzer=CCpp - # Run GDB plugin to see if crash looks exploitable - abrt-action-analyze-vulnerability - # Run GDB to genereate backtrace -- abrt-action-analyze-ccpp-local --without-bodhi -+ abrt-action-analyze-ccpp-local --without-bz - - - # Bugzilla requires nonempty duphash --- -1.8.3.1 - diff --git a/SOURCES/plugin-set-URL-to-retrace-server.patch b/SOURCES/plugin-set-URL-to-retrace-server.patch deleted file mode 100644 index b2dc31a..0000000 --- a/SOURCES/plugin-set-URL-to-retrace-server.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 81181a893b91a229e05a5a915cc98347126e3834 Mon Sep 17 00:00:00 2001 -From: Matej Habrnal -Date: Fri, 30 Jan 2015 17:52:25 +0100 -Subject: [PATCH 90/91] plugin: set URL to retrace server - -Changed default retrace server URL from localhost to retrace.fedoraproject.org. - -Signed-off-by: Matej Habrnal ---- - src/plugins/analyze_CCpp.xml.in | 2 +- - src/plugins/analyze_RetraceServer.xml.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/plugins/analyze_CCpp.xml.in b/src/plugins/analyze_CCpp.xml.in -index 6f02692..a7ce4dd 100644 ---- a/src/plugins/analyze_CCpp.xml.in -+++ b/src/plugins/analyze_CCpp.xml.in -@@ -26,7 +26,7 @@ - - -diff --git a/src/plugins/analyze_RetraceServer.xml.in b/src/plugins/analyze_RetraceServer.xml.in -index cf1d25a..e437cac 100644 ---- a/src/plugins/analyze_RetraceServer.xml.in -+++ b/src/plugins/analyze_RetraceServer.xml.in -@@ -12,7 +12,7 @@ - - --- -1.8.3.1 - diff --git a/SOURCES/turn-sosreport-off.patch b/SOURCES/turn-sosreport-off.patch deleted file mode 100644 index e570138..0000000 --- a/SOURCES/turn-sosreport-off.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 2b02dc85753e4b11f10bfa2d660aa493ae80c52b Mon Sep 17 00:00:00 2001 -From: Jakub Filak -Date: Thu, 20 Nov 2014 11:24:39 +0100 -Subject: [PATCH] turn sosreport off - ---- - src/daemon/abrt_event.conf | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/daemon/abrt_event.conf b/src/daemon/abrt_event.conf -index 380b312..eafee17 100644 ---- a/src/daemon/abrt_event.conf -+++ b/src/daemon/abrt_event.conf -@@ -67,7 +67,7 @@ EVENT=post-create runlevel= - # Example: if you want to save sosreport immediately at the moment of a crash: - # (alternatively, you can add similar command to EVENT=analyze_foo's, - # if you would rather perform this collection later): --EVENT=post-create -+#EVENT=post-create - nice sosreport --tmp-dir "$DUMP_DIR" --batch \ - --only=anaconda --only=boot --only=devicemapper \ - --only=filesys --only=hardware --only=kernel --only=libraries \ --- -1.8.3.1 - diff --git a/SPECS/abrt.spec b/SPECS/abrt.spec index 2b0cdf7..78f2c9d 100644 --- a/SPECS/abrt.spec +++ b/SPECS/abrt.spec @@ -27,13 +27,13 @@ %define desktopvendor fedora %endif -%define libreport_ver 2.1.11-42 +%define libreport_ver 2.1.11-43 %define satyr_ver 0.13-10 Summary: Automatic bug detection and reporting tool Name: abrt Version: 2.1.11 -Release: 52%{?dist} +Release: 55%{?dist} License: GPLv2+ Group: Applications/System URL: https://abrt.readthedocs.org/ @@ -384,14 +384,23 @@ Patch308: 0308-plugins-a-a-g-machine-id-use-dmidecode-command.patch Patch310: 0310-a-a-s-p-data-fix-segfault-if-GPGKeysDir-isn-t-config.patch # git format-patch 2.1.11-51.el7 -N --start-number 311 --topo-order Patch311: 0311-plugin-general-from-sos-has-been-split-into-two-new-.patch - -Patch1000: 1000-event-don-t-run-the-reporter-bugzilla-h-on-RHEL-and-.patch -#Patch1001: 1001-spec-added-dependency-to-libreport-centos.patch -Patch1002: 1002-plugin-set-URL-to-retrace-server.patch -#Patch1003: 1003-spec-add-dependenci-on-abrt-retrace-client.patch -Patch1004: 1004-turn-sosreport-off.patch -Patch1005: 1005-cli-list-revert-patch-7966e5737e8d3af43b1ecdd6a82323.patch -#Patch1006: 1006-spec-disable-authenticated-autoreporting.patch +# git format-patch 2.1.11-52.el7 -N --start-number 312 --topo-order +Patch312: 0312-cli-load-config-file-at-the-beginning.patch +Patch313: 0313-ccpp-fast-dumping-and-abrt-core-limit.patch +Patch314: 0314-conf-increase-MaxCrashReportsSize-to-5GiB.patch +#Patch315: 0315-testsuite-abrt-core-dump-file-size-limits.patch +#Patch316: 0316-testsuite-the-prepare-fn-resets-socket-problem-timeo.patch +Patch317: 0317-Resolves-bz1647841.patch +Patch318: 0318-testsuite-move-examples-to-tests.patch +Patch319: 0319-koops-Filter-kernel-oopses-based-on-logged-hostname.patch +#Patch320: 0320-spec-add-hostname-BR-for-tests.patch +Patch321: 0321-daemon-Fix-double-closed-fd-race-condition.patch +Patch322: 0322-hooks-ccpp-Honor-CreateCoreBacktrace.patch +# git format-patch 2.1.11-53.el7 -N --start-number 323 --topo-order + + +# autogen.sh is need to regenerate all the Makefile files +Patch1000: 1000-Add-autogen.sh.patch # git is need for '%%autosetup -S git' which automatically applies all the # patches above. Please, be aware that the patches must be generated @@ -399,6 +408,7 @@ Patch1005: 1005-cli-list-revert-patch-7966e5737e8d3af43b1ecdd6a82323.patch BuildRequires: git BuildRequires: dbus-devel +BuildRequires: hostname BuildRequires: gtk3-devel BuildRequires: rpm-devel >= 4.6 BuildRequires: desktop-file-utils @@ -506,8 +516,10 @@ Group: System Environment/Libraries Requires: cpio Requires: gdb >= 7.6.1-63 Requires: elfutils +%if 0%{!?rhel:1} # abrt-action-perform-ccpp-analysis wants to run analyze_RetraceServer: Requires: %{name}-retrace-client +%endif Requires: %{name} = %{version}-%{release} Requires: abrt-libs = %{version}-%{release} Requires: libreport-python @@ -622,13 +634,8 @@ Requires: abrt-addon-ccpp Requires: abrt-addon-python Requires: abrt-addon-xorg %if 0%{?rhel} -%if 0%{?centos_ver} -Requires: libreport-centos >= %{libreport_ver} -Requires: libreport-plugin-mantisbt >= %{libreport_ver} -%else Requires: libreport-rhel >= %{libreport_ver} Requires: libreport-plugin-rhtsupport >= %{libreport_ver} -%endif %else Requires: abrt-retrace-client Requires: libreport-plugin-bugzilla >= %{libreport_ver} @@ -661,13 +668,8 @@ Requires: elfutils Requires: abrt-gui Requires: gnome-abrt %if 0%{?rhel} -%if 0%{?centos_ver} -Requires: libreport-centos >= %{libreport_ver} -Requires: libreport-plugin-mantisbt >= %{libreport_ver} -%else Requires: libreport-rhel >= %{libreport_ver} Requires: libreport-plugin-rhtsupport >= %{libreport_ver} -%endif %else Requires: abrt-retrace-client Requires: libreport-plugin-bugzilla >= %{libreport_ver} @@ -740,6 +742,7 @@ to the shell %autosetup -S git %build +./autogen.sh autoconf # -Wno-error=deprecated-declarations because there are some warning about # deprecated gtk3 functions because of gtk3 rebase @@ -750,7 +753,8 @@ CFLAGS="%{optflags} -Werror -Wno-error=deprecated-declarations" %configure --ena --enable-native-unwinder \ %endif --enable-dump-time-unwind \ - --enable-suggest-autoreporting + --enable-suggest-autoreporting \ + --enable-authenticated-autoreporting make %{?_smp_mflags} %install @@ -1226,14 +1230,22 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %config(noreplace) %{_sysconfdir}/profile.d/abrt-console-notification.sh %changelog -* Tue Oct 30 2018 CentOS Sources - 2.1.11-52.el7.centos -- Drop RHTS hint -- Change by David Mansfield -- Per http://bugs.centos.org/view.php?id=7192 -- Remove cli suggestion text patch -- set URL to retrace server -- update to not run sosreport -- Per http://bugs.centos.org/view.php?id=7913 +* Wed Mar 20 2019 Ernestas Kulik - 2.1.11-55 +- Add patch for #1677476 + +* Thu Jan 3 2019 Martin Kutlak - 2.1.11-54 +- testsuite: move examples to 'tests' +- testsuite: Fix failing tests +- Add autogen.sh + +* Tue Dec 18 2018 Martin Kutlak - 2.1.11-53 +- cli: load config file at the beginning +- ccpp: fast dumping and abrt core limit +- conf: increase MaxCrashReportsSize to 5GiB +- vmcore: /var/tmp/abrt is no longer a dump location +- koops: Filter kernel oopses based on logged hostname +- daemon: Fix double closed fd race condition +- Related: #1618818, #1647841, #1613236, #1613182, #1655241 * Mon Aug 20 2018 Matej Habrnal - 2.1.11-52 - plugin "general" from sos has been split into two new plugins