Adam Williamson bcfb1b
From 057f8b0395a37765b856737cb25186c52b300389 Mon Sep 17 00:00:00 2001
Adam Williamson bcfb1b
From: Martin Kutlak <mkutlak@redhat.com>
Adam Williamson bcfb1b
Date: Tue, 24 Jul 2018 10:17:05 +0200
Adam Williamson bcfb1b
Subject: [PATCH] lib: Correct the syntax for gdb backtrace command
Adam Williamson bcfb1b
Adam Williamson bcfb1b
abrt-action-generate-backtrace generates backtraces with error message:
Adam Williamson bcfb1b
A syntax error in expression, near `full'.
Adam Williamson bcfb1b
Adam Williamson bcfb1b
According to the GDB documentation the correct syntax for backtrace
Adam Williamson bcfb1b
command is:
Adam Williamson bcfb1b
backtrace [n]
Adam Williamson bcfb1b
backtrace full [n]
Adam Williamson bcfb1b
Adam Williamson bcfb1b
- sourceware.org/gdb/onlinedocs/gdb/Backtrace.html
Adam Williamson bcfb1b
Adam Williamson bcfb1b
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
Adam Williamson bcfb1b
---
Adam Williamson bcfb1b
 src/lib/hooklib.c | 4 ++--
Adam Williamson bcfb1b
 1 file changed, 2 insertions(+), 2 deletions(-)
Adam Williamson bcfb1b
Adam Williamson bcfb1b
diff --git a/src/lib/hooklib.c b/src/lib/hooklib.c
Adam Williamson bcfb1b
index 135c7cde..b66fc119 100644
Adam Williamson bcfb1b
--- a/src/lib/hooklib.c
Adam Williamson bcfb1b
+++ b/src/lib/hooklib.c
Adam Williamson bcfb1b
@@ -353,11 +353,11 @@ char *get_backtrace(const char *dump_dir_name, unsigned timeout_sec, const char
Adam Williamson bcfb1b
     /* Limit bt depth. With no limit, gdb sometimes OOMs the machine */
Adam Williamson bcfb1b
     unsigned bt_depth = 1024;
Adam Williamson bcfb1b
     const char *thread_apply_all = "thread apply all -ascending";
Adam Williamson bcfb1b
-    const char *full = " full";
Adam Williamson bcfb1b
+    const char *full = "full ";
Adam Williamson bcfb1b
     char *bt = NULL;
Adam Williamson bcfb1b
     while (1)
Adam Williamson bcfb1b
     {
Adam Williamson bcfb1b
-        args[bt_cmd_index] = xasprintf("%s backtrace %u%s", thread_apply_all, bt_depth, full);
Adam Williamson bcfb1b
+        args[bt_cmd_index] = xasprintf("%s backtrace %s%u", thread_apply_all, full, bt_depth);
Adam Williamson bcfb1b
         bt = exec_vp(args, /*redirect_stderr:*/ 1, timeout_sec, NULL);
Adam Williamson bcfb1b
         free(args[bt_cmd_index]);
Adam Williamson bcfb1b
         if ((bt && strnlen(bt, 256*1024) < 256*1024) || bt_depth <= 32)
Adam Williamson bcfb1b
-- 
Adam Williamson bcfb1b
2.19.0
Adam Williamson bcfb1b