log+ transport apparently breaks readv iterator
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
High
|
Martin Pool |
Bug Description
I've a couple of times seen code calling in to to readv break with the log+ decorator but succeed otherwise. I think the decorator is not dealing with the iterator correctly.
mbp@lithe% ./bzr push -Dtransport log+sftp://
/home/mbp/
import md5
/usr/lib/
from sha import *
bzr: ERROR: exceptions.
Traceback (most recent call last):
File "/home/
return the_callable(*args, **kwargs)
File "/home/
ret = run(*run_argv)
File "/home/
return self.run(
File "/home/
use_
File "/home/
stop_
File "/home/
result = unbound(self, *args, **kwargs)
File "/home/
_override_
File "/home/
result = callable(*args, **kwargs)
File "/home/
result = self._basic_
File "/home/
graph=graph)
File "/home/
result = unbound(self, *args, **kwargs)
File "/home/
overwrite, graph)
File "/home/
self.
File "/home/
result = unbound(self, *args, **kwargs)
File "/home/
pb=nested_pb)
File "/home/
find_
File "/home/
result = unbound(self, *args, **kwargs)
File "/home/
pb, find_ghosts, fetch_spec=
File "/home/
self.__fetch()
File "/home/
self.
File "/home/
stream, from_format, [])
File "/home/
return self._locked_
File "/home/
self.
File "/home/
bytes = adapter.
File "/home/
[compressio
File "/home/
ordering, include_
File "/home/
for record in generator.
File "/home/
for record in self._work():
File "/home/
'unordered', True):
File "/home/
ordering, include_
File "/home/
global_map)
File "/home/
allow_
File "/home/
for key, data in self._read_
File "/home/
data = raw_records.next()
File "/home/
for names, read_func in reader.
File "/home/
self.
File "/home/
format = self._read_line()
File "/home/
line = self._source.
File "/home/
self._next()
File "/home/
length, data = self.readv_
AttributeError: 'list' object has no attribute 'next'
bzr 1.13dev on python 2.6.1 (linux2)
arguments: ['./bzr', 'push', '-Dtransport', 'log+sftp://
encoding: 'UTF-8', fsenc: 'UTF-8', lang: 'en_AU.UTF-8'
plugins:
avahi /usr/lib/
builddeb /home/mbp/
bzrtools /home/mbp/
dbus /usr/lib/
groupcompress /home/mbp/
gtk /home/mbp/
launchpad /home/mbp/
loggerhead /home/mbp/
netrc_
pqm /home/mbp/
revnocache /home/mbp/
search /home/mbp/
usertest /home/mbp/
*** Bazaar has encountered an internal error.
Please report a bug at https:/
including this traceback, and a description of what you
were doing when the error occurred.
Related branches
- John A Meinel: Approve
- Diff: 230 lines
Changed in bzr: | |
importance: | Undecided → High |
status: | New → Confirmed |
Changed in bzr: | |
status: | Confirmed → In Progress |
Changed in bzr: | |
milestone: | none → 1.17 |
status: | Fix Committed → Fix Released |
One option is to change the debug code from being a decorator to a sideband, like -Dhpss is, so that if something's wrong it will default to not tracing, rather than interfering with correct operation. But that's a bit harder perhaps to fit in with all the different transport implementations.