summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/Plugins/CCpp.cpp22
-rw-r--r--lib/Plugins/TicketUploader.cpp25
-rw-r--r--lib/Plugins/TicketUploader.h5
-rw-r--r--lib/Utils/Polkit.cpp4
-rw-r--r--src/Backtrace/main.c4
5 files changed, 37 insertions, 23 deletions
diff --git a/lib/Plugins/CCpp.cpp b/lib/Plugins/CCpp.cpp
index 6c200d01..e0db9cf9 100644
--- a/lib/Plugins/CCpp.cpp
+++ b/lib/Plugins/CCpp.cpp
@@ -621,13 +621,29 @@ string CAnalyzerCCpp::GetGlobalUUID(const char *pDebugDumpDir)
{
perror_msg("abrt-backtrace not executed properly, "
"status: %x signal: %d", status, WIFSIGNALED(status));
- } else
+ }
+ else
{
int exit_status = WEXITSTATUS(status);
- if (exit_status != 0)
+ if (exit_status == 79) /* EX_PARSINGFAILED */
+ {
+ /* abrt-backtrace returns alternative backtrace
+ representation in this case, so everything will work
+ as expected except worse duplication detection */
+ log_msg("abrt-backtrace failed to parse the backtrace");
+ }
+ else if (exit_status == 80) /* EX_THREADDETECTIONFAILED */
+ {
+ /* abrt-backtrace returns backtrace with all threads
+ in this case, so everything will work as expected
+ except worse duplication detection */
+ log_msg("abrt-backtrace failed to determine crash frame");
+ }
+ else if (exit_status != 0)
{
+ /* this is unexpected problem and it should be investigated */
error_msg("abrt-backtrace run failed, exit value: %d",
- exit_status);
+ exit_status);
}
}
diff --git a/lib/Plugins/TicketUploader.cpp b/lib/Plugins/TicketUploader.cpp
index 3fb7bcd5..608ee40b 100644
--- a/lib/Plugins/TicketUploader.cpp
+++ b/lib/Plugins/TicketUploader.cpp
@@ -396,19 +396,18 @@ void CTicketUploader::SetSettings(const map_plugin_settings_t& pSettings)
}
}
-//ok to delete?
-//const map_plugin_settings_t& CTicketUploader::GetSettings()
-//{
-// m_pSettings["Customer"] = m_sCustomer;
-// m_pSettings["Ticket"] = m_sTicket;
-// m_pSettings["URL"] = m_sURL;
-// m_pSettings["Encrypt"] = m_bEncrypt ? "yes" : "no";
-// m_pSettings["Upload"] = m_bEncrypt ? "yes" : "no";
-// m_pSettings["RetryCount"] = to_string(m_nRetryCount);
-// m_pSettings["RetryDelay"] = to_string(m_nRetryDelay);
-//
-// return m_pSettings;
-//}
+const map_plugin_settings_t& CTicketUploader::GetSettings()
+{
+ m_pSettings["Customer"] = m_sCustomer;
+ m_pSettings["Ticket"] = m_sTicket;
+ m_pSettings["URL"] = m_sURL;
+ m_pSettings["Encrypt"] = m_bEncrypt ? "yes" : "no";
+ m_pSettings["Upload"] = m_bEncrypt ? "yes" : "no";
+ m_pSettings["RetryCount"] = to_string(m_nRetryCount);
+ m_pSettings["RetryDelay"] = to_string(m_nRetryDelay);
+
+ return m_pSettings;
+}
PLUGIN_INFO(REPORTER,
CTicketUploader,
diff --git a/lib/Plugins/TicketUploader.h b/lib/Plugins/TicketUploader.h
index e00596f2..1bc8f6ba 100644
--- a/lib/Plugins/TicketUploader.h
+++ b/lib/Plugins/TicketUploader.h
@@ -27,7 +27,7 @@
#include "Plugin.h"
#include "Reporter.h"
-#include "CrashTypes.h"
+//#include "CrashTypes.h"
class CTicketUploader : public CReporter
{
@@ -45,8 +45,7 @@ class CTicketUploader : public CReporter
public:
CTicketUploader();
virtual ~CTicketUploader();
-//ok to delete?
-// virtual const map_plugin_settings_t& GetSettings();
+ virtual const map_plugin_settings_t& GetSettings();
virtual void SetSettings(const map_plugin_settings_t& pSettings);
virtual std::string Report(const map_crash_report_t& pCrashReport,
diff --git a/lib/Utils/Polkit.cpp b/lib/Utils/Polkit.cpp
index 8bd0eb6f..a7e4a5da 100644
--- a/lib/Utils/Polkit.cpp
+++ b/lib/Utils/Polkit.cpp
@@ -48,7 +48,7 @@ static PolkitResult do_check(PolkitSubject *subject, const char *action_id)
authority = polkit_authority_get();
cancellable = g_cancellable_new();
- g_timeout_add(POLKIT_TIMEOUT * 1000,
+ guint cancel_timeout = g_timeout_add(POLKIT_TIMEOUT * 1000,
(GSourceFunc) do_cancel,
cancellable);
@@ -60,7 +60,7 @@ static PolkitResult do_check(PolkitSubject *subject, const char *action_id)
cancellable,
&error);
g_object_unref(authority);
-
+ g_source_remove(cancel_timeout);
if (error)
{
g_error_free(error);
diff --git a/src/Backtrace/main.c b/src/Backtrace/main.c
index 7dfba431..5e693380 100644
--- a/src/Backtrace/main.c
+++ b/src/Backtrace/main.c
@@ -28,8 +28,8 @@
/* Too large files are trimmed. */
#define FILE_SIZE_LIMIT 20000000 /* ~ 20 MB */
-#define EX_PARSINGFAILED EX__MAX + 1
-#define EX_THREADDETECTIONFAILED EX__MAX + 2
+#define EX_PARSINGFAILED EX__MAX + 1 /* = 79 */
+#define EX_THREADDETECTIONFAILED EX__MAX + 2 /* = 80 */
const char *argp_program_version = "abrt-backtrace " VERSION;
const char *argp_program_bug_address = "<crash-catcher@lists.fedorahosted.org>";