From 0a53e906510cce1f32bc04a11e81ea40f834dac4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
Date: Wed, 12 Aug 2015 15:11:30 -0500
Subject: [PATCH] cpus.c: Add error messages when qemi_cpu_kick_thread fails.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Add custom_debug.h with function for print backtrace information.
When pthread_kill fails in qemu_cpu_kick_thread display backtrace and
current cpu information.

Upstream-Status: Inappropriate
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>

---
 cpus.c         |  5 +++++
 custom_debug.h | 24 ++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 100644 custom_debug.h

diff --git a/cpus.c b/cpus.c
index e83f72b4..e6e2576e 100644
--- a/cpus.c
+++ b/cpus.c
@@ -1769,6 +1769,8 @@ static void *qemu_tcg_cpu_thread_fn(void *arg)
     return NULL;
 }
 
+#include "custom_debug.h"
+
 static void qemu_cpu_kick_thread(CPUState *cpu)
 {
 #ifndef _WIN32
@@ -1781,6 +1783,9 @@ static void qemu_cpu_kick_thread(CPUState *cpu)
     err = pthread_kill(cpu->thread->thread, SIG_IPI);
     if (err && err != ESRCH) {
         fprintf(stderr, "qemu:%s: %s", __func__, strerror(err));
+        fprintf(stderr, "CPU #%d:\n", cpu->cpu_index);
+        cpu_dump_state(cpu, stderr, 0);
+        backtrace_print();
         exit(1);
     }
 #else /* _WIN32 */
diff --git a/custom_debug.h b/custom_debug.h
new file mode 100644
index 00000000..f029e455
--- /dev/null
+++ b/custom_debug.h
@@ -0,0 +1,24 @@
+#include <execinfo.h>
+#include <stdio.h>
+#define BACKTRACE_MAX 128
+static void backtrace_print(void)
+{
+	int nfuncs = 0;
+	void *buf[BACKTRACE_MAX];
+	char **symbols;
+	int i;
+
+	nfuncs = backtrace(buf, BACKTRACE_MAX);
+
+	symbols = backtrace_symbols(buf, nfuncs);
+	if (symbols == NULL) {
+		fprintf(stderr, "backtrace_print failed to get symbols");
+		return;
+	}
+
+	fprintf(stderr, "Backtrace ...\n");
+	for (i = 0; i < nfuncs; i++)
+		fprintf(stderr, "%s\n", symbols[i]);
+
+	free(symbols);
+}
