update to 2.14.6

This commit is contained in:
lyn1001 2022-01-13 18:05:58 +08:00
parent 37f2ec4b45
commit 5c6cda8fb4
5 changed files with 64 additions and 157 deletions

View File

@ -0,0 +1,57 @@
From 4755f2171aa50a72d8ec03260c8cbc602263a6c0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
Date: Fri, 24 Sep 2021 17:48:07 +0200
Subject: [PATCH] Use lazy imports in abrt_exception_handler3
The abrt_exception_handler3 module is always imported when Python starts,
but all the modules imported from it (except sys) are only used during crashes.
Especially the systemd.journal import is really expensive.
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2007664
---
src/hooks/abrt_exception_handler3.py.in | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/hooks/abrt_exception_handler3.py.in b/src/hooks/abrt_exception_handler3.py.in
index 89e2474b..0bc548e0 100644
--- a/src/hooks/abrt_exception_handler3.py.in
+++ b/src/hooks/abrt_exception_handler3.py.in
@@ -20,13 +20,15 @@
Module for the ABRT exception handling hook
"""
+# Avoid importing anything but sys here, use lazy imports.
+# This file is imported on every Python startup,
+# all unused imports only increase the startup time and memory usage.
import sys
-import os
-from systemd import journal
def syslog(msg):
"""Log message to system logger (journal)"""
+ from systemd import journal
journal.send(msg)
@@ -68,6 +70,8 @@ def send(data):
def write_dump(tb_text, tb):
+ import os
+
if sys.argv[0][0] == "/":
executable = os.path.abspath(sys.argv[0])
else:
@@ -118,6 +122,7 @@ def handle_exception(etype, value, tb):
sys.excepthook = sys.__excepthook__ # pylint: disable-msg=E1101
import errno
+ import os
# Ignore Ctrl-C
# SystemExit rhbz#636913 -> this exception is not an error
--
2.31.1

View File

@ -1,143 +0,0 @@
From 94dc256644a82f2777cd1193cc0d1d3b5e8be10a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mat=C4=9Bj=20Grabovsk=C3=BD?= <mgrabovs@redhat.com>
Date: Thu, 13 Aug 2020 11:49:28 +0200
Subject: [PATCH] Decommission libreport_list_free_with_free
Follow-up to abrt/libreport#660
---
src/daemon/rpm.c | 5 ++---
src/dbus/abrt-dbus.c | 16 ++++++++--------
src/lib/kernel.c | 3 +--
src/plugins/abrt-action-trim-files.c | 2 +-
src/plugins/abrt-dump-oops.c | 3 +--
5 files changed, 13 insertions(+), 16 deletions(-)
diff --git a/src/daemon/rpm.c b/src/daemon/rpm.c
index 9bbdaa516..af9ff63a1 100644
--- a/src/daemon/rpm.c
+++ b/src/daemon/rpm.c
@@ -63,7 +63,7 @@ void rpm_init()
error_msg("Can't read RPM rc files");
#endif
- libreport_list_free_with_free(list_fingerprints); /* paranoia */
+ g_list_free_full(list_fingerprints, free);
/* Huh? Why do we start the list with an element with NULL string? */
list_fingerprints = g_list_alloc();
}
@@ -77,8 +77,7 @@ void rpm_destroy()
#endif
#endif
- libreport_list_free_with_free(list_fingerprints);
- list_fingerprints = NULL;
+ g_list_free_full(g_steal_pointer(&list_fingerprints), free);
}
void rpm_load_gpgkey(const char* filename)
diff --git a/src/dbus/abrt-dbus.c b/src/dbus/abrt-dbus.c
index dc7ad75c2..0c5fd3308 100644
--- a/src/dbus/abrt-dbus.c
+++ b/src/dbus/abrt-dbus.c
@@ -390,7 +390,7 @@ static void handle_method_call(GDBusConnection *connection,
{
GList *dirs = get_problem_dirs_for_uid(caller_uid, abrt_g_settings_dump_location);
response = variant_from_string_list(dirs);
- libreport_list_free_with_free(dirs);
+ g_list_free_full(dirs, free);
g_dbus_method_invocation_return_value(invocation, response);
//I was told that g_dbus_method frees the response
@@ -411,10 +411,10 @@ static void handle_method_call(GDBusConnection *connection,
caller_uid = 0;
}
- GList * dirs = get_problem_dirs_for_uid(caller_uid, abrt_g_settings_dump_location);
+ GList *dirs = get_problem_dirs_for_uid(caller_uid, abrt_g_settings_dump_location);
response = variant_from_string_list(dirs);
- libreport_list_free_with_free(dirs);
+ g_list_free_full(dirs, free);
g_dbus_method_invocation_return_value(invocation, response);
return;
@@ -422,9 +422,9 @@ static void handle_method_call(GDBusConnection *connection,
if (g_strcmp0(method_name, "GetForeignProblems") == 0)
{
- GList * dirs = get_problem_dirs_not_accessible_by_uid(caller_uid, abrt_g_settings_dump_location);
+ GList *dirs = get_problem_dirs_not_accessible_by_uid(caller_uid, abrt_g_settings_dump_location);
response = variant_from_string_list(dirs);
- libreport_list_free_with_free(dirs);
+ g_list_free_full(dirs, free);
g_dbus_method_invocation_return_value(invocation, response);
return;
@@ -540,7 +540,7 @@ static void handle_method_call(GDBusConnection *connection,
g_variant_builder_add(builder, "{ss}", element_name, value);
}
}
- libreport_list_free_with_free(elements);
+ g_list_free_full(elements, free);
dd_close(dd);
/* It is OK to call g_variant_new("(a{ss})", NULL) because */
/* G_VARIANT_TYPE_TUPLE allows NULL value */
@@ -749,7 +749,7 @@ static void handle_method_call(GDBusConnection *connection,
g_dbus_method_invocation_return_value(invocation, NULL);
ret:
- libreport_list_free_with_free(problem_dirs);
+ g_list_free_full(problem_dirs, free);
return;
}
@@ -776,7 +776,7 @@ static void handle_method_call(GDBusConnection *connection,
GList *dirs = get_problem_dirs_for_element_in_time(caller_uid, element, value, timestamp_from,
timestamp_to);
response = variant_from_string_list(dirs);
- libreport_list_free_with_free(dirs);
+ g_list_free_full(dirs, free);
g_dbus_method_invocation_return_value(invocation, response);
return;
diff --git a/src/lib/kernel.c b/src/lib/kernel.c
index 758fe63dd..7c266a249 100644
--- a/src/lib/kernel.c
+++ b/src/lib/kernel.c
@@ -357,8 +357,7 @@ void abrt_koops_extract_oopses(GList **oops_list, char *buffer, size_t buflen)
free(lines_info);
lines_info = NULL;
lines_info_size = 0;
- libreport_list_free_with_free(*oops_list);
- *oops_list = NULL;
+ g_list_free_full(g_steal_pointer(oops_list), free);
}
goto next_line;
}
diff --git a/src/plugins/abrt-action-trim-files.c b/src/plugins/abrt-action-trim-files.c
index 4633a8d9a..5ab953dfe 100644
--- a/src/plugins/abrt-action-trim-files.c
+++ b/src/plugins/abrt-action-trim-files.c
@@ -179,7 +179,7 @@ static void delete_files(gpointer data, gpointer void_preserve_list)
if (cur_size <= cap_size || !worst_file_list)
{
- libreport_list_free_with_free(worst_file_list);
+ g_list_free_full(g_steal_pointer(&worst_file_list), free);
log_info("cur_size:%.0f cap_size:%.0f, no (more) trimming", cur_size, cap_size);
break;
}
diff --git a/src/plugins/abrt-dump-oops.c b/src/plugins/abrt-dump-oops.c
index f30b87bb6..0781b910c 100644
--- a/src/plugins/abrt-dump-oops.c
+++ b/src/plugins/abrt-dump-oops.c
@@ -196,8 +196,7 @@ int main(int argc, char **argv)
errors = abrt_oops_process_list(oops_list, dump_location,
ABRT_DUMP_OOPS_ANALYZER, oops_utils_flags);
- libreport_list_free_with_free(oops_list);
- //oops_list = NULL;
+ g_list_free_full(oops_list, free);
return errors;
}

Binary file not shown.

BIN
abrt-2.14.6.tar.gz Normal file

Binary file not shown.

View File

@ -1,12 +1,12 @@
Name: abrt Name: abrt
Version: 2.14.3 Version: 2.14.6
Release: 1 Release: 1
Summary: A tool for automatic bug detection and reporting Summary: A tool for automatic bug detection and reporting
License: GPL-2.0 and GPL-2.0+ License: GPL-2.0 and GPL-2.0+
URL: https://github.com/abrt/abrt/ URL: https://github.com/abrt/abrt/
Source: https://github.com/abrt/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz Source: https://github.com/abrt/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
Patch0: Decommission-libreport_list_free_with_free.patch Patch0: 0001-Use-lazy-imports-in-abrt_exception_handler3.patch
BuildRequires: git-core dbus-devel hostname gtk3-devel glib2-devel >= 2.43.4 rpm-devel >= 4.6 BuildRequires: git-core dbus-devel hostname gtk3-devel glib2-devel >= 2.43.4 rpm-devel >= 4.6
BuildRequires: desktop-file-utils libnotify-devel gettext libxml2-devel intltool libtool BuildRequires: desktop-file-utils libnotify-devel gettext libxml2-devel intltool libtool
@ -22,6 +22,7 @@ Requires: systemd python3-%{name} = %{version}-%{release} python3-augeas py
Requires: dmidecode Requires: dmidecode
Requires: %{name}-libs = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release}
Obsoletes: abrt-plugin-sosreport < 2.14.5
Requires(pre): shadow-utils Requires(pre): shadow-utils
%{?systemd_requires} %{?systemd_requires}
@ -115,7 +116,7 @@ from Xorg log.
%package addon-vmcore %package addon-vmcore
Summary: Vmcore addon module for abrt Summary: Vmcore addon module for abrt
Requires: %{name} = %{version}-%{release} abrt-addon-kerneloops kexec-tools Requires: %{name} = %{version}-%{release} abrt-addon-kerneloops kexec-tools
Requires: python3-abrt python3-augeas util-linux Requires: python3-abrt python3-augeas util-linux python3-systemd
%description addon-vmcore %description addon-vmcore
This package provides plugin which helps to collect kernel crash information This package provides plugin which helps to collect kernel crash information
@ -148,14 +149,6 @@ Requires: container-exception-logger
This package provides python3 hook and handling uncaught exception in python3 This package provides python3 hook and handling uncaught exception in python3
container's programs. container's programs.
%package plugin-sosreport
Summary: Plugin for building automatic sosreports for abrt
Requires: sos >= 3.6 %{name} = %{version}-%{release}
%description plugin-sosreport
This package provides a configuration snippet for abrt events which used to enable
automatic generation of sosreports.
%package plugin-machine-id %package plugin-machine-id
Summary: Plugin to generate machine_id based off dmidecode for abrt Summary: Plugin to generate machine_id based off dmidecode for abrt
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
@ -561,9 +554,6 @@ killall abrt-dbus >/dev/null 2>&1 || :
%{python3_sitelib}/abrt_exception_handler3_container.py %{python3_sitelib}/abrt_exception_handler3_container.py
%{python3_sitelib}/__pycache__/abrt_exception_handler3_container.* %{python3_sitelib}/__pycache__/abrt_exception_handler3_container.*
%files plugin-sosreport
%config(noreplace) %{_sysconfdir}/libreport/events.d/sosreport_event.conf
%files plugin-machine-id %files plugin-machine-id
%config(noreplace) %{_sysconfdir}/libreport/events.d/machine-id_event.conf %config(noreplace) %{_sysconfdir}/libreport/events.d/machine-id_event.conf
%{_libexecdir}/abrt-action-generate-machine-id %{_libexecdir}/abrt-action-generate-machine-id
@ -605,6 +595,9 @@ killall abrt-dbus >/dev/null 2>&1 || :
%{_mandir}/man*/* %{_mandir}/man*/*
%changelog %changelog
* Thu Jan 13 2022 liyanan <liyanan32@huawei.com> - 2.14.6-1
- Update to 2.14.6
* Sat Jan 08 2022 huanghaitao <huanghaitao8@huawei.com> - 2.14.3-1 * Sat Jan 08 2022 huanghaitao <huanghaitao8@huawei.com> - 2.14.3-1
- Update to 2.14.3 - Update to 2.14.3