new version

This commit is contained in:
Jiří Moskovčák 2010-05-26 21:56:26 +00:00
parent 54f7d178d3
commit e96f5e28a2
7 changed files with 9 additions and 204 deletions

View File

@ -1 +1 @@
abrt-1.1.3.tar.gz abrt-1.1.4.tar.gz

View File

@ -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 += ": ";

View File

@ -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);

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1 +1 @@
28ad7bde10485c255ed60945fa690313 abrt-1.1.3.tar.gz 5921a5f60e3fb0af9482fffbe6078bb0 abrt-1.1.4.tar.gz