From 2cd664097c29ad07b08c82d07a239ca199abbc9a Mon Sep 17 00:00:00 2001 From: David Reyna Date: Thu, 7 Sep 2017 21:50:47 -0700 Subject: toaster: handle early exceptions Stop the pending build and report to the user if there is an internal exception due to a git error, a bitbake server error, or if the server-only mode halts due to for example a user syntax error in a layer or recipe. These exceptions were not caught because they occure before the normal toastergui processing was started. [YOCTO #12056] Signed-off-by: David Reyna Signed-off-by: Richard Purdie --- lib/toaster/bldcontrol/management/commands/runbuilds.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/toaster/bldcontrol/management/commands/runbuilds.py b/lib/toaster/bldcontrol/management/commands/runbuilds.py index 8eacb5e89..791e53eab 100644 --- a/lib/toaster/bldcontrol/management/commands/runbuilds.py +++ b/lib/toaster/bldcontrol/management/commands/runbuilds.py @@ -79,6 +79,14 @@ class Command(BaseCommand): br.save() bec.be.lock = BuildEnvironment.LOCK_FREE bec.be.save() + # Cancel the pending build and report the exception to the UI + log_object = LogMessage.objects.create( + build = br.build, + level = LogMessage.EXCEPTION, + message = errmsg) + log_object.save() + br.build.outcome = Build.FAILED + br.build.save() def archive(self): for br in BuildRequest.objects.filter(state=BuildRequest.REQ_ARCHIVE): -- cgit 1.2.3-korg