checkbox-cli crashed while resuming a session after system hard freeze

Bug #1322253 reported by Daniel Manrique
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Next Generation Checkbox (CLI)
New
Undecided
Unassigned

Bug Description

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 :)

Revision history for this message
Daniel Manrique (roadmr) wrote :
Revision history for this message
Zygmunt Krynicki (zyga) wrote :

Can this be the case where we had multiple plainboxen-based tools running?

Revision history for this message
Daniel Manrique (roadmr) wrote :

I don't think so, because we already knew of that problem when this happened; thus, I'm pretty sure I'd already deleted the session directory and the autostart file for checkbox-sru :(

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.