python-smartpm_git.bb: Add patch for debugging random errors

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]

(From OE-Core rev: c52a7e910a3a52a7455a2409d9ade449bbbd66d4)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Mariano Lopez 2016-08-03 13:21:30 +00:00 committed by Richard Purdie
parent 1650f67230
commit 909e2120d4
2 changed files with 48 additions and 0 deletions

View File

@ -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

View 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"