[gnome-continuous-yocto/gnomeostree-3.28-rocko: 913/8267] bitbake: toaster: fix wrong usage of print_exc and format_exc



commit aa6894a4369dbbd032a98bfe43b285111261efa9
Author: Ed Bartosh <ed bartosh linux intel com>
Date:   Fri Jun 10 12:34:12 2016 +0300

    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>

 .../management/commands/checksettings.py           |    2 +-
 .../bldcontrol/management/commands/runbuilds.py    |    4 ++--
 bitbake/lib/toaster/contrib/tts/runner.py          |    4 ++--
 bitbake/lib/toaster/orm/models.py                  |    2 +-
 bitbake/lib/toaster/toastergui/views.py            |    2 +-
 5 files changed, 7 insertions(+), 7 deletions(-)
---
diff --git a/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py 
b/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py
index 2407e1b..8cdc813 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):
                     except Exception as e:
                         print("Failure while trying to import the toaster config file %s: %s" %\
                             (config_file, e))
-                        traceback.print_exc(e)
+                        traceback.print_exc()
 
                 return is_changed
 
diff --git a/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py 
b/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py
index 80782ef..a703770 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):
 
         except Exception as e:
             logger.error("runbuilds: Error launching build %s" % e)
-            traceback.print_exc(e)
+            traceback.print_exc()
             if "[Errno 111] Connection refused" in str(e):
                 # Connection refused, read toaster_server.out
                 errmsg = bec.readServerLogFile()
@@ -78,7 +78,7 @@ class Command(NoArgsCommand):
             BRError.objects.create(req = br,
                     errtype = str(type(e)),
                     errmsg = errmsg,
-                    traceback = traceback.format_exc(e))
+                    traceback = traceback.format_exc())
             br.state = BuildRequest.REQ_FAILED
             br.save()
             bec.be.lock = BuildEnvironment.LOCK_FREE
diff --git a/bitbake/lib/toaster/contrib/tts/runner.py b/bitbake/lib/toaster/contrib/tts/runner.py
index bed6651..d01386a 100755
--- a/bitbake/lib/toaster/contrib/tts/runner.py
+++ b/bitbake/lib/toaster/contrib/tts/runner.py
@@ -146,7 +146,7 @@ def execute_tests(dir_under_test, testname):
 
     except Exception as exc:
         import traceback
-        config.logger.error("Exception while running test. Tracedump: \n%s", traceback.format_exc(exc))
+        config.logger.error("Exception while running test. Tracedump: \n%s", traceback.format_exc())
     finally:
         os.chdir(crt_dir)
     return len(result.failures)
@@ -211,7 +211,7 @@ def main():
 
     except ShellCmdException as exc:
         import traceback
-        config.logger.error("Error while setting up testing. Traceback: \n%s", traceback.format_exc(exc))
+        config.logger.error("Error while setting up testing. Traceback: \n%s", traceback.format_exc())
     finally:
         if need_cleanup and testdir is not None:
             clean_up(testdir)
diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py
index caad2af..61737c7 100644
--- a/bitbake/lib/toaster/orm/models.py
+++ b/bitbake/lib/toaster/orm/models.py
@@ -1217,7 +1217,7 @@ class LayerIndexLayerSource(LayerSource):
             import traceback
             if proxy_settings is not None:
                 logger.info("EE: Using proxy %s" % proxy_settings)
-            logger.warning("EE: could not connect to %s, skipping update: %s\n%s" % (self.apiurl, e, 
traceback.format_exc(e)))
+            logger.warning("EE: could not connect to %s, skipping update: %s\n%s" % (self.apiurl, e, 
traceback.format_exc()))
             return
 
         # update branches; only those that we already have names listed in the
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py
index 5ceeb6b..0254876 100755
--- a/bitbake/lib/toaster/toastergui/views.py
+++ b/bitbake/lib/toaster/toastergui/views.py
@@ -761,7 +761,7 @@ def _get_dir_entries(build_id, target_id, start):
 
         except Exception as e:
             print("Exception ", e)
-            traceback.print_exc(e)
+            traceback.print_exc()
 
     # sort by directories first, then by name
     rsorted = sorted(response, key=lambda entry :  entry['name'])


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]