Trace from Slave (18.04) u@u-Precision-5530:~$ checkbox-cli slave local script com.canonical.certification::module returned invalid RFC822 data: Unexpected non-empty line: 'depend\n' (line 264) Exception in thread Thread-71: Traceback (most recent call last): File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner self.run() File "/usr/lib/python3/dist-packages/plainbox/impl/session/remote_assistant.py", line 116, in run self._job_id, self._sa.buffered_ui, False) File "/usr/lib/python3/dist-packages/plainbox/impl/decorators.py", line 142, in wrapper raise exc File "/usr/lib/python3/dist-packages/plainbox/impl/decorators.py", line 136, in wrapper return func(*args, **kwargs) File "/usr/lib/python3/dist-packages/plainbox/impl/session/assistant.py", line 1296, in run_job UsageExpectation.of(self).enforce() File "/usr/lib/python3/dist-packages/plainbox/impl/developer.py", line 222, in enforce raise UnexpectedMethodCall(self.cls, fn_name, allowed_pairs) plainbox.impl.developer.UnexpectedMethodCall: Uh, oh... You are not expected to call SessionAssistant.run_job() at this time. If you see this message then there is a bug somewhere in your code. We are sorry for this. Perhaps the documentation is flawed, incomplete or confusing. Please reach out to us if this happens more often than you'd like. The set of allowed calls, at this time, is: - call SessionAssistant.export_to_file() to to export the results to a file. - call SessionAssistant.export_to_stream() to to export the results to a stream. - call SessionAssistant.export_to_transport() to to export the results and send them. - call SessionAssistant.filter_jobs_by_categories() to to select the jobs that match particular category. - call SessionAssistant.finalize_session() to to mark the session as complete. - call SessionAssistant.finish_bootstrap() to to finish bootstrapping. - call SessionAssistant.get_category() to to access the definition of ant category. - call SessionAssistant.get_dynamic_todo_list() to to see what is yet to be executed. - call SessionAssistant.get_job() to to access the definition of any job. - call SessionAssistant.get_job_state() to to access the state of any job. - call SessionAssistant.get_mandatory_jobs() to to get all mandatory job ids. - call SessionAssistant.get_participating_categories() to to access participating categories. - call SessionAssistant.get_session_dir() to to get the path where current session isstored. - call SessionAssistant.get_session_id() to to get the id of currently running session. - call SessionAssistant.get_static_todo_list() to to see what is meant to be executed. - call SessionAssistant.get_test_plan() to to access the definition of any test plan. - call SessionAssistant.hand_pick_jobs() to to generate new selection and use it. - call SessionAssistant.remove_all_filters() to to remove all filters. - call SessionAssistant.use_alternate_selection() to to change the selection. - call SessionAssistant.use_job_result() to remember the result of this job. Refer to the documentation of SessionAssistant for details. TIP: python -m pydoc plainbox.impl.session.assistant.SessionAssistant