Procházet zdrojové kódy

process.py: Handle SystemExit exception to eliminate backtrace

With an invalid layer, the desired error output should be:

  ERROR: The following layer directories do not exist:
  ERROR:    /this_path_does_not_exist
  ERROR: Please check BBLAYERS in .../build-invalid-layer/conf/bblayers.conf

Instead we were met with a backtrace:

Traceback (most recent call last):
  File "/scratch1/fray/xilinx/poky/bitbake/bin/bitbake", line 36, in <module>
    cookerdata.CookerConfiguration()))
...
  File "/scratch1/fray/xilinx/poky/bitbake/lib/bb/cookerdata.py", line 267, in parseBaseConfiguration
    self.data = self.parseConfigurationFiles(self.prefiles, self.postfiles)
  File "/scratch1/fray/xilinx/poky/bitbake/lib/bb/cookerdata.py", line 358, in parseConfigurationFiles
    sys.exit(1)
SystemExit: 1

Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mark Hatle před 3 roky
rodič
revize
3a2503c785
1 změnil soubory, kde provedl 1 přidání a 1 odebrání
  1. 1 1
      lib/bb/server/process.py

+ 1 - 1
lib/bb/server/process.py

@@ -368,7 +368,7 @@ class ServerCommunicator():
         ret, exc = self.recv.get()
         # Should probably turn all exceptions in exc back into exceptions?
         # For now, at least handle BBHandledException
-        if exc and "BBHandledException" in exc:
+        if exc and ("BBHandledException" in exc or "SystemExit" in exc):
             raise bb.BBHandledException()
         return ret, exc