New upstream version
- Create core stacktrace from GDB output
This commit is contained in:
parent
090e260197
commit
1ff4f7e333
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
/satyr-0.2.tar.xz
|
||||
/satyr-0.3.tar.xz
|
||||
/satyr-0.4.tar.xz
|
||||
/satyr-0.5.tar.xz
|
||||
|
@ -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']))
|
||||
|
@ -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; }
|
||||
|
11
satyr.spec
11
satyr.spec
@ -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)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user