New upstream version 0.15

uReport enhancements (DESKTOP_SESSION, auth_data, missing values)
Enhance the backtrace quality algorithm to tackle MiniDebuginfo
Support unusual Python and Java exceptions
Deal with infinite recursion in backtraces
Bugfixes
This commit is contained in:
Jakub Filak 2014-10-07 12:31:08 +02:00
parent 57d8b8aadd
commit cb721ee5e2
6 changed files with 12 additions and 111 deletions

1
.gitignore vendored
View File

@ -10,3 +10,4 @@
/satyr-0.12.tar.xz /satyr-0.12.tar.xz
/satyr-0.13.tar.xz /satyr-0.13.tar.xz
/satyr-0.14.tar.xz /satyr-0.14.tar.xz
/satyr-0.15.tar.xz

View File

@ -1,26 +0,0 @@
commit 2543c337e633fefe55c123b2f375a47fda8a884d
Author: Martin Milata <mmilata@redhat.com>
Date: Wed Aug 13 17:54:44 2014 +0200
unwind: fix unwinding of VDSO frames on i386
May or may not be elfutils bug:
https://bugzilla.redhat.com/show_bug.cgi?id=1129756
Fixes #163.
Signed-off-by: Martin Milata <mmilata@redhat.com>
diff --git a/lib/core_unwind.c b/lib/core_unwind.c
index 4731402..53af092 100644
--- a/lib/core_unwind.c
+++ b/lib/core_unwind.c
@@ -110,7 +110,7 @@ find_elf_core (Dwfl_Module *mod, void **userdata, const char *modname,
return -1;
*file_name = realpath(executable_file, NULL);
- *elfp = elf_begin(fd, ELF_C_READ, NULL);
+ *elfp = elf_begin(fd, ELF_C_READ_MMAP, NULL);
if (*elfp == NULL)
{
warn("Unable to open executable '%s': %s", executable_file,

View File

@ -1,62 +0,0 @@
commit bbf0399b0e80d8922df01cffb5a5ae921de61d98
Author: Jakub Filak <jfilak@redhat.com>
Date: Fri May 16 13:50:22 2014 +0200
Fulfill missing values in core/frames
File name of __kernel_vsyscall function frame cannot be resolved but we
known that the function comes from kernel.
The frame often appears in backtraces of sleep.
Signed-off-by: Jakub Filak <jfilak@redhat.com>
diff --git a/lib/abrt.c b/lib/abrt.c
index 39bc45d..ed33800 100644
--- a/lib/abrt.c
+++ b/lib/abrt.c
@@ -24,6 +24,8 @@
#include "operating_system.h"
#include "core/unwind.h"
#include "core/stacktrace.h"
+#include "core/thread.h"
+#include "core/frame.h"
#include "core/fingerprint.h"
#include "python/stacktrace.h"
#include "koops/stacktrace.h"
@@ -62,6 +64,26 @@ sr_abrt_print_report_from_dir(const char *directory,
return true;
}
+static void
+fulfill_missing_values(struct sr_core_stacktrace *core_stacktrace)
+{
+ struct sr_core_thread *thread = core_stacktrace->threads;
+ while (thread)
+ {
+ struct sr_core_frame *frame = thread->frames;
+ while (frame)
+ {
+ if (!frame->file_name && frame->function_name
+ && strcmp("__kernel_vsyscall", frame->function_name) == 0)
+ {
+ frame->file_name = sr_strdup("kernel");
+ }
+ frame = frame->next;
+ }
+ thread = thread->next;
+ }
+}
+
static bool
create_core_stacktrace(const char *directory, const char *gdb_output,
bool hash_fingerprints, char **error_message)
@@ -87,6 +109,8 @@ create_core_stacktrace(const char *directory, const char *gdb_output,
if (!core_stacktrace)
return false;
+ fulfill_missing_values(core_stacktrace);
+
#if 0
sr_core_fingerprint_generate(core_stacktrace,
error_message);

View File

@ -1,13 +0,0 @@
diff --git a/lib/core_unwind_elfutils.c b/lib/core_unwind_elfutils.c
index b4d3aed..6b904c7 100644
--- a/lib/core_unwind_elfutils.c
+++ b/lib/core_unwind_elfutils.c
@@ -166,7 +166,7 @@ sr_parse_coredump(const char *core_file,
set_error_dwfl("dwfl_getthreads");
else if (ret == DWARF_CB_ABORT)
{
- set_error(thread_arg.error_msg);
+ set_error("%s", thread_arg.error_msg);
free(thread_arg.error_msg);
}
else

View File

@ -18,8 +18,8 @@
%endif %endif
Name: satyr Name: satyr
Version: 0.14 Version: 0.15
Release: 3%{?dist} Release: 1%{?dist}
Summary: Tools to create anonymous, machine-friendly problem reports Summary: Tools to create anonymous, machine-friendly problem reports
Group: System Environment/Libraries Group: System Environment/Libraries
License: GPLv2+ License: GPLv2+
@ -38,10 +38,6 @@ BuildRequires: gcc-c++
BuildRequires: python-sphinx BuildRequires: python-sphinx
%endif %endif
Patch0: satyr-0.14-wformat.patch
Patch1: satyr-0.14-vdso_mmap.patch
Patch2: satyr-0.14-vsyscall_file_name.patch
%description %description
Satyr is a library that can be used to create and process microreports. Satyr is a library that can be used to create and process microreports.
Microreports consist of structured data suitable to be analyzed in a fully Microreports consist of structured data suitable to be analyzed in a fully
@ -69,9 +65,6 @@ Python bindings for %{name}.
%prep %prep
%setup -q %setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%build %build
%configure \ %configure \
@ -114,6 +107,14 @@ make check
%endif %endif
%changelog %changelog
* Tue Oct 07 2014 Jakub Filak <jfilak@redhat.com> 0.15-1
- New upstream version
- uReport enhancements (DESKTOP_SESSION, auth_data, missing values)
- Enhance the backtrace quality algorithm to tackle MiniDebuginfo
- Support unusual Python and Java exceptions
- Deal with infinite recursion in backtraces
- Bugfixes
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.14-3 * Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.14-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

View File

@ -1 +1 @@
8f87674f1cee840d35063887b1898dbe satyr-0.14.tar.xz 91f268fed10295c8b1c3afce741e24eb satyr-0.15.tar.xz