setting via_job to None should be allowed

Bug #1442139 reported by Zygmunt Krynicki
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
PlainBox (Toolkit)
Fix Released
Critical
Zygmunt Krynicki

Bug Description

When resuming a checkbox-launcher session I saw the following crash.

Setting the via_job to None should be allowed.

CRITICAL plainbox.crashes: Executable 'checkbox-launcher' invoked with Namespace(color=None, command=<checkbox_ng.commands.launcher.LauncherCommand object at 0x7f5bc4bd8470>, debug_console=True, debug_interrupt=False, dont_suppress_output=False, dry_run=False, exclude_pattern_list=[], include_pattern_list=[], launcher='/home/zyga/checkbox/venv.fx/bin/checkbox-cli', log_level=None, non_interactive=False, pdb=False, secure_id=None, test_plan='plainbox.job', trace=[], url=None, whitelist=[]) has crashed
Traceback (most recent call last):
  File "/home/zyga/checkbox/plainbox/plainbox/impl/clitools.py", line 560, in dispatch_and_catch_exceptions
    return self.dispatch_command(ns)
  File "/home/zyga/checkbox/plainbox/plainbox/impl/clitools.py", line 556, in dispatch_command
    return ns.command.invoked(ns)
  File "/home/zyga/checkbox/checkbox-ng/checkbox_ng/commands/launcher.py", line 90, in invoked
    self.provider_loader, lambda: self.config, ns, launcher
  File "/home/zyga/checkbox/checkbox-ng/checkbox_ng/commands/newcli.py", line 150, in run
    return self.do_normal_sequence()
  File "/home/zyga/checkbox/checkbox-ng/checkbox_ng/commands/newcli.py", line 206, in do_normal_sequence
    self.run_all_selected_jobs()
  File "/home/zyga/checkbox/plainbox/plainbox/impl/commands/inv_run.py", line 719, in run_all_selected_jobs
    self.run_single_job(job)
  File "/home/zyga/checkbox/plainbox/plainbox/impl/commands/inv_run.py", line 723, in run_single_job
    self.run_single_job_with_ui(job, self.get_ui_for_job(job))
  File "/home/zyga/checkbox/plainbox/plainbox/impl/commands/inv_run.py", line 753, in run_single_job_with_ui
    self.state.update_job_result(job, job_result)
  File "/home/zyga/checkbox/plainbox/plainbox/impl/session/state.py", line 926, in update_job_result
    job.controller.observe_result(self, job, result)
  File "/home/zyga/checkbox/plainbox/plainbox/impl/ctrl.py", line 252, in observe_result
    self._process_local_result(session_state, job, result)
  File "/home/zyga/checkbox/plainbox/plainbox/impl/ctrl.py", line 368, in _process_local_result
    job_state_map[added_job.id].via_job = None
  File "/home/zyga/checkbox/plainbox/plainbox/impl/pod.py", line 289, in __set__
    new_value = assign_filter(instance, self, old_value, new_value)
  File "/home/zyga/checkbox/plainbox/plainbox/impl/session/jobs.py", line 248, in job_via_assign_filter
    raise TypeError("via_job must be the actual job, not the checksum")
TypeError: via_job must be the actual job, not the checksum
Traceback (most recent call last):
  File "/home/zyga/checkbox/venv.fx/bin/checkbox-launcher", line 9, in <module>
    load_entry_point('checkbox-ng==0.19.dev0', 'console_scripts', 'checkbox-launcher')()
  File "/home/zyga/checkbox/checkbox-ng/checkbox_ng/main.py", line 62, in launcher
    raise SystemExit(CheckboxLauncherTool().main(argv))
  File "/home/zyga/checkbox/plainbox/plainbox/impl/clitools.py", line 324, in main
    return self.dispatch_and_catch_exceptions(ns)
  File "/home/zyga/checkbox/plainbox/plainbox/impl/clitools.py", line 560, in dispatch_and_catch_exceptions
    return self.dispatch_command(ns)
  File "/home/zyga/checkbox/plainbox/plainbox/impl/clitools.py", line 556, in dispatch_command
    return ns.command.invoked(ns)
  File "/home/zyga/checkbox/checkbox-ng/checkbox_ng/commands/launcher.py", line 90, in invoked
    self.provider_loader, lambda: self.config, ns, launcher
  File "/home/zyga/checkbox/checkbox-ng/checkbox_ng/commands/newcli.py", line 150, in run
    return self.do_normal_sequence()
  File "/home/zyga/checkbox/checkbox-ng/checkbox_ng/commands/newcli.py", line 206, in do_normal_sequence
    self.run_all_selected_jobs()
  File "/home/zyga/checkbox/plainbox/plainbox/impl/commands/inv_run.py", line 719, in run_all_selected_jobs
    self.run_single_job(job)
  File "/home/zyga/checkbox/plainbox/plainbox/impl/commands/inv_run.py", line 723, in run_single_job
    self.run_single_job_with_ui(job, self.get_ui_for_job(job))
  File "/home/zyga/checkbox/plainbox/plainbox/impl/commands/inv_run.py", line 753, in run_single_job_with_ui
    self.state.update_job_result(job, job_result)
  File "/home/zyga/checkbox/plainbox/plainbox/impl/session/state.py", line 926, in update_job_result
    job.controller.observe_result(self, job, result)
  File "/home/zyga/checkbox/plainbox/plainbox/impl/ctrl.py", line 252, in observe_result
    self._process_local_result(session_state, job, result)
  File "/home/zyga/checkbox/plainbox/plainbox/impl/ctrl.py", line 368, in _process_local_result
    job_state_map[added_job.id].via_job = None
  File "/home/zyga/checkbox/plainbox/plainbox/impl/pod.py", line 289, in __set__
    new_value = assign_filter(instance, self, old_value, new_value)
  File "/home/zyga/checkbox/plainbox/plainbox/impl/session/jobs.py", line 248, in job_via_assign_filter
    raise TypeError("via_job must be the actual job, not the checksum")
TypeError: via_job must be the actual job, not the checksum

Related branches

Zygmunt Krynicki (zyga)
Changed in plainbox:
assignee: nobody → Zygmunt Krynicki (zyga)
importance: Undecided → Critical
status: New → In Progress
milestone: none → 0.21
Changed in plainbox:
status: In Progress → Fix Committed
Changed in plainbox:
status: Fix Committed → Fix Released
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.