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] up the white Pom, "this is Joe
by Shireman Seiple
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\*\generator Msftedit 5.40.38.8006;}{\fonttbl{\f0\fnil\fcharset0 Calibri;}}
{\*\generator Msftedit 5.40.38.8006;}{\colortbl ;\red0\green0\blue255;\red192\green80\blue77;\red0\green176\blue80;\red204\green180\blue0;\red255\green0\blue0;\red223\green206\blue4;\red155\green0\blue211;\red79\green129\blue189;\red165\green165\blue165;\red128\green158\blue194;\red247\green150\blue70;\red0\green77\blue187;\red75\green172\blue198;\red221\green132\blue132;\red51\green51\blue51;\red158\green124\blue124;\red155\green187\blue89;}
{\*\generator Msftedit 5.40.38.8006;}\viewkind4\uc1\pard\sa200\sl276\slmult1\lang9\f0\fs32{\field{\*\fldinst{HYPERLINK "http://www.ka77.ru"}}{\fldrslt{\ul\cf1 http://www.ka77.ru}}}\f0\cf1\b\fs32 - Order the cheapest medications now!\par
Viagra \cf4 Cialis \cf3 Viagra Professional \cf5 Cialis Professional \cf6 Viagra Super Active+ \cf3 Cialis Super Active+ \cf7 Levitra\cf0 \cf8 Viagra Soft Tabs \cf9 Cialis Soft Tabs\cf10 \cf11 Levitra Professional \cf4 Female Viagra \cf12 Propecia \cf7 Acomplia \cf6 Xenical\cf0 \cf5 Brand Levitra \cf13 Female Cialis \cf14 Levitra Super Active+ \cf15 Tamiflu\cf0 \cf7 VPXL\cf0 \cf16 Viagra Soft Flavoured \cf5 Brand Viagra \cf17 Brand Cialis\cf0
{\*\generator Msftedit 5.40.38.8006;}}
14 years
Re: [Crash-catcher] ABRT duplicate detection
by Christoph Höger
Am Sonntag, den 25.04.2010, 19:56 +0200 schrieb Alexander Boström:
> lör 2010-04-24 klockan 10:37 +0200 skrev Christoph Höger:
>
> > But if ABRT could detect duplicate crashes
> > one could use this to display a workaround or even propose an update via
> > packagekit.
>
> It could look in bodhi for packages which claim to fix the bug.
> "Would you like to test a proposed fix for this problem?"
> If the update is already installed or obsoleted then it just comments on
> the bug as usual.
>
> Also, a week later, if the same user logs in again:
> "Have you experienced any problems with the update of package foo which
> was installed last Tuesday to fix the problem 'Foo borkborks on bar
> when baz'?"
Yeah that would be the "easy" part. The more difficult would handle the
workarounds.
Nice to see some interest in this.
14 years
Re: [Crash-catcher] ABRT duplicate detection
by Radek Vokál
2010/4/24 Christoph Höger <choeger(a)cs.tu-berlin.de>:
> Hi all,
>
> I was just wondering: How mature is ABRTs duplicate detection?
>
> You might all know the MS "search for a solution to this problem" window
> popping up after an application crashes. I've never seen it doing
> something usefull, though. But if ABRT could detect duplicate crashes
> one could use this to display a workaround or even propose an update via
> packagekit. All we'd need to do would be to tag (or maybe link from, if
> a wiki would be better) an bugzilla entry as containing either a
> workaround or a fix. ABRT could then display the solution just after the
> crash happened. Great, wouldn't it be?
>
> comments?
>
> Christoph
>
>
I've cced the crash-catcher mailing list. Probably the developers can
comment more about this idea, but in general I really - especially the
part -known bug & known workaround, which might be linked to a
wiki-like database of user problems and solutions.
Radek
14 years
[Crash-catcher] [PATCH 1/2] new dynamic array
by Nikola Pajkovsky
Signed-off-by: Nikola Pajkovsky <npajkovs(a)redhat.com>
---
lib/Utils/Makefile.am | 3 +-
lib/Utils/darray.c | 74 +++++++++++++++++++++++++++++++++++++++++++++++++
lib/Utils/darray.h | 50 +++++++++++++++++++++++++++++++++
3 files changed, 126 insertions(+), 1 deletions(-)
create mode 100644 lib/Utils/darray.c
create mode 100644 lib/Utils/darray.h
diff --git a/lib/Utils/Makefile.am b/lib/Utils/Makefile.am
index 13144f6..172596b 100644
--- a/lib/Utils/Makefile.am
+++ b/lib/Utils/Makefile.am
@@ -26,7 +26,8 @@ libABRTUtils_la_SOURCES = \
ABRTException.cpp \
backtrace.h backtrace.c \
backtrace_parser.y \
- strbuf.h strbuf.c
+ strbuf.h strbuf.c \
+ darray.h darray.c
libABRTUtils_la_CPPFLAGS = \
-Wall -Werror \
-I$(srcdir)/../../inc \
diff --git a/lib/Utils/darray.c b/lib/Utils/darray.c
new file mode 100644
index 0000000..0ff18a1
--- /dev/null
+++ b/lib/Utils/darray.c
@@ -0,0 +1,74 @@
+/*
+ Copyright (C) 2009 RedHat inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+*/
+
+#include <assert.h>
+
+#include "darray.h"
+
+#define SIZE 32
+
+darray_t* darray_new()
+{
+ darray_t* da = (darray_t*)xmalloc(sizeof(darray_t));
+
+ da->size = SIZE;
+ da->last = 0;
+ da->data = (void**)xmalloc(da->size * sizeof(void**));
+ int ii;
+ for (ii = 0; ii < da->size; ii++)
+ {
+ da->data[ii] = xmalloc(sizeof(void*));
+ }
+
+ return da;
+}
+
+static void darray_grow(darray_t* da)
+{
+ da->size *= 2;
+ da->data = (void**)xrealloc(da->data, da->size * sizeof(void*));
+}
+
+void darray_add(darray_t* da, void* item)
+{
+ if (da->size == da->last)
+ {
+ darray_grow(da);
+ }
+
+ da->data[da->last++] = item;
+ da->data[da->last] = NULL;
+}
+
+int darray_empty(darray_t* da)
+{
+ return (da->last == 0 )? 1: 0;
+}
+
+void darray_destroy(darray_t* da)
+{
+ if (!da)
+ return;
+
+ int ii;
+ for (ii = 0; ii < da->size; ii++)
+ free(da->data[ii]);
+
+ free(da->data);
+}
+
diff --git a/lib/Utils/darray.h b/lib/Utils/darray.h
new file mode 100644
index 0000000..1169e08
--- /dev/null
+++ b/lib/Utils/darray.h
@@ -0,0 +1,50 @@
+/*
+ Copyright (C) 2009 RedHat inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+*/
+
+#ifndef ABRT_DARRAY_H
+#define ABRT_DARRAY_H
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "xfuncs.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct _darray_t
+{
+ int size;
+ int last;
+ void** data;
+} darray_t;
+
+
+extern darray_t* darray_new();
+
+extern void darray_add(darray_t* da, void* item);
+
+extern int darray_empty(darray_t* da);
+
+extern void darray_destroy(darray_t* da);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--
1.6.6.1
14 years
[Crash-catcher] Count happened to be the most agreeable man upon the place;
by Schmitt Sheltrown
brave: and were your whole sex drawn out forme to choose, I should
not cast
a look upon the multitude if you were absent. But, my lord, I'm a
woman; colours, concealments may hide a thousand faults in me,
therefore know me better first; I hardly dare affirm I know myself in
anything except
my love. {19} _Aim_. [Aside,] Such goodness who could injure! I
find myself unequal to the task of villain; she has gained my soul,
and made it honest like her own.--
I cannot, cannot hurt her.--[_Aloud_.] Doctor,
retire. --[_Exit Foigard_]
Madam, behold your lover and your proselyte, and judg
14 years
[Crash-catcher] [PATCH 0/2] review patches
by Nikola Pajkovsky
Nikola Pajkovsky (2):
new dynamic array
comment can be private
lib/Plugins/Bugzilla.cpp | 12 +++++--
lib/Utils/Makefile.am | 3 +-
lib/Utils/darray.c | 74 ++++++++++++++++++++++++++++++++++++++++++++++
lib/Utils/darray.h | 50 +++++++++++++++++++++++++++++++
4 files changed, 134 insertions(+), 5 deletions(-)
create mode 100644 lib/Utils/darray.c
create mode 100644 lib/Utils/darray.h
14 years
[Crash-catcher] [PATCH] kerneloop is more informative when failed
by Nikola Pajkovsky
Signed-off-by: Nikola Pajkovsky <npajkovs(a)redhat.com>
---
lib/Plugins/KerneloopsReporter.cpp | 15 +++++++++------
1 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/lib/Plugins/KerneloopsReporter.cpp b/lib/Plugins/KerneloopsReporter.cpp
index 5be0c8d..f14902f 100644
--- a/lib/Plugins/KerneloopsReporter.cpp
+++ b/lib/Plugins/KerneloopsReporter.cpp
@@ -48,7 +48,7 @@ static size_t writefunction(void *ptr, size_t size, size_t nmemb, void *stream)
/* Send oops data to kerneloops.org-style site, using HTTP POST */
/* Returns 0 on success */
-static int http_post_to_kerneloops_site(const char *url, const char *oopsdata)
+static CURLcode http_post_to_kerneloops_site(const char *url, const char *oopsdata)
{
CURLcode ret;
CURL *handle;
@@ -67,6 +67,7 @@ static int http_post_to_kerneloops_site(const char *url, const char *oopsdata)
CURLFORM_COPYCONTENTS, "yes",
CURLFORM_END);
+
curl_easy_setopt(handle, CURLOPT_HTTPPOST, post);
curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, writefunction);
@@ -75,7 +76,7 @@ static int http_post_to_kerneloops_site(const char *url, const char *oopsdata)
curl_formfree(post);
curl_easy_cleanup(handle);
- return ret != 0;
+ return ret;
}
@@ -88,7 +89,7 @@ std::string CKerneloopsReporter::Report(const map_crash_data_t& pCrashData,
const map_plugin_settings_t& pSettings,
const char *pArgs)
{
- int ret = -1;
+ CURLcode ret;
update_client(_("Creating and submitting a report..."));
@@ -100,9 +101,11 @@ std::string CKerneloopsReporter::Report(const map_crash_data_t& pCrashData,
);
}
- if (ret) {
- /* FIXME: be more informative */
- throw CABRTException(EXCEP_PLUGIN, "Kernel oops has not been sent");
+ if (ret != CURLE_OK) {
+ char* err_str = xasprintf("Kernel oops has not been sent due to %s", curl_easy_strerror(ret));
+ CABRTException e(EXCEP_PLUGIN, err_str);
+ free(err_str);
+ throw e;
}
/* Server replies with:
* 200 thank you for submitting the kernel oops information
--
1.6.6.1
14 years
[Crash-catcher] [PATCH] kerneloop is more informative when failed
by Nikola Pajkovsky
>From bfbffc2fcf9c77d29802a2773b5a89436b1d5d86 Mon Sep 17 00:00:00 2001
From: Nikola Pajkovsky <npajkovs(a)redhat.com>
Date: Thu, 8 Apr 2010 15:32:19 +0200
Subject: [PATCH] kerneloop is more informative when failed
Signed-off-by: Nikola Pajkovsky <npajkovs(a)redhat.com>
---
lib/Plugins/KerneloopsReporter.cpp | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/lib/Plugins/KerneloopsReporter.cpp
b/lib/Plugins/KerneloopsReporter.cpp
index 5be0c8d..53db3cd 100644
--- a/lib/Plugins/KerneloopsReporter.cpp
+++ b/lib/Plugins/KerneloopsReporter.cpp
@@ -48,7 +48,7 @@ static size_t writefunction(void *ptr, size_t size,
size_t nmemb, void *stream)
/* Send oops data to kerneloops.org-style site, using HTTP POST */
/* Returns 0 on success */
-static int http_post_to_kerneloops_site(const char *url, const char
*oopsdata)
+static CURLcode http_post_to_kerneloops_site(const char *url, const
char *oopsdata)
{
CURLcode ret;
CURL *handle;
@@ -67,6 +67,7 @@ static int http_post_to_kerneloops_site(const char
*url, const char *oopsdata)
CURLFORM_COPYCONTENTS, "yes",
CURLFORM_END);
+
curl_easy_setopt(handle, CURLOPT_HTTPPOST, post);
curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, writefunction);
@@ -75,7 +76,7 @@ static int http_post_to_kerneloops_site(const char
*url, const char *oopsdata)
curl_formfree(post);
curl_easy_cleanup(handle);
- return ret != 0;
+ return ret;
}
@@ -88,7 +89,7 @@ std::string CKerneloopsReporter::Report(const
map_crash_data_t& pCrashData,
const map_plugin_settings_t&
pSettings,
const char *pArgs)
{
- int ret = -1;
+ CURLcode ret;
update_client(_("Creating and submitting a report..."));
@@ -100,9 +101,10 @@ std::string CKerneloopsReporter::Report(const
map_crash_data_t& pCrashData,
);
}
- if (ret) {
- /* FIXME: be more informative */
- throw CABRTException(EXCEP_PLUGIN, "Kernel oops has not been
sent");
+ if (ret != CURLE_OK) {
+ /* FIXME: rid of std::string */
+ std::string e = ssprintf("Kernel oops has not been sent
due to %s", curl_easy_strerror(ret));
+ throw CABRTException(EXCEP_PLUGIN, e.c_str());
}
/* Server replies with:
* 200 thank you for submitting the kernel oops information
--
1.6.6.1
--
Nikola
14 years