Re: [Crash-catcher] java reports by crash catcher
by Michal Nowak
----- "Mark Wielaard" <mjw(a)redhat.com> wrote:
> Hi,
>
> It would be nice if crash-catcher could be thought about the
> hs_pid*.log
> files that a crashed java process creates. That file contains much
> more
> information that is relevant to the crash than the gdb backtrace that
> is
> currently collected. If it can see if there is a hs_pid###.log file
> (where ### is the process id of the java process that crashed) and
> attached that to the bug report it files that would be appreciated.
>
I am afraid Java exceptions are not supported at the moment (just the
python ones) and thus ABRT is not being run in such cases.
Do you have some example crash, where ABRT stepped in?
Since Java apps exception handling is completely missing, perhaps
some of you guys can help?
> Thanks,
>
> Mark
Michal
>
> _______________________________________________
> Crash-catcher mailing list
> Crash-catcher(a)lists.fedorahosted.org
> https://fedorahosted.org/mailman/listinfo/crash-catcher
13 years, 6 months
[Crash-catcher] [PATCH] fixes on top of AutoReportUIDs change
by Denys Vlasenko
Nikola,
Please review the following.
The patch does not remove the if here:
bool analyzer_has_AutoReportUIDs(const char *analyzer_name, const char* uid)
{
...
if ((strcmp(analyzer_name, "Kerneloops") == 0) && (strcmp(uid, "-1") == 0))
return true;
but it surely looks wrong. Why we are doing it?
--
vda
diff -x '*.po' -d -urpN abrt.0/inc/abrtlib.h abrt.1/inc/abrtlib.h
--- abrt.0/inc/abrtlib.h 2009-11-30 15:48:00.000000000 +0100
+++ abrt.1/inc/abrtlib.h 2009-11-30 15:58:52.044391700 +0100
@@ -193,10 +193,10 @@ char* xmalloc_sockaddr2host_noport(const
char* xmalloc_sockaddr2hostonly_noport(const struct sockaddr *sa);
char* xmalloc_sockaddr2dotted(const struct sockaddr *sa);
char* xmalloc_sockaddr2dotted_noport(const struct sockaddr *sa);
-bool getuidbyname(const char* login, uid_t *uid);
/* Random utility functions */
+uid_t getuidbyname(const char* login);
/* Returns malloc'ed block */
char *encode_base64(const void *src, int length);
diff -x '*.po' -d -urpN abrt.0/lib/Utils/parse_release.cpp abrt.1/lib/Utils/parse_release.cpp
--- abrt.0/lib/Utils/parse_release.cpp 2009-11-30 15:48:00.000000000 +0100
+++ abrt.1/lib/Utils/parse_release.cpp 2009-11-30 16:17:39.900963796 +0100
@@ -11,7 +11,7 @@ void parse_release(const char *pRelease,
{
pProduct = "Fedora";
pVersion = "rawhide";
- VERB3 log("%s:Version is '%s' and product is '%s'",__func__, pVersion.c_str(), pProduct.c_str());
+ VERB3 log("%s: version:'%s' product:'%s'", __func__, pVersion.c_str(), pProduct.c_str());
return;
}
if (strstr(pRelease, "Fedora"))
@@ -36,5 +36,5 @@ void parse_release(const char *pRelease,
}
space++;
}
- VERB3 log("%s:Version is '%s' and product is '%s'",__func__, pVersion.c_str(), pProduct.c_str());
+ VERB3 log("%s: version:'%s' product:'%s'", __func__, pVersion.c_str(), pProduct.c_str());
}
diff -x '*.po' -d -urpN abrt.0/lib/Utils/xfuncs.cpp abrt.1/lib/Utils/xfuncs.cpp
--- abrt.0/lib/Utils/xfuncs.cpp 2009-11-30 15:48:00.000000000 +0100
+++ abrt.1/lib/Utils/xfuncs.cpp 2009-11-30 15:59:57.676391802 +0100
@@ -369,13 +369,11 @@ bool string_to_bool(const char *s)
return false;
}
-bool getuidbyname(const char* login, uid_t *uid)
+uid_t getuidbyname(const char* login)
{
struct passwd* pwd = getpwnam(login);
if (pwd == NULL)
- return false;
+ return -1;
- *uid = pwd->pw_uid;
- return true;
+ return pwd->pw_uid;
}
-
diff -x '*.po' -d -urpN abrt.0/src/Daemon/Daemon.cpp abrt.1/src/Daemon/Daemon.cpp
--- abrt.0/src/Daemon/Daemon.cpp 2009-11-30 15:48:00.000000000 +0100
+++ abrt.1/src/Daemon/Daemon.cpp 2009-11-30 16:16:01.949713667 +0100
@@ -487,41 +487,44 @@ static gboolean handle_inotify_cb(GIOCha
case MW_OK:
log("New crash, saving");
RunActionsAndReporters(crashinfo[CD_MWDDD][CD_CONTENT].c_str());
- /* Fall through to "send dbus signal" */
+ /* Fall through */
case MW_REPORTED:
case MW_OCCURED:
- if (res != MW_OK)
- log("Already saved crash, just sending dbus signal");
- /* Send dbus signal */
{
- // I don't see any usable usecase for other plugin to be able automatic report.
- if (analyzer_has_AutoReportUIDs(crashinfo[CD_MWANALYZER][CD_CONTENT].c_str(), crashinfo[CD_UID][CD_CONTENT].c_str()))
+ if (res != MW_OK)
+ log("Already saved crash, just sending dbus signal");
+
+ const char *analyzer = crashinfo[CD_MWANALYZER][CD_CONTENT].c_str();
+ const char *uid_str = crashinfo[CD_UID][CD_CONTENT].c_str();
+
+ /* Autoreport it if configured to do so */
+ if (analyzer_has_AutoReportUIDs(analyzer, uid_str))
{
+ VERB3 log("Create autoreport for user with uid %s", uid_str);
map_crash_report_t crash_report;
- VERB3 log("Create autoreport for user with uid %s",crashinfo[CD_UID][CD_CONTENT].c_str());
- mw_result_t crash_result = CreateCrashReport(crashinfo[CD_UUID][CD_CONTENT].c_str(), crashinfo[CD_UID][CD_CONTENT].c_str(), 0, crash_report);
+ mw_result_t crash_result = CreateCrashReport(crashinfo[CD_UUID][CD_CONTENT].c_str(), uid_str, 0, crash_report);
if (crash_result == MW_OK)
{
- map_analyzer_actions_and_reporters_t::const_iterator it = g_settings_mapAnalyzerActionsAndReporters.find("Kerneloops");
+ map_analyzer_actions_and_reporters_t::const_iterator it = g_settings_mapAnalyzerActionsAndReporters.find(analyzer);
map_analyzer_actions_and_reporters_t::const_iterator end = g_settings_mapAnalyzerActionsAndReporters.end();
if (it != end)
{
vector_pair_string_string_t keys = it->second;
-
- uint32_t size = keys.size();
- for (uint32_t ii = 0; ii < size; ii++)
+ unsigned size = keys.size();
+ for (unsigned ii = 0; ii < size; ii++)
{
autoreport(keys[ii], crash_report);
}
}
}
}
- const char *uid_str = analyzer_has_InformAllUsers(crashinfo[CD_MWANALYZER][CD_CONTENT].c_str())
- ? NULL
- : crashinfo[CD_UID][CD_CONTENT].c_str();
+
+ /* Send dbus signal */
+ if (analyzer_has_InformAllUsers(analyzer))
+ uid_str = NULL;
g_pCommLayer->Crash(crashinfo[CD_PACKAGE][CD_CONTENT].c_str(), uid_str);
+ break;
}
- break;
case MW_BLACKLISTED:
case MW_CORRUPTED:
case MW_PACKAGE_ERROR:
diff -x '*.po' -d -urpN abrt.0/src/Daemon/MiddleWare.cpp abrt.1/src/Daemon/MiddleWare.cpp
--- abrt.0/src/Daemon/MiddleWare.cpp 2009-11-30 15:48:00.000000000 +0100
+++ abrt.1/src/Daemon/MiddleWare.cpp 2009-11-30 16:19:01.455715059 +0100
@@ -656,7 +656,6 @@ bool analyzer_has_InformAllUsers(const c
bool analyzer_has_AutoReportUIDs(const char *analyzer_name, const char* uid)
{
-
CAnalyzer* analyzer = g_pPluginManager->GetAnalyzer(analyzer_name);
if (!analyzer)
{
@@ -675,16 +674,15 @@ bool analyzer_has_AutoReportUIDs(const c
vector_string_t logins;
parse_args(it->second.c_str(), logins);
- uint32_t size = logins.size();
+ unsigned size = logins.size();
if (size == 0)
return false;
- uid_t id;
- for (uint32_t ii = 0; ii < size; ii++)
+ for (unsigned ii = 0; ii < size; ii++)
{
- if (!getuidbyname(logins[ii].c_str(), &id))
+ uid_t id = getuidbyname(logins[ii].c_str())
+ if (id == (uid_t)-1)
continue;
-
if (strcmp(uid, to_string(id).c_str()) == 0)
return true;
}
diff -x '*.po' -d -urpN abrt.0/src/Daemon/PluginManager.cpp abrt.1/src/Daemon/PluginManager.cpp
--- abrt.0/src/Daemon/PluginManager.cpp 2009-11-30 15:48:00.000000000 +0100
+++ abrt.1/src/Daemon/PluginManager.cpp 2009-11-30 15:58:12.812407269 +0100
@@ -205,11 +205,10 @@ void CPluginManager::RegisterPlugin(cons
CPlugin* plugin = abrt_plugin->second->PluginNew();
map_plugin_settings_t pluginSettings;
- if ((strcmp(pName, "Kerneloops") == 0)
- || (strcmp(pName, "KerneloopsReporter") == 0)
- || (strcmp(pName, "KerneloopsScanner") == 0)
- )
- {
+ if (strcmp(pName, "Kerneloops") == 0
+ || strcmp(pName, "KerneloopsReporter") == 0
+ || strcmp(pName, "KerneloopsScanner") == 0
+ ) {
LoadPluginSettings(PLUGINS_CONF_DIR"/Kerneloops."PLUGINS_CONF_EXTENSION, pluginSettings);
VERB3 log("Load kerneloops.conf settings");
}
14 years, 5 months
[Crash-catcher] current git is broken - Installed (but unpackaged) file(s) found: /usr/bin/abrt-backtrace
by Denys Vlasenko
In fresh tree:
# scripts/dbg_mkrpm
...
...
...
dbus-1.so.3()(64bit) libdl.so.2()(64bit) libgcc_s.so.1()(64bit)
libgcc_s.so.1(GCC_3.0)(64bit) libgio-2.0.so.0()(64bit)
libglib-2.0.so.0()(64bit) libgmodule-2.0.so.0()(64bit)
libgobject-2.0.so.0()(64bit) libm.so.6()(64bit)
libpolkit-gobject-1.so.0()(64bit) libpthread.so.0()(64bit)
libpthread.so.0(GLIBC_2.2.5)(64bit) libstdc++.so.6()(64bit) libstdc
++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit)
libxmlrpc.so.3()(64bit) libxmlrpc_client.so.3()(64bit) rtld(GNU_HASH)
Processing files: abrt-desktop-1.0.0-1.fc11.x86_64
Processing files: abrt-debuginfo-1.0.0-1.fc11.x86_64
Checking for unpackaged
file(s): /usr/lib/rpm/check-files /root/srcdevel/abrt/fix/abrt.t7/BUILDROOT/abrt-1.0.0-1.fc11.x86_64
error: Installed (but unpackaged) file(s) found:
/usr/bin/abrt-backtrace
RPM build errors:
Installed (but unpackaged) file(s) found:
/usr/bin/abrt-backtrace
14 years, 5 months
[Crash-catcher] inconsistent hook names and locations
by Denys Vlasenko
They are:
/usr/bin/abrt-pyhook-helper
/usr/libexec/hookCCpp
Both names and paths are different.
I propose using abrt-xxx scheme for every binary's name
(btw, maybe for dumpoops too?).
That will fix one discrepancy - in the name.
Does it make sense to move abrt-pyhook-helper to /usr/libexec?
Currently, we are using the fact that it is in /usr/bin
by not specifying the /path/to/it when we call it:
command = ["abrt-pyhook-helper"]
command.append("--pid=%s" % pid)
command.append("--executable=%s" % executable)
command.append("--uuid=%s" % tb_uuid)
I usually like this, but here it maybe isn't the best idea.
What if /usr/bin is NOT in the $PATH at this point, in this python
script?
If we decide to have a full path there, then also moving to /usr/libexec
looks like a no-brainer.
What say you?
--
vda
14 years, 5 months
[Crash-catcher] catching crashes in abrtd
by Jiri Moskovcak
I was thinking about catching crashes in abrtd (I know is pretty stable,
but still...). We decided not to catch it, because when the daemon is
not running there is no quota for dumpdir size. So here is my proposal:
We can hardwire the /usr/sbin/abrtd to be handled specially by the hook
so it will be saved into the same dir (like /var/cache/abrt/abrt-dump/)
and overwriting the previous coredump. this way we'll avoid filling up
the HDD. But there could still be a problem when if abrtd crashes in a
loop then creating coredump might be I/O time-consuming, this can be
solved by checking the timestamp of the last crash and setting some
threshold.
Ideas are more than welcome,
Jirka
14 years, 5 months
[Crash-catcher] ABRT Meeting Summary 2009-11-18
by Denys Vlasenko
Immediate planned work:
* Deployment doc: prepare unsuspecting vict^W^W user/admin
who installs and uses abrt for the first time what to expect.
It needs to answer user-centric information about "How Do I Do X?
How Do I Do Y?". Example doc for yum:
http://dsilas.fedorapeople.org/deployment-guide/latest/Yum.html
Douglas Silas <dhensley(a)redhat.com> may help with review
* Design doc needs updating/consolidating:
doc/DESIGN and https://fedorahosted.org/abrt/wiki/AbrtArchitecture
* Identify list of known critical bugs/badly needed features for RHEL6,
email it to Radek.
* ccpp hook should fall back to analyzing coredump
if /proc/PID/exe is not readable.
* ongoing work in determining why X crashes on jmoskovc machine
produce truncated coredumps.
* Make "Enabled = yes" to work in per-plugin .conf files.
* Discuss auto-dlopening of plugins.
* New directive in CCpp.conf:
DebugInfoDir = /path/to/debuginfos:/path/to/debuginfos2:...
this in effect adds DebuginfoFS functionality to abrt
* Put text files _also_ in BZ comment field if they are small
(currently they are always attached).
* Add version info to "abrt X.Y.Z detected a crash" BZ comment.
* Add [Cancel] button to "Do you really want to send <something>?"
dialog box.
Please reply to this email when you committed to git
a change which fulfills one of the points above.
--
vda
14 years, 5 months
[Crash-catcher] current git is broken - circular rpm dependency
by Denys Vlasenko
Test build is ok, but I can't install all resulting rpms.
Deps errors are expected (scripts/dbg_rpminst is a simple stupid
script), but eventually all rpms should install just fine.
This does not happen, it enters infinite loop:
# scripts/dbg_rpminst
abrt-plugin-mailx-1.0.0-1.fc11.x86_64: rpm -e
abrt-plugin-mailx-1.0.0-1.fc11.x86_64
abrt-plugin-catcut-1.0.0-1.fc11.x86_64: rpm -e
abrt-plugin-catcut-1.0.0-1.fc11.x86_64
abrt-cli-1.0.0-1.fc11.x86_64: rpm -e abrt-cli-1.0.0-1.fc11.x86_64
abrt-1.0.0-1.fc11.x86_64: rpm -e abrt-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt = 1.0.0-1.fc11 is needed by (installed)
abrt-addon-ccpp-1.0.0-1.fc11.x86_64
abrt = 1.0.0-1.fc11 is needed by (installed)
abrt-addon-python-1.0.0-1.fc11.x86_64
abrt = 1.0.0-1.fc11 is needed by (installed)
abrt-plugin-bugzilla-1.0.0-1.fc11.x86_64
abrt = 1.0.0-1.fc11 is needed by (installed)
abrt-plugin-filetransfer-1.0.0-1.fc11.x86_64
abrt = 1.0.0-1.fc11 is needed by (installed)
abrt-plugin-logger-1.0.0-1.fc11.x86_64
abrt = 1.0.0-1.fc11 is needed by (installed)
abrt-plugin-runapp-1.0.0-1.fc11.x86_64
abrt = 1.0.0-1.fc11 is needed by (installed)
abrt-plugin-sosreport-1.0.0-1.fc11.x86_64
abrt = 1.0.0-1.fc11 is needed by (installed)
abrt-plugin-sqlite3-1.0.0-1.fc11.x86_64
abrt = 1.0.0-1.fc11 is needed by (installed)
abrt-plugin-ticketuploader-1.0.0-1.fc11.x86_64
abrt-plugin-logger-1.0.0-1.fc11.x86_64: rpm -e
abrt-plugin-logger-1.0.0-1.fc11.x86_64
abrt-plugin-bugzilla-1.0.0-1.fc11.x86_64: rpm -e
abrt-plugin-bugzilla-1.0.0-1.fc11.x86_64
abrt-plugin-ticketuploader-1.0.0-1.fc11.x86_64: rpm -e
abrt-plugin-ticketuploader-1.0.0-1.fc11.x86_64
abrt-addon-python-1.0.0-1.fc11.x86_64: rpm -e
abrt-addon-python-1.0.0-1.fc11.x86_64
abrt-plugin-runapp-1.0.0-1.fc11.x86_64: rpm -e
abrt-plugin-runapp-1.0.0-1.fc11.x86_64
abrt-libs-1.0.0-1.fc11.x86_64: rpm -e abrt-libs-1.0.0-1.fc11.x86_64
error: Failed dependencies:
libABRTUtils.so.0()(64bit) is needed by (installed)
abrt-1.0.0-1.fc11.x86_64
libABRTUtils.so.0()(64bit) is needed by (installed)
abrt-addon-ccpp-1.0.0-1.fc11.x86_64
libABRTUtils.so.0()(64bit) is needed by (installed)
abrt-devel-1.0.0-1.fc11.x86_64
abrt-libs = 1.0.0-1.fc11 is needed by (installed)
abrt-1.0.0-1.fc11.x86_64
abrt-libs = 1.0.0-1.fc11 is needed by (installed)
abrt-devel-1.0.0-1.fc11.x86_64
abrt-plugin-filetransfer-1.0.0-1.fc11.x86_64: rpm -e
abrt-plugin-filetransfer-1.0.0-1.fc11.x86_64
abrt-devel-1.0.0-1.fc11.x86_64: rpm -e abrt-devel-1.0.0-1.fc11.x86_64
abrt-plugin-sqlite3-1.0.0-1.fc11.x86_64: rpm -e
abrt-plugin-sqlite3-1.0.0-1.fc11.x86_64
abrt-addon-ccpp-1.0.0-1.fc11.x86_64: rpm -e
abrt-addon-ccpp-1.0.0-1.fc11.x86_64
abrt-debuginfo-1.0.0-1.fc11.x86_64: rpm -e
abrt-debuginfo-1.0.0-1.fc11.x86_64
abrt-plugin-sosreport-1.0.0-1.fc11.x86_64: rpm -e
abrt-plugin-sosreport-1.0.0-1.fc11.x86_64
abrt-1.0.0-1.fc11.x86_64: rpm -e abrt-1.0.0-1.fc11.x86_64
abrt-libs-1.0.0-1.fc11.x86_64: rpm -e abrt-libs-1.0.0-1.fc11.x86_64
# ./dbg_rpminst
abrt-1.0.0-1.fc11.x86_64.rpm: rpm -i abrt-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt-libs = 1.0.0-1.fc11 is needed by abrt-1.0.0-1.fc11.x86_64
libABRTUtils.so.0()(64bit) is needed by abrt-1.0.0-1.fc11.x86_64
abrt-addon-ccpp-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-addon-ccpp-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt = 1.0.0-1.fc11 is needed by abrt-addon-ccpp-1.0.0-1.fc11.x86_64
libABRTUtils.so.0()(64bit) is needed by
abrt-addon-ccpp-1.0.0-1.fc11.x86_64
abrt-addon-kerneloops-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-addon-kerneloops-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt = 1.0.0-1.fc11 is needed by
abrt-addon-kerneloops-1.0.0-1.fc11.x86_64
abrt-plugin-kerneloopsreporter = 1.0.0-1.fc11 is needed by
abrt-addon-kerneloops-1.0.0-1.fc11.x86_64
libABRTUtils.so.0()(64bit) is needed by
abrt-addon-kerneloops-1.0.0-1.fc11.x86_64
abrt-addon-python-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-addon-python-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt = 1.0.0-1.fc11 is needed by abrt-addon-python-1.0.0-1.fc11.x86_64
libABRTUtils.so.0()(64bit) is needed by
abrt-addon-python-1.0.0-1.fc11.x86_64
abrt-cli-1.0.0-1.fc11.x86_64.rpm: rpm -i abrt-cli-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt = 1.0.0-1.fc11 is needed by abrt-cli-1.0.0-1.fc11.x86_64
libABRTUtils.so.0()(64bit) is needed by abrt-cli-1.0.0-1.fc11.x86_64
abrt-debuginfo-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-debuginfo-1.0.0-1.fc11.x86_64
abrt-desktop-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-desktop-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt = 1.0.0-1.fc11 is needed by abrt-desktop-1.0.0-1.fc11.x86_64
abrt-plugin-sqlite3 is needed by abrt-desktop-1.0.0-1.fc11.x86_64
abrt-plugin-bugzilla is needed by abrt-desktop-1.0.0-1.fc11.x86_64
abrt-plugin-logger is needed by abrt-desktop-1.0.0-1.fc11.x86_64
abrt-addon-kerneloops is needed by abrt-desktop-1.0.0-1.fc11.x86_64
abrt-addon-ccpp is needed by abrt-desktop-1.0.0-1.fc11.x86_64
abrt-addon-python is needed by abrt-desktop-1.0.0-1.fc11.x86_64
abrt-devel-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-devel-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt-libs = 1.0.0-1.fc11 is needed by abrt-devel-1.0.0-1.fc11.x86_64
libABRTUtils.so.0()(64bit) is needed by abrt-devel-1.0.0-1.fc11.x86_64
abrt-gui-1.0.0-1.fc11.x86_64.rpm: rpm -i abrt-gui-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt = 1.0.0-1.fc11 is needed by abrt-gui-1.0.0-1.fc11.x86_64
abrt-desktop is needed by abrt-gui-1.0.0-1.fc11.x86_64
libABRTUtils.so.0()(64bit) is needed by abrt-gui-1.0.0-1.fc11.x86_64
abrt-libs-1.0.0-1.fc11.x86_64.rpm: rpm -i abrt-libs-1.0.0-1.fc11.x86_64
abrt-plugin-bugzilla-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-plugin-bugzilla-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt = 1.0.0-1.fc11 is needed by
abrt-plugin-bugzilla-1.0.0-1.fc11.x86_64
abrt-plugin-catcut-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-plugin-catcut-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt = 1.0.0-1.fc11 is needed by abrt-plugin-catcut-1.0.0-1.fc11.x86_64
abrt-plugin-filetransfer-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-plugin-filetransfer-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt = 1.0.0-1.fc11 is needed by
abrt-plugin-filetransfer-1.0.0-1.fc11.x86_64
abrt-plugin-logger-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-plugin-logger-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt = 1.0.0-1.fc11 is needed by abrt-plugin-logger-1.0.0-1.fc11.x86_64
abrt-plugin-mailx-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-plugin-mailx-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt = 1.0.0-1.fc11 is needed by abrt-plugin-mailx-1.0.0-1.fc11.x86_64
abrt-plugin-runapp-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-plugin-runapp-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt = 1.0.0-1.fc11 is needed by abrt-plugin-runapp-1.0.0-1.fc11.x86_64
abrt-plugin-sosreport-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-plugin-sosreport-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt = 1.0.0-1.fc11 is needed by
abrt-plugin-sosreport-1.0.0-1.fc11.x86_64
abrt-plugin-sqlite3-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-plugin-sqlite3-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt = 1.0.0-1.fc11 is needed by
abrt-plugin-sqlite3-1.0.0-1.fc11.x86_64
abrt-plugin-ticketuploader-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-plugin-ticketuploader-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt = 1.0.0-1.fc11 is needed by
abrt-plugin-ticketuploader-1.0.0-1.fc11.x86_64
abrt-1.0.0-1.fc11.x86_64.rpm: rpm -i abrt-1.0.0-1.fc11.x86_64
abrt-addon-ccpp-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-addon-ccpp-1.0.0-1.fc11.x86_64
abrt-addon-kerneloops-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-addon-kerneloops-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt-plugin-kerneloopsreporter = 1.0.0-1.fc11 is needed by
abrt-addon-kerneloops-1.0.0-1.fc11.x86_64
abrt-addon-python-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-addon-python-1.0.0-1.fc11.x86_64
abrt-cli-1.0.0-1.fc11.x86_64.rpm: rpm -i abrt-cli-1.0.0-1.fc11.x86_64
abrt-desktop-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-desktop-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt-plugin-sqlite3 is needed by abrt-desktop-1.0.0-1.fc11.x86_64
abrt-plugin-bugzilla is needed by abrt-desktop-1.0.0-1.fc11.x86_64
abrt-plugin-logger is needed by abrt-desktop-1.0.0-1.fc11.x86_64
abrt-addon-kerneloops is needed by abrt-desktop-1.0.0-1.fc11.x86_64
abrt-devel-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-devel-1.0.0-1.fc11.x86_64
abrt-gui-1.0.0-1.fc11.x86_64.rpm: rpm -i abrt-gui-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt-desktop is needed by abrt-gui-1.0.0-1.fc11.x86_64
abrt-plugin-bugzilla-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-plugin-bugzilla-1.0.0-1.fc11.x86_64
abrt-plugin-catcut-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-plugin-catcut-1.0.0-1.fc11.x86_64
abrt-plugin-filetransfer-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-plugin-filetransfer-1.0.0-1.fc11.x86_64
abrt-plugin-logger-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-plugin-logger-1.0.0-1.fc11.x86_64
abrt-plugin-mailx-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-plugin-mailx-1.0.0-1.fc11.x86_64
abrt-plugin-runapp-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-plugin-runapp-1.0.0-1.fc11.x86_64
abrt-plugin-sosreport-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-plugin-sosreport-1.0.0-1.fc11.x86_64
abrt-plugin-sqlite3-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-plugin-sqlite3-1.0.0-1.fc11.x86_64
abrt-plugin-ticketuploader-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-plugin-ticketuploader-1.0.0-1.fc11.x86_64
abrt-addon-kerneloops-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-addon-kerneloops-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt-plugin-kerneloopsreporter = 1.0.0-1.fc11 is needed by
abrt-addon-kerneloops-1.0.0-1.fc11.x86_64
abrt-desktop-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-desktop-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt-addon-kerneloops is needed by abrt-desktop-1.0.0-1.fc11.x86_64
abrt-gui-1.0.0-1.fc11.x86_64.rpm: rpm -i abrt-gui-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt-desktop is needed by abrt-gui-1.0.0-1.fc11.x86_64
abrt-addon-kerneloops-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-addon-kerneloops-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt-plugin-kerneloopsreporter = 1.0.0-1.fc11 is needed by
abrt-addon-kerneloops-1.0.0-1.fc11.x86_64
abrt-desktop-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-desktop-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt-addon-kerneloops is needed by abrt-desktop-1.0.0-1.fc11.x86_64
abrt-gui-1.0.0-1.fc11.x86_64.rpm: rpm -i abrt-gui-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt-desktop is needed by abrt-gui-1.0.0-1.fc11.x86_64
abrt-addon-kerneloops-1.0.0-1.fc11.x86_64.rpm: rpm -i
abrt-addon-kerneloops-1.0.0-1.fc11.x86_64
error: Failed dependencies:
abrt-plugin-kerneloopsreporter = 1.0.0-1.fc11 is needed by
abrt-addon-kerneloops-1.0.0-1.fc11.x86_64
...loops like this forever...
--
vda
14 years, 5 months
[Crash-catcher] Catcut plugin
by Gavin Romig-Koch
Denys, thank you very much for the Catcut plugin. I finally got a
chance to look at it, and do some simple testing. It looks pretty good.
I've filled out the add_attachment code in a patch below. I would
appreciated it if you would review it, and check it in if it's acceptable.
In writing this code I have come to believe that all of the plugins
would benefit from having common bits of code factored out into a plugin
support library, rather than cut and pasted from one plugin to another.
I'm curious what other ABRT developers think of this.
Also in looking at several plugins, I've noticed that different plugins
have different policies for reporting errors, warnings, informational,
and debugging messages. Sometimes exceptions are used, sometimes calls
to 'update_client' and sometimes calls to 'log'. Is there a
pattern/policy that I just haven't figured out yet, or is this still in
flux?
Thanks again.
-gavin...
14 years, 5 months