I started running the certification whitelist, the system crashed while doing the suspend test so I had to restart. I know there's a bug with restarting sessions with checkbox-gui, so I tried resuming this session using checkbox-cli. It asked me whether to resume the session, I said yes, and I immediately got this trace:
CRITICAL plainbox.crashes: Executable 'checkbox' invoked with Namespace(check_config=False, command=<checkbox_ng.commands.cli.CliCommand object at 0x7f41593382b0>, debug_console=False, debug_interrupt=False, exclude_pattern_list=[], include_pattern_list=[], log_level=None, not_interactive=False, pdb=False, providers=None, trace=[], whitelist=[]) has crashed
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 513, in dispatch_and_catch_exceptions
return self.dispatch_command(ns)
File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 509, in dispatch_command
return ns.command.invoked(ns)
File "/usr/lib/python3/dist-packages/checkbox_ng/commands/cli.py", line 615, in invoked
self.settings, ns).run()
File "/usr/lib/python3/dist-packages/checkbox_ng/commands/cli.py", line 257, in run
job_list, previous_session_file)
File "/usr/lib/python3/dist-packages/plainbox/impl/session/manager.py", line 255, in load_session
state = SessionResumeHelper(job_list).resume(data, early_cb)
File "/usr/lib/python3/dist-packages/plainbox/impl/session/resume.py", line 215, in resume
return self._resume_json(json_repr, early_cb)
File "/usr/lib/python3/dist-packages/plainbox/impl/session/resume.py", line 237, in _resume_json
self.job_list).resume_json(json_repr, early_cb)
File "/usr/lib/python3/dist-packages/plainbox/impl/session/resume.py", line 429, in resume_json
return self._build_SessionState(session_repr, early_cb)
File "/usr/lib/python3/dist-packages/plainbox/impl/session/resume.py", line 455, in _build_SessionState
self._restore_SessionState_jobs_and_results(session, session_repr)
File "/usr/lib/python3/dist-packages/plainbox/impl/session/resume.py", line 491, in _restore_SessionState_jobs_and_results
self._process_job(session, jobs_repr, results_repr, job_id)
File "/usr/lib/python3/dist-packages/plainbox/impl/session/resume.py", line 562, in _process_job
result = self._build_JobResult(result_repr)
File "/usr/lib/python3/dist-packages/plainbox/impl/session/resume.py", line 639, in _build_JobResult
result_repr, key='io_log_filename', value_type=str)
File "/usr/lib/python3/dist-packages/plainbox/impl/session/resume.py", line 752, in _validate
raise CorruptedSessionError(error_msg)
plainbox.impl.session.resume.CorruptedSessionError: Value of key 'io_log_filename' cannot be None
Traceback (most recent call last):
File "/usr/bin/checkbox-cli", line 9, in <module>
load_entry_point('checkbox-ng==0.4.dev', 'console_scripts', 'checkbox-cli')()
File "/usr/lib/python3/dist-packages/checkbox_ng/main.py", line 175, in checkbox_cli
CheckBoxNGTool().main(['checkbox-cli'] + args))
File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 291, in main
return self.dispatch_and_catch_exceptions(ns)
File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 513, in dispatch_and_catch_exceptions
return self.dispatch_command(ns)
File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 509, in dispatch_command
return ns.command.invoked(ns)
File "/usr/lib/python3/dist-packages/checkbox_ng/commands/cli.py", line 615, in invoked
self.settings, ns).run()
File "/usr/lib/python3/dist-packages/checkbox_ng/commands/cli.py", line 257, in run
job_list, previous_session_file)
File "/usr/lib/python3/dist-packages/plainbox/impl/session/manager.py", line 255, in load_session
state = SessionResumeHelper(job_list).resume(data, early_cb)
File "/usr/lib/python3/dist-packages/plainbox/impl/session/resume.py", line 215, in resume
return self._resume_json(json_repr, early_cb)
File "/usr/lib/python3/dist-packages/plainbox/impl/session/resume.py", line 237, in _resume_json
self.job_list).resume_json(json_repr, early_cb)
File "/usr/lib/python3/dist-packages/plainbox/impl/session/resume.py", line 429, in resume_json
return self._build_SessionState(session_repr, early_cb)
File "/usr/lib/python3/dist-packages/plainbox/impl/session/resume.py", line 455, in _build_SessionState
self._restore_SessionState_jobs_and_results(session, session_repr)
File "/usr/lib/python3/dist-packages/plainbox/impl/session/resume.py", line 491, in _restore_SessionState_jobs_and_results
self._process_job(session, jobs_repr, results_repr, job_id)
File "/usr/lib/python3/dist-packages/plainbox/impl/session/resume.py", line 562, in _process_job
result = self._build_JobResult(result_repr)
File "/usr/lib/python3/dist-packages/plainbox/impl/session/resume.py", line 639, in _build_JobResult
result_repr, key='io_log_filename', value_type=str)
File "/usr/lib/python3/dist-packages/plainbox/impl/session/resume.py", line 752, in _validate
raise CorruptedSessionError(error_msg)
plainbox.impl.session.resume.CorruptedSessionError: Value of key 'io_log_filename' cannot be None
I'll attach the archived, corrupted session that prompted this.
If you feel that resuming a checkbox-gui session with checkbox-cli should not be supported, feel free to mark this as won't fix :)
Can this be the case where we had multiple plainboxen-based tools running?