diff options
author | Ed Bartosh <ed.bartosh@linux.intel.com> | 2016-06-10 12:34:12 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-06-15 08:35:06 +0100 |
commit | aa6894a4369dbbd032a98bfe43b285111261efa9 (patch) | |
tree | 2fe0bb1b09d1fe1551899bfdbf324c75370fac45 /bitbake/lib/toaster/bldcontrol/management | |
parent | eb634f9e13ade09b4fc7d69801f4d9e21ef03db1 (diff) | |
download | poky-aa6894a4369dbbd032a98bfe43b285111261efa9.tar.gz |
bitbake: toaster: fix wrong usage of print_exc and format_exc
First parameter of traceback.print_exc and traceback.format_exc APIs is
a 'limit' - a number of stracktraces to print.
Passing exception object to print_exc or format_exc is incorrect, but
it works in Python 2 and causes printing only one line of traceback.
In Python 3 comparison of integer and exception object throws exception:
TypeError: unorderable types: int() < <Exception type>()
As these APIs are usually used in except block of handling another
exception this can cause hard to find and debug bugs.
(Bitbake rev: c5a48931ac8db9e56f978c50861c19d0d0c808e3)
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/toaster/bldcontrol/management')
-rw-r--r-- | bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py | 2 | ||||
-rw-r--r-- | bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py b/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py index 2407e1bbcc..8cdc81311f 100644 --- a/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py +++ b/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py | |||
@@ -118,7 +118,7 @@ class Command(NoArgsCommand): | |||
118 | except Exception as e: | 118 | except Exception as e: |
119 | print("Failure while trying to import the toaster config file %s: %s" %\ | 119 | print("Failure while trying to import the toaster config file %s: %s" %\ |
120 | (config_file, e)) | 120 | (config_file, e)) |
121 | traceback.print_exc(e) | 121 | traceback.print_exc() |
122 | 122 | ||
123 | return is_changed | 123 | return is_changed |
124 | 124 | ||
diff --git a/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py b/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py index 80782ef923..a70377012b 100644 --- a/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py +++ b/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py | |||
@@ -68,7 +68,7 @@ class Command(NoArgsCommand): | |||
68 | 68 | ||
69 | except Exception as e: | 69 | except Exception as e: |
70 | logger.error("runbuilds: Error launching build %s" % e) | 70 | logger.error("runbuilds: Error launching build %s" % e) |
71 | traceback.print_exc(e) | 71 | traceback.print_exc() |
72 | if "[Errno 111] Connection refused" in str(e): | 72 | if "[Errno 111] Connection refused" in str(e): |
73 | # Connection refused, read toaster_server.out | 73 | # Connection refused, read toaster_server.out |
74 | errmsg = bec.readServerLogFile() | 74 | errmsg = bec.readServerLogFile() |
@@ -78,7 +78,7 @@ class Command(NoArgsCommand): | |||
78 | BRError.objects.create(req = br, | 78 | BRError.objects.create(req = br, |
79 | errtype = str(type(e)), | 79 | errtype = str(type(e)), |
80 | errmsg = errmsg, | 80 | errmsg = errmsg, |
81 | traceback = traceback.format_exc(e)) | 81 | traceback = traceback.format_exc()) |
82 | br.state = BuildRequest.REQ_FAILED | 82 | br.state = BuildRequest.REQ_FAILED |
83 | br.save() | 83 | br.save() |
84 | bec.be.lock = BuildEnvironment.LOCK_FREE | 84 | bec.be.lock = BuildEnvironment.LOCK_FREE |