diff --git a/cvat/apps/engine/views.py b/cvat/apps/engine/views.py index d507d7e9..64c7dfe3 100644 --- a/cvat/apps/engine/views.py +++ b/cvat/apps/engine/views.py @@ -1221,10 +1221,14 @@ class TaskViewSet(viewsets.GenericViewSet, mixins.ListModelMixin, elif job.is_queued: response = { "state": "Queued" } elif job.is_failed: - response = { "state": "Failed", "message": job.exc_info } + # FIXME: It seems that in some cases exc_info can be None. + # It's not really clear how it is possible, but it can + # lead to an error in serializing the response + # https://github.com/opencv/cvat/issues/5215 + response = { "state": "Failed", "message": job.exc_info or "Unknown error" } else: response = { "state": "Started" } - if 'status' in job.meta: + if job.meta.get('status'): response['message'] = job.meta['status'] response['progress'] = job.meta.get('task_progress', 0.)