]> code.ossystems Code Review - openembedded-core.git/commitdiff
python-smartpm_git.bb: Add patch for debugging random errors
authorMariano Lopez <mariano.lopez@linux.intel.com>
Wed, 3 Aug 2016 13:21:30 +0000 (13:21 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 10 Aug 2016 08:36:23 +0000 (09:36 +0100)
This will add a patch to debug random errors seen in the
autobuilders, it won't solve the errors, but will give us
a better idea of what is happening.

[YOCTO #8383]

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/recipes-devtools/python/python-smartpm/smart-add-deugging-when-targetpath-is-empty.patch [new file with mode: 0644]
meta/recipes-devtools/python/python-smartpm_git.bb

diff --git a/meta/recipes-devtools/python/python-smartpm/smart-add-deugging-when-targetpath-is-empty.patch b/meta/recipes-devtools/python/python-smartpm/smart-add-deugging-when-targetpath-is-empty.patch
new file mode 100644 (file)
index 0000000..5e80804
--- /dev/null
@@ -0,0 +1,47 @@
+From 01e51afd03131947f8d74b9a23fdbc0078249499 Mon Sep 17 00:00:00 2001
+From: Mariano Lopez <mariano.lopez@linux.intel.com>
+Date: Wed, 3 Aug 2016 07:47:09 +0000
+Subject: [PATCH] fetcher.py: Add debugging when targetpath is empty
+
+There are several errors when openining files or manipulating
+path strings, those errors point targetpath passed to
+setSucceeded() is empty. This patch won't solve the problems,
+but will add debugging to give an idea why is failing.
+
+Upstream-Status: Inappropriate [debugging]
+
+Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
+---
+ smart/fetcher.py | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+diff --git a/smart/fetcher.py b/smart/fetcher.py
+index dd3ff6b..64aa979 100644
+--- a/smart/fetcher.py
++++ b/smart/fetcher.py
+@@ -594,6 +594,22 @@ class FetchItem(object):
+                 self._eta = None
+     def setSucceeded(self, targetpath, fetchedsize=0):
++        # It seems the in some odd cases targetpath here
++        # is empty, this will lead to bugs in several places
++        if not targetpath:
++            import traceback
++            tb_str = ""
++            for threadId, stack in sys._current_frames().items():
++                tb_str += '\nThreadID: %s' % threadId
++                for filename, lineno, name, line in traceback.extract_stack(stack):
++                    tb_str += '\nFile: "%s", line %d, in %s' % (filename, lineno, name)
++                    if line:
++                        tb_str += "\n  %s" % line.strip()
++            error_string = ["No file path specified",
++                            "URL: %s" % self._url,
++                            "Status: %s" % self._status,
++                            "Traceback: %s" % tb_str]
++            raise Error, _("\n".join(error_string))
+         if self._status is not FAILED:
+             self._status = SUCCEEDED
+             self._targetpath = targetpath
+-- 
+2.6.6
+
index 81e45b7aff243f7442b7cbfb47d54372cf73bb74..668d171a58ab53a943b5ee5bd5eb6787011d085c 100644 (file)
@@ -25,6 +25,7 @@ SRC_URI = "\
           file://smart-channel-remove-all.patch \
           file://smart-locale.patch \
           file://smartpm-rpm5-support-check-signatures.patch \
+          file://smart-add-deugging-when-targetpath-is-empty.patch \
          "
 
 SRCREV = "407a7eca766431257dcd1da15175cc36a1bb22d0"