New upstream version

- Create core stacktrace from GDB output
This commit is contained in:
Jakub Filak 2013-07-25 16:01:41 +02:00
parent 090e260197
commit 1ff4f7e333
5 changed files with 7 additions and 294 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
/satyr-0.2.tar.xz
/satyr-0.3.tar.xz
/satyr-0.4.tar.xz
/satyr-0.5.tar.xz

View File

@ -1,13 +0,0 @@
diff --git a/tests/python/koops.py b/tests/python/koops.py
index f1de360..4922c61 100755
--- a/tests/python/koops.py
+++ b/tests/python/koops.py
@@ -40,7 +40,7 @@ class TestKerneloops(BindingsTestCase):
contents = load_input_contents('../kerneloopses/rhbz-827868-modified')
tainted_koops = satyr.Kerneloops(contents)
- true_flags = { f for (f, v) in tainted_koops.taint_flags.items() if v == True}
+ true_flags = set([f for (f, v) in tainted_koops.taint_flags.items() if v == True])
self.assertEqual(true_flags,
set(['module_proprietary', 'page_release', 'died_recently', 'module_out_of_tree']))

View File

@ -1,274 +0,0 @@
diff -ur satyr-0.4/tests/core_stacktrace.at satyr-0.4-patched/tests/core_stacktrace.at
--- satyr-0.4/tests/core_stacktrace.at 2013-06-24 11:02:41.000000000 +0200
+++ satyr-0.4-patched/tests/core_stacktrace.at 2013-07-09 12:21:12.000000000 +0200
@@ -8,6 +8,7 @@
AT_TESTFUN([sr_core_stacktrace_to_json],
[[
+#include "stacktrace.h"
#include "core/stacktrace.h"
#include "core/thread.h"
#include "core/frame.h"
@@ -122,6 +123,7 @@
AT_TESTFUN([sr_core_stacktrace_from_json],
[[
+#include "stacktrace.h"
#include "core/stacktrace.h"
#include "core/thread.h"
#include "core/frame.h"
diff -ur satyr-0.4/tests/gdb_stacktrace.at satyr-0.4-patched/tests/gdb_stacktrace.at
--- satyr-0.4/tests/gdb_stacktrace.at 2013-06-24 11:02:53.000000000 +0200
+++ satyr-0.4-patched/tests/gdb_stacktrace.at 2013-07-09 12:20:33.000000000 +0200
@@ -61,6 +61,7 @@
## ----------------------------------- ##
AT_TESTFUN([sr_gdb_stacktrace_find_crash_thread],
[
+#include "stacktrace.h"
#include "gdb/stacktrace.h"
#include "gdb/thread.h"
#include "gdb/frame.h"
diff -ur satyr-0.4/tests/koops_stacktrace.at satyr-0.4-patched/tests/koops_stacktrace.at
--- satyr-0.4/tests/koops_stacktrace.at 2013-07-02 15:52:18.000000000 +0200
+++ satyr-0.4-patched/tests/koops_stacktrace.at 2013-07-09 12:26:27.000000000 +0200
@@ -251,6 +251,7 @@
## --------------------------- ##
AT_TESTFUN([sr_koops_stacktrace_to_json],
[[
+#include "stacktrace.h"
#include "koops/stacktrace.h"
#include "location.h"
#include "utils.h"
diff -ur satyr-0.4/tests/testsuite satyr-0.4-patched/tests/testsuite
--- satyr-0.4/tests/testsuite 2013-07-08 14:52:12.000000000 +0200
+++ satyr-0.4-patched/tests/testsuite 2013-07-09 12:26:48.000000000 +0200
@@ -634,9 +634,9 @@
39;gdb_thread.at:375;sr_gdb_thread_skip_lwp;;
40;gdb_stacktrace.at:8;sr_gdb_stacktrace_remove_threads_except_one;;
41;gdb_stacktrace.at:62;sr_gdb_stacktrace_find_crash_thread;;
-42;gdb_stacktrace.at:112;sr_gdb_stacktrace_limit_frame_depth;;
-43;gdb_stacktrace.at:152;sr_gdb_stacktrace_quality_complex;;
-44;gdb_stacktrace.at:181;sr_gdb_stacktrace_get_crash_frame;;
+42;gdb_stacktrace.at:113;sr_gdb_stacktrace_limit_frame_depth;;
+43;gdb_stacktrace.at:153;sr_gdb_stacktrace_quality_complex;;
+44;gdb_stacktrace.at:182;sr_gdb_stacktrace_get_crash_frame;;
45;gdb_sharedlib.at:8;sr_gdb_sharedlib_parse;;
46;gdb_sharedlib.at:35;sr_gdb_sharedlib_count;;
47;gdb_sharedlib.at:59;sr_gdb_sharedlib_append;;
@@ -671,7 +671,7 @@
76;core_thread.at:9;sr_core_thread_to_json;;
77;core_thread.at:67;sr_core_thread_abstract_functions;;
78;core_stacktrace.at:9;sr_core_stacktrace_to_json;;
-79;core_stacktrace.at:123;sr_core_stacktrace_from_json;;
+79;core_stacktrace.at:124;sr_core_stacktrace_from_json;;
80;operating_system.at:8;sr_operating_system_parse_etc_system_release;;
81;normalize.at:47;sr_normalize_gdb_thread_removes_zeroes;;
82;normalize.at:92;sr_normalize_gdb_paired_unknown_function_names;;
@@ -5322,6 +5322,7 @@
cat >sr_gdb_stacktrace_find_crash_thread.c <<'_ATEOF'
+#include "stacktrace.h"
#include "gdb/stacktrace.h"
#include "gdb/thread.h"
#include "gdb/frame.h"
@@ -5399,7 +5400,7 @@
read at_status <"$at_status_file"
#AT_STOP_41
#AT_START_42
-at_fn_group_banner 42 'gdb_stacktrace.at:112' \
+at_fn_group_banner 42 'gdb_stacktrace.at:113' \
"sr_gdb_stacktrace_limit_frame_depth" " " 5
at_xfail=no
(
@@ -5444,28 +5445,28 @@
_ATEOF
{ set +x
-$as_echo "$at_srcdir/gdb_stacktrace.at:112: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o sr_gdb_stacktrace_limit_frame_depth sr_gdb_stacktrace_limit_frame_depth.c \$LIBS"
-at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sr_gdb_stacktrace_limit_frame_depth sr_gdb_stacktrace_limit_frame_depth.c $LIBS" "gdb_stacktrace.at:112"
+$as_echo "$at_srcdir/gdb_stacktrace.at:113: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o sr_gdb_stacktrace_limit_frame_depth sr_gdb_stacktrace_limit_frame_depth.c \$LIBS"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sr_gdb_stacktrace_limit_frame_depth sr_gdb_stacktrace_limit_frame_depth.c $LIBS" "gdb_stacktrace.at:113"
( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sr_gdb_stacktrace_limit_frame_depth sr_gdb_stacktrace_limit_frame_depth.c $LIBS
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/gdb_stacktrace.at:112"
+at_fn_check_status 0 $at_status "$at_srcdir/gdb_stacktrace.at:113"
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
-$as_echo "$at_srcdir/gdb_stacktrace.at:112: ./sr_gdb_stacktrace_limit_frame_depth"
-at_fn_check_prepare_trace "gdb_stacktrace.at:112"
+$as_echo "$at_srcdir/gdb_stacktrace.at:113: ./sr_gdb_stacktrace_limit_frame_depth"
+at_fn_check_prepare_trace "gdb_stacktrace.at:113"
( $at_check_trace; ./sr_gdb_stacktrace_limit_frame_depth
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/gdb_stacktrace.at:112"
+at_fn_check_status 0 $at_status "$at_srcdir/gdb_stacktrace.at:113"
$at_failed && at_fn_log_failure
$at_traceon; }
@@ -5475,7 +5476,7 @@
read at_status <"$at_status_file"
#AT_STOP_42
#AT_START_43
-at_fn_group_banner 43 'gdb_stacktrace.at:152' \
+at_fn_group_banner 43 'gdb_stacktrace.at:153' \
"sr_gdb_stacktrace_quality_complex" " " 5
at_xfail=no
(
@@ -5509,28 +5510,28 @@
_ATEOF
{ set +x
-$as_echo "$at_srcdir/gdb_stacktrace.at:152: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o sr_gdb_stacktrace_quality_complex sr_gdb_stacktrace_quality_complex.c \$LIBS"
-at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sr_gdb_stacktrace_quality_complex sr_gdb_stacktrace_quality_complex.c $LIBS" "gdb_stacktrace.at:152"
+$as_echo "$at_srcdir/gdb_stacktrace.at:153: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o sr_gdb_stacktrace_quality_complex sr_gdb_stacktrace_quality_complex.c \$LIBS"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sr_gdb_stacktrace_quality_complex sr_gdb_stacktrace_quality_complex.c $LIBS" "gdb_stacktrace.at:153"
( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sr_gdb_stacktrace_quality_complex sr_gdb_stacktrace_quality_complex.c $LIBS
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/gdb_stacktrace.at:152"
+at_fn_check_status 0 $at_status "$at_srcdir/gdb_stacktrace.at:153"
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
-$as_echo "$at_srcdir/gdb_stacktrace.at:152: ./sr_gdb_stacktrace_quality_complex"
-at_fn_check_prepare_trace "gdb_stacktrace.at:152"
+$as_echo "$at_srcdir/gdb_stacktrace.at:153: ./sr_gdb_stacktrace_quality_complex"
+at_fn_check_prepare_trace "gdb_stacktrace.at:153"
( $at_check_trace; ./sr_gdb_stacktrace_quality_complex
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/gdb_stacktrace.at:152"
+at_fn_check_status 0 $at_status "$at_srcdir/gdb_stacktrace.at:153"
$at_failed && at_fn_log_failure
$at_traceon; }
@@ -5540,7 +5541,7 @@
read at_status <"$at_status_file"
#AT_STOP_43
#AT_START_44
-at_fn_group_banner 44 'gdb_stacktrace.at:181' \
+at_fn_group_banner 44 'gdb_stacktrace.at:182' \
"sr_gdb_stacktrace_get_crash_frame" " " 5
at_xfail=no
(
@@ -5579,28 +5580,28 @@
_ATEOF
{ set +x
-$as_echo "$at_srcdir/gdb_stacktrace.at:181: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o sr_gdb_stacktrace_get_crash_frame sr_gdb_stacktrace_get_crash_frame.c \$LIBS"
-at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sr_gdb_stacktrace_get_crash_frame sr_gdb_stacktrace_get_crash_frame.c $LIBS" "gdb_stacktrace.at:181"
+$as_echo "$at_srcdir/gdb_stacktrace.at:182: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o sr_gdb_stacktrace_get_crash_frame sr_gdb_stacktrace_get_crash_frame.c \$LIBS"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sr_gdb_stacktrace_get_crash_frame sr_gdb_stacktrace_get_crash_frame.c $LIBS" "gdb_stacktrace.at:182"
( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sr_gdb_stacktrace_get_crash_frame sr_gdb_stacktrace_get_crash_frame.c $LIBS
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/gdb_stacktrace.at:181"
+at_fn_check_status 0 $at_status "$at_srcdir/gdb_stacktrace.at:182"
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
-$as_echo "$at_srcdir/gdb_stacktrace.at:181: ./sr_gdb_stacktrace_get_crash_frame"
-at_fn_check_prepare_trace "gdb_stacktrace.at:181"
+$as_echo "$at_srcdir/gdb_stacktrace.at:182: ./sr_gdb_stacktrace_get_crash_frame"
+at_fn_check_prepare_trace "gdb_stacktrace.at:182"
( $at_check_trace; ./sr_gdb_stacktrace_get_crash_frame
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/gdb_stacktrace.at:181"
+at_fn_check_status 0 $at_status "$at_srcdir/gdb_stacktrace.at:182"
$at_failed && at_fn_log_failure
$at_traceon; }
@@ -8360,6 +8361,7 @@
cat >sr_koops_stacktrace_to_json.c <<'_ATEOF'
+#include "stacktrace.h"
#include "koops/stacktrace.h"
#include "location.h"
#include "utils.h"
@@ -9230,6 +9232,7 @@
cat >sr_core_stacktrace_to_json.c <<'_ATEOF'
+#include "stacktrace.h"
#include "core/stacktrace.h"
#include "core/thread.h"
#include "core/frame.h"
@@ -9370,7 +9373,7 @@
read at_status <"$at_status_file"
#AT_STOP_78
#AT_START_79
-at_fn_group_banner 79 'core_stacktrace.at:123' \
+at_fn_group_banner 79 'core_stacktrace.at:124' \
"sr_core_stacktrace_from_json" " " 14
at_xfail=no
(
@@ -9379,6 +9382,7 @@
cat >sr_core_stacktrace_from_json.c <<'_ATEOF'
+#include "stacktrace.h"
#include "core/stacktrace.h"
#include "core/thread.h"
#include "core/frame.h"
@@ -9454,28 +9458,28 @@
_ATEOF
{ set +x
-$as_echo "$at_srcdir/core_stacktrace.at:123: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o sr_core_stacktrace_from_json sr_core_stacktrace_from_json.c \$LIBS"
-at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sr_core_stacktrace_from_json sr_core_stacktrace_from_json.c $LIBS" "core_stacktrace.at:123"
+$as_echo "$at_srcdir/core_stacktrace.at:124: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o sr_core_stacktrace_from_json sr_core_stacktrace_from_json.c \$LIBS"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sr_core_stacktrace_from_json sr_core_stacktrace_from_json.c $LIBS" "core_stacktrace.at:124"
( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sr_core_stacktrace_from_json sr_core_stacktrace_from_json.c $LIBS
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/core_stacktrace.at:123"
+at_fn_check_status 0 $at_status "$at_srcdir/core_stacktrace.at:124"
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
-$as_echo "$at_srcdir/core_stacktrace.at:123: ./sr_core_stacktrace_from_json"
-at_fn_check_prepare_trace "core_stacktrace.at:123"
+$as_echo "$at_srcdir/core_stacktrace.at:124: ./sr_core_stacktrace_from_json"
+at_fn_check_prepare_trace "core_stacktrace.at:124"
( $at_check_trace; ./sr_core_stacktrace_from_json
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/core_stacktrace.at:123"
+at_fn_check_status 0 $at_status "$at_srcdir/core_stacktrace.at:124"
$at_failed && at_fn_log_failure
$at_traceon; }

View File

@ -1,15 +1,13 @@
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
Name: satyr
Version: 0.4
Release: 2%{?dist}
Version: 0.5
Release: 1%{?dist}
Summary: Tools to create anonymous, machine-friendly problem reports
Group: System Environment/Libraries
License: GPLv2+
URL: https://github.com/abrt/satyr
Source0: https://fedorahosted.org/released/abrt/satyr-%{version}.tar.xz
Patch0: satyr-0.4-py26_compat.patch
Patch1: satyr-0.4-s390x_tests.patch
BuildRequires: python2-devel
BuildRequires: elfutils-devel, elfutils-libelf-devel, binutils-devel
BuildRequires: rpm-devel
@ -50,8 +48,6 @@ Python bindings for %{name}.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%build
%configure --disable-static
@ -85,6 +81,9 @@ make check
%{python_sitearch}/%{name}/*
%changelog
* Thu Jul 25 2013 Jakub Filak <jfilak@redhat.com> 0.5-1
- Added function that creates core stacktrace from GDB output. Several bugfixes.
* Tue Jul 09 2013 Martin Milata <mmilata@redhat.com> 0.4-2
- Fix failing tests (failure manifests only on s390x)

View File

@ -1 +1 @@
a38e42b6cb3ff6f67f6f755dd9be6e75 satyr-0.4.tar.xz
5d14eecc4b927c56a4368d3f5f6cfff4 satyr-0.5.tar.xz