diff options
Diffstat (limited to 'meta/recipes-devtools/python/python-smartpm/smart-add-deugging-when-targetpath-is-empty.patch')
-rw-r--r-- | meta/recipes-devtools/python/python-smartpm/smart-add-deugging-when-targetpath-is-empty.patch | 47 |
1 files changed, 47 insertions, 0 deletions
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 index 0000000000..5e80804bf4 --- /dev/null +++ b/meta/recipes-devtools/python/python-smartpm/smart-add-deugging-when-targetpath-is-empty.patch | |||
@@ -0,0 +1,47 @@ | |||
1 | From 01e51afd03131947f8d74b9a23fdbc0078249499 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mariano Lopez <mariano.lopez@linux.intel.com> | ||
3 | Date: Wed, 3 Aug 2016 07:47:09 +0000 | ||
4 | Subject: [PATCH] fetcher.py: Add debugging when targetpath is empty | ||
5 | |||
6 | There are several errors when openining files or manipulating | ||
7 | path strings, those errors point targetpath passed to | ||
8 | setSucceeded() is empty. This patch won't solve the problems, | ||
9 | but will add debugging to give an idea why is failing. | ||
10 | |||
11 | Upstream-Status: Inappropriate [debugging] | ||
12 | |||
13 | Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> | ||
14 | --- | ||
15 | smart/fetcher.py | 16 ++++++++++++++++ | ||
16 | 1 file changed, 16 insertions(+) | ||
17 | |||
18 | diff --git a/smart/fetcher.py b/smart/fetcher.py | ||
19 | index dd3ff6b..64aa979 100644 | ||
20 | --- a/smart/fetcher.py | ||
21 | +++ b/smart/fetcher.py | ||
22 | @@ -594,6 +594,22 @@ class FetchItem(object): | ||
23 | self._eta = None | ||
24 | |||
25 | def setSucceeded(self, targetpath, fetchedsize=0): | ||
26 | + # It seems the in some odd cases targetpath here | ||
27 | + # is empty, this will lead to bugs in several places | ||
28 | + if not targetpath: | ||
29 | + import traceback | ||
30 | + tb_str = "" | ||
31 | + for threadId, stack in sys._current_frames().items(): | ||
32 | + tb_str += '\nThreadID: %s' % threadId | ||
33 | + for filename, lineno, name, line in traceback.extract_stack(stack): | ||
34 | + tb_str += '\nFile: "%s", line %d, in %s' % (filename, lineno, name) | ||
35 | + if line: | ||
36 | + tb_str += "\n %s" % line.strip() | ||
37 | + error_string = ["No file path specified", | ||
38 | + "URL: %s" % self._url, | ||
39 | + "Status: %s" % self._status, | ||
40 | + "Traceback: %s" % tb_str] | ||
41 | + raise Error, _("\n".join(error_string)) | ||
42 | if self._status is not FAILED: | ||
43 | self._status = SUCCEEDED | ||
44 | self._targetpath = targetpath | ||
45 | -- | ||
46 | 2.6.6 | ||
47 | |||