new version
This commit is contained in:
parent
54f7d178d3
commit
e96f5e28a2
@ -1 +1 @@
|
|||||||
abrt-1.1.3.tar.gz
|
abrt-1.1.4.tar.gz
|
||||||
|
@ -1,28 +0,0 @@
|
|||||||
commit fcde1a65a0a283ed785cafa8a44ae219e1a79912
|
|
||||||
Author: Nikola Pajkovsky <npajkovs@redhat.com>
|
|
||||||
Date: Wed Apr 7 17:47:32 2010 +0200
|
|
||||||
|
|
||||||
add function name into summary(if it's found)
|
|
||||||
|
|
||||||
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
|
|
||||||
|
|
||||||
diff --git a/lib/Plugins/Bugzilla.cpp b/lib/Plugins/Bugzilla.cpp
|
|
||||||
index e59e9a7..bffccc1 100644
|
|
||||||
--- a/lib/Plugins/Bugzilla.cpp
|
|
||||||
+++ b/lib/Plugins/Bugzilla.cpp
|
|
||||||
@@ -352,8 +352,15 @@ xmlrpc_int32 ctx::new_bug(const map_crash_data_t& pCrashData)
|
|
||||||
const std::string& arch = get_crash_data_item_content(pCrashData, FILENAME_ARCHITECTURE);
|
|
||||||
const std::string& duphash = get_crash_data_item_content(pCrashData, CD_DUPHASH);
|
|
||||||
const char *reason = get_crash_data_item_content_or_NULL(pCrashData, FILENAME_REASON);
|
|
||||||
+ const char *function = get_crash_data_item_content_or_NULL(pCrashData, FILENAME_CRASH_FUNCTION);
|
|
||||||
|
|
||||||
std::string summary = "[abrt] crash in " + package;
|
|
||||||
+ if (function != NULL && strlen(function) < 30)
|
|
||||||
+ {
|
|
||||||
+ summary += ": ";
|
|
||||||
+ summary += function;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (reason != NULL)
|
|
||||||
{
|
|
||||||
summary += ": ";
|
|
@ -1,28 +0,0 @@
|
|||||||
commit f05c9b25335c84c7b5861fce80fd941ec81212f3
|
|
||||||
Author: Karel Klic <kklic@redhat.com>
|
|
||||||
Date: Thu Apr 15 12:12:59 2010 +0200
|
|
||||||
|
|
||||||
Crash function is now detected even for threads without an abort frame.
|
|
||||||
|
|
||||||
diff --git a/lib/Plugins/CCpp.cpp b/lib/Plugins/CCpp.cpp
|
|
||||||
index 9bdcda9..cf25c73 100644
|
|
||||||
--- a/lib/Plugins/CCpp.cpp
|
|
||||||
+++ b/lib/Plugins/CCpp.cpp
|
|
||||||
@@ -761,13 +761,12 @@ void CAnalyzerCCpp::CreateReport(const char *pDebugDumpDir, int force)
|
|
||||||
/* Get the function name from the crash frame. */
|
|
||||||
if (crash_thread)
|
|
||||||
{
|
|
||||||
+ struct frame *crash_frame = crash_thread->frames;
|
|
||||||
struct frame *abort_frame = thread_find_abort_frame(crash_thread);
|
|
||||||
if (abort_frame)
|
|
||||||
- {
|
|
||||||
- struct frame *crash_frame = abort_frame->next;
|
|
||||||
- if (crash_frame && crash_frame->function && 0 != strcmp(crash_frame->function, "??"))
|
|
||||||
- dd.SaveText(FILENAME_CRASH_FUNCTION, crash_frame->function);
|
|
||||||
- }
|
|
||||||
+ crash_frame = abort_frame->next;
|
|
||||||
+ if (crash_frame && crash_frame->function && 0 != strcmp(crash_frame->function, "??"))
|
|
||||||
+ dd.SaveText(FILENAME_CRASH_FUNCTION, crash_frame->function);
|
|
||||||
}
|
|
||||||
|
|
||||||
backtrace_free(backtrace);
|
|
@ -1,126 +0,0 @@
|
|||||||
commit a6daecbb32cf5fb0f71bdc14dddd35e7422dd4bb
|
|
||||||
Author: Karel Klic <kklic@redhat.com>
|
|
||||||
Date: Tue Apr 13 14:57:20 2010 +0200
|
|
||||||
|
|
||||||
do not catch perl/python crashes when the script is not of known package origin
|
|
||||||
|
|
||||||
diff --git a/src/Daemon/MiddleWare.cpp b/src/Daemon/MiddleWare.cpp
|
|
||||||
index a0ead47..5c9ecb7 100644
|
|
||||||
--- a/src/Daemon/MiddleWare.cpp
|
|
||||||
+++ b/src/Daemon/MiddleWare.cpp
|
|
||||||
@@ -594,43 +594,51 @@ void LoadOpenGPGPublicKey(const char* key)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
- * Get a package name from executable name and save
|
|
||||||
- * package description to particular debugdump directory of a crash.
|
|
||||||
- * @param pExecutable A name of crashed application.
|
|
||||||
- * @param pDebugDumpDir A debugdump dir containing all necessary data.
|
|
||||||
- * @return It return results of operation. See mw_result_t.
|
|
||||||
+ * Returns the first full path argument in the command line or NULL.
|
|
||||||
+ * Skips options are in form "-XXX".
|
|
||||||
+ * Caller must delete the returned string using free().
|
|
||||||
*/
|
|
||||||
static char *get_argv1_if_full_path(const char* cmdline)
|
|
||||||
{
|
|
||||||
- char *argv1 = (char*) strchr(cmdline, ' ');
|
|
||||||
+ const char *argv1 = strpbrk(cmdline, " \t");
|
|
||||||
while (argv1 != NULL)
|
|
||||||
{
|
|
||||||
/* we found space in cmdline, so it might contain
|
|
||||||
* path to some script like:
|
|
||||||
* /usr/bin/python [-XXX] /usr/bin/system-control-network
|
|
||||||
*/
|
|
||||||
- argv1++;
|
|
||||||
- if (*argv1 == '-')
|
|
||||||
+ argv1++; /* skip the space */
|
|
||||||
+ if (*argv1 == '-') /* skip arguments */
|
|
||||||
{
|
|
||||||
/* looks like -XXX in "perl -XXX /usr/bin/script.pl", skip */
|
|
||||||
- argv1 = strchr(argv1, ' ');
|
|
||||||
+ argv1 = strpbrk(argv1, " \t");
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
- /* if the string following the space doesn't start
|
|
||||||
- * with '/' it's probably not a full path to script
|
|
||||||
- * and we can't use it to determine the package name
|
|
||||||
- */
|
|
||||||
- if (*argv1 != '/')
|
|
||||||
+ else if (*argv1 == ' ' || *argv1 == '\t') /* skip multiple spaces */
|
|
||||||
+ continue;
|
|
||||||
+ else if (*argv1 != '/')
|
|
||||||
{
|
|
||||||
- return NULL;
|
|
||||||
+ /* if the string following the space doesn't start
|
|
||||||
+ * with '/' it's probably not a full path to script
|
|
||||||
+ * and we can't use it to determine the package name
|
|
||||||
+ */
|
|
||||||
+ break;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ /* cut the rest of cmdline arguments */
|
|
||||||
int len = strchrnul(argv1, ' ') - argv1;
|
|
||||||
- /* cut the cmdline arguments */
|
|
||||||
- argv1 = xstrndup(argv1, len);
|
|
||||||
- break;
|
|
||||||
+ return xstrndup(argv1, len);
|
|
||||||
}
|
|
||||||
- return argv1;
|
|
||||||
+ return NULL;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * Get a package name from executable name and save
|
|
||||||
+ * package description to particular debugdump directory of a crash.
|
|
||||||
+ * @param pExecutable A name of crashed application.
|
|
||||||
+ * @param pDebugDumpDir A debugdump dir containing all necessary data.
|
|
||||||
+ * @return It return results of operation. See mw_result_t.
|
|
||||||
+ */
|
|
||||||
static mw_result_t SavePackageDescriptionToDebugDump(
|
|
||||||
const char *pExecutable,
|
|
||||||
const char *cmdline,
|
|
||||||
@@ -692,6 +700,7 @@ static mw_result_t SavePackageDescriptionToDebugDump(
|
|
||||||
* This will work only if the cmdline contains the whole path.
|
|
||||||
* Example: python /usr/bin/system-control-network
|
|
||||||
*/
|
|
||||||
+ bool knownOrigin = false;
|
|
||||||
char *script_name = get_argv1_if_full_path(cmdline);
|
|
||||||
if (script_name)
|
|
||||||
{
|
|
||||||
@@ -707,9 +716,16 @@ static mw_result_t SavePackageDescriptionToDebugDump(
|
|
||||||
rpm_pkg = script_pkg;
|
|
||||||
scriptName = script_name;
|
|
||||||
pExecutable = scriptName.c_str();
|
|
||||||
+ knownOrigin = true;
|
|
||||||
}
|
|
||||||
free(script_name);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ if (!knownOrigin && !g_settings_bProcessUnpackaged)
|
|
||||||
+ {
|
|
||||||
+ log("Interpreter crashed, but no packaged script detected: '%s'", cmdline);
|
|
||||||
+ return MW_PACKAGE_ERROR;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
package = rpm_pkg;
|
|
||||||
@@ -717,7 +733,7 @@ static mw_result_t SavePackageDescriptionToDebugDump(
|
|
||||||
VERB2 log("Package:'%s' short:'%s'", rpm_pkg, packageName.c_str());
|
|
||||||
free(rpm_pkg);
|
|
||||||
|
|
||||||
- if (g_setBlackList.find(packageName) != g_setBlackList.end())
|
|
||||||
+ if (g_setBlackList.find(packageName) != g_setBlackList.end())
|
|
||||||
{
|
|
||||||
log("Blacklisted package '%s'", packageName.c_str());
|
|
||||||
return MW_BLACKLISTED;
|
|
||||||
@@ -838,8 +854,8 @@ static void RunAnalyzerActions(const char *pAnalyzer, const char *pDebugDumpDir,
|
|
||||||
if (!action)
|
|
||||||
{
|
|
||||||
/* GetAction() already complained if no such plugin.
|
|
||||||
- * If plugin exists but isn't an Action, it's not an error.
|
|
||||||
- */
|
|
||||||
+ * If plugin exists but isn't an Action, it's not an error.
|
|
||||||
+ */
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
try
|
|
@ -1,19 +0,0 @@
|
|||||||
commit 306a4686200c33e34c0650b6ad09b1a5a3f32a77
|
|
||||||
Author: Jiri Moskovcak <jmoskovc@redhat.com>
|
|
||||||
Date: Tue Apr 13 16:51:30 2010 +0200
|
|
||||||
|
|
||||||
fixed problem with localized yum output rhbz#581804
|
|
||||||
|
|
||||||
diff --git a/src/Daemon/abrt-debuginfo-install b/src/Daemon/abrt-debuginfo-install
|
|
||||||
index 521d42a..84d2446 100755
|
|
||||||
--- a/src/Daemon/abrt-debuginfo-install
|
|
||||||
+++ b/src/Daemon/abrt-debuginfo-install
|
|
||||||
@@ -303,7 +303,7 @@ $debug && echo "build_ids:$build_ids"
|
|
||||||
# When we look for debuginfo we need only -debuginfo* repos, we can disable the rest
|
|
||||||
# and thus make it faster.
|
|
||||||
yum_repo_opts="'--disablerepo=*'"
|
|
||||||
-for enabled_repo in `yum repolist all | grep 'enabled:' | cut -f1 -d' ' | grep -v -- '-debuginfo'`; do
|
|
||||||
+for enabled_repo in `LANG=C yum repolist all | grep 'enabled:' | cut -f1 -d' ' | grep -v -- '-debuginfo'`; do
|
|
||||||
yum_repo_opts="$yum_repo_opts '--enablerepo=${enabled_repo}-debuginfo*'"
|
|
||||||
done
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
Summary: Automatic bug detection and reporting tool
|
Summary: Automatic bug detection and reporting tool
|
||||||
Name: abrt
|
Name: abrt
|
||||||
Version: 1.1.3
|
Version: 1.1.4
|
||||||
Release: %{?pkg_release}
|
Release: %{?pkg_release}
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
Group: Applications/System
|
Group: Applications/System
|
||||||
@ -465,6 +465,12 @@ fi
|
|||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed May 26 2010 Jiri Moskovcak <jmoskovc@redhat.com> 1.1.4-1
|
||||||
|
- added reporting wizard
|
||||||
|
- fixed few leaked fds
|
||||||
|
- fixed kerneloops --- cut here --- problem
|
||||||
|
- updated translations
|
||||||
|
|
||||||
* Fri May 21 2010 Denys Vlasenko <dvlasenk@redhat.com> 1.1.3-1
|
* Fri May 21 2010 Denys Vlasenko <dvlasenk@redhat.com> 1.1.3-1
|
||||||
- More fixes for /var/cache/abrt -> /var/spool/abrt conversion
|
- More fixes for /var/cache/abrt -> /var/spool/abrt conversion
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user