Using tuned_gzip.GzipFile.readline corrupts data on Python 2.7
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
Medium
|
Unassigned |
Bug Description
On Python 2.7 bt.test_
Traceback (most recent call last):
File "/home/
return fn(*args)
File "/home/
testMethod()
File "/home/
self.
File "/home/
return [self.cache_
File "/home/
diff = self.get_
File "/home/
return MultiParent.
File "/home/
return cls._from_
File "/home/
hunks[
IndexError: list index out of range
The root cause here is scary, and caused by the partial replacement of gzip internals in tuned_gzip clashing with later upstream changes, similar to bug 614476. Can cause all sorts of mayhem:
Python 2.7.0+ (trunk, Oct 1 2010, 18:14:22) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from bzrlib.tuned_gzip import bytes_to_gzip, GzipFile
>>> from StringIO import StringIO
>>> GzipFile(
['a\n', 'b\n']
>>> g = GzipFile(
>>> g.readline()
'a\n'
>>> g.read()
'\na\n'
The revision that broke us is <http://
Related branches
- Vincent Ladeuil: Needs Fixing
-
Diff: 340 lines (+56/-28)10 files modifiedbzrlib/builtins.py (+1/-1)
bzrlib/knit.py (+4/-3)
bzrlib/multiparent.py (+4/-3)
bzrlib/repofmt/weaverepo.py (+5/-4)
bzrlib/repository.py (+1/-1)
bzrlib/tests/per_versionedfile.py (+2/-2)
bzrlib/tests/test_knit.py (+3/-3)
bzrlib/tests/test_tuned_gzip.py (+18/-9)
bzrlib/tuned_gzip.py (+9/-2)
doc/en/release-notes/bzr-2.3.txt (+9/-0)
Changed in bzr: | |
importance: | Undecided → Medium |
status: | New → Confirmed |
tags: |
added: python27 removed: python2.7 |
Changed in bzr: | |
status: | Confirmed → In Progress |
milestone: | none → 2.3b5 |
Changed in bzr: | |
status: | In Progress → Fix Released |