compute checksum crash when LazyFileContent used
Bug #1420352 reported by
Maciej Kisielewski
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
PlainBox (Toolkit) |
Fix Released
|
High
|
Maciej Kisielewski |
Bug Description
plainbox crashes when comparing units if at least one of them is using LazyFileContent
See attached file with test for details
Related branches
lp:~kissiel/checkbox/fix-1420352
- Zygmunt Krynicki (community): Approve
-
Diff: 11 lines (+1/-1)1 file modifiedplainbox/plainbox/impl/secure/providers/v1.py (+1/-1)
Changed in plainbox: | |
milestone: | none → 0.20 |
Changed in plainbox: | |
assignee: | nobody → Maciej Kisielewski (kissiel) |
status: | New → In Progress |
Changed in plainbox: | |
status: | In Progress → Fix Committed |
Changed in plainbox: | |
importance: | Undecided → High |
Changed in plainbox: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
Backtrace from Checkbox-Touch kissiel/ test/checkbox/ checkbox- touch/py/ checkbox_ touch.py" , line 171, in wrapper kissiel/ test/checkbox/ checkbox- touch/py/ checkbox_ touch.py" , line 362, in start_session context. add_provider( provider) kissiel/ test/checkbox/ checkbox- touch/lib/ py/plainbox/ impl/session/ state.py" , line 334, in add_provider add_unit( unit) kissiel/ test/checkbox/ checkbox- touch/lib/ py/plainbox/ impl/session/ state.py" , line 350, in add_unit kissiel/ test/checkbox/ checkbox- touch/lib/ py/plainbox/ impl/unit/ unit.py" , line 440, in __eq__ kissiel/ test/checkbox/ checkbox- touch/lib/ py/plainbox/ impl/unit/ unit.py" , line 717, in checksum checksum( ) kissiel/ test/checkbox/ checkbox- touch/lib/ py/plainbox/ impl/unit/ unit.py" , line 740, in _compute_checksum default_ fn) python3. 4/json/ __init_ _.py", line 237, in dumps .encode( obj) python3. 4/json/ encoder. py", line 192, in encode python3. 4/json/ encoder. py", line 250, in iterencode kissiel/ test/checkbox/ checkbox- touch/lib/ py/plainbox/ impl/unit/ unit.py" , line 735, in default_fn
Traceback (most recent call last):
File "/home/
result = func(*args, **kwargs)
File "/home/
self.
File "/home/
self.
File "/home/
if unit in self._unit_list:
File "/home/
return self.checksum == other.checksum
File "/home/
self._checksum = self._compute_
File "/home/
default=
File "/usr/lib/
**kw)
File "/usr/lib/
chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib/
return _iterencode(o, 0)
File "/home/
raise TypeError
TypeError