summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2020-07-10 10:00:58 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-07-13 12:53:08 +0100
commit71772fbaea840da03835782b8602613895cf02ce (patch)
treebbcaaf41ada45f7a36f786380175dc94d85797c8
parent0c1c6c971de40ec3c9094a3963e5b6cc063b0e64 (diff)
downloadpoky-71772fbaea840da03835782b8602613895cf02ce.tar.gz
qemurunner: Add extra debug info when qemu fails to start
When qemu fails to start we're struggling to work out why. Add more debug info which can at least confirm/rule out various things. This code is only on the error handling path and more info shoudl help us debug issues. (From OE-Core rev: 3001d0d8f3429e5ff0c37ea7192e85e7001cdb32) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/lib/oeqa/utils/qemurunner.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
index 486d2bb893..41c6bb33d6 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -254,6 +254,15 @@ class QemuRunner:
254 if not self.is_alive(): 254 if not self.is_alive():
255 self.logger.error("Qemu pid didn't appear in %s seconds (%s)" % 255 self.logger.error("Qemu pid didn't appear in %s seconds (%s)" %
256 (self.runqemutime, time.strftime("%D %H:%M:%S"))) 256 (self.runqemutime, time.strftime("%D %H:%M:%S")))
257
258 qemu_pid = None
259 if os.path.isfile(self.qemu_pidfile):
260 with open(self.qemu_pidfile, 'r') as f:
261 qemu_pid = f.read().strip()
262
263 self.logger.error("Status information, poll status: %s, pidfile exists: %s, pidfile contents %s, proc pid exists %s"
264 % (self.runqemu.poll(), os.path.isfile(self.qemu_pidfile), str(qemu_pid), os.path.exists("/proc/" + qemu_pid)))
265
257 # Dump all processes to help us to figure out what is going on... 266 # Dump all processes to help us to figure out what is going on...
258 ps = subprocess.Popen(['ps', 'axww', '-o', 'pid,ppid,command '], stdout=subprocess.PIPE).communicate()[0] 267 ps = subprocess.Popen(['ps', 'axww', '-o', 'pid,ppid,command '], stdout=subprocess.PIPE).communicate()[0]
259 processes = ps.decode("utf-8") 268 processes = ps.decode("utf-8")