SessionState.update_desired_job_list crashes on KeyError

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

Bug Description

If you create a SessionState that doesn't know about any job and the call .update_desired_job_list() with some sample job
then the DependencySolver will crash on KeyError.

According to the docstring of the update_desired_job_list() that should never happen.

Traceback (most recent call last):
  File "./run.py", line 30, in <module>
    main()
  File "./run.py", line 25, in main
    res = run_job(job)
  File "/home/zyga/checkbox-touch/checkbox-touch/py/checkbox_touch.py", line 291, in run_job
    session_mgr.state.update_desired_job_list([get_job(job_id)])
  File "/usr/lib/python3/dist-packages/plainbox/impl/session/state.py", line 437, in update_desired_job_list
    self._job_list, self._desired_job_list)
  File "/usr/lib/python3/dist-packages/plainbox/impl/depmgr.py", line 214, in resolve_dependencies
    return cls(job_list)._solve(visit_list)
  File "/usr/lib/python3/dist-packages/plainbox/impl/depmgr.py", line 247, in _solve
    self._visit(job)
  File "/usr/lib/python3/dist-packages/plainbox/impl/depmgr.py", line 261, in _visit
    color = self._job_color_map[job.id]
KeyError: '2013.com.canonical.certification::__expresscard__'

Related branches

Zygmunt Krynicki (zyga)
Changed in plainbox:
assignee: nobody → Zygmunt Krynicki (zkrynicki)
importance: Undecided → Low
status: New → In Progress
milestone: none → 0.7
Changed in plainbox:
milestone: 0.7 → 0.10
Daniel Manrique (roadmr)
Changed in plainbox:
milestone: 0.10 → 0.11
Daniel Manrique (roadmr)
Changed in plainbox:
milestone: 0.11 → future
Zygmunt Krynicki (zyga)
Changed in plainbox:
assignee: Zygmunt Krynicki (zyga) → nobody
status: In Progress → Confirmed
Zygmunt Krynicki (zyga)
Changed in plainbox:
milestone: future → 0.21
assignee: nobody → Zygmunt Krynicki (zyga)
Zygmunt Krynicki (zyga)
Changed in plainbox:
status: Confirmed → 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.