]> code.ossystems Code Review - openembedded-core.git/commitdiff
qemurunner: Add extra debug info when qemu fails to start
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 10 Jul 2020 09:00:58 +0000 (10:00 +0100)
committerSteve Sakoman <steve@sakoman.com>
Thu, 16 Jul 2020 18:26:09 +0000 (08:26 -1000)
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.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3001d0d8f3429e5ff0c37ea7192e85e7001cdb32)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
meta/lib/oeqa/utils/qemurunner.py

index 486d2bb89325cd60ed863f5709b0ffd52843d8b1..41c6bb33d62c1598c8fc66a82cc057e069bb7632 100644 (file)
@@ -254,6 +254,15 @@ class QemuRunner:
         if not self.is_alive():
             self.logger.error("Qemu pid didn't appear in %s seconds (%s)" %
                               (self.runqemutime, time.strftime("%D %H:%M:%S")))
+
+            qemu_pid = None
+            if os.path.isfile(self.qemu_pidfile):
+                with open(self.qemu_pidfile, 'r') as f:
+                    qemu_pid = f.read().strip()
+
+            self.logger.error("Status information, poll status: %s, pidfile exists: %s, pidfile contents %s, proc pid exists %s"
+                % (self.runqemu.poll(), os.path.isfile(self.qemu_pidfile), str(qemu_pid), os.path.exists("/proc/" + qemu_pid)))
+
             # Dump all processes to help us to figure out what is going on...
             ps = subprocess.Popen(['ps', 'axww', '-o', 'pid,ppid,command '], stdout=subprocess.PIPE).communicate()[0]
             processes = ps.decode("utf-8")