MemoryError - recv for HTTP through Proxy
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
Medium
|
Eric Holmberg |
Bug Description
When using a repository with a 4MB pack where the traffic has to go through a proxy server, the proxy server fragments the HTTP packets into 1460-byte blocks (as sniffed with Ethereal/
OS: Windows XP
BZR versions: All (have tried >= 1.2 and most recently 1.3)
Python version: 2.5
bzr: ERROR: exceptions.
Traceback (most recent call last):
File "c:\python25\
py", line 834, in run_bzr_
return run_bzr(argv)
File "c:\python25\
py", line 790, in run_bzr
ret = run(*run_argv)
File "c:\python25\
py", line 492, in run_argv_aliases
return self.run(
File "c:\python25\
py", line 927, in run
hardlink=
File "c:\python25\
", line 941, in sprout
revision_
File "c:\python25\
s.py", line 127, in read_locked
return unbound(self, *args, **kwargs)
File "c:\python25\
y.py", line 1036, in sprout
dest_
File "c:\python25\
y.py", line 949, in fetch
return inter.fetch(
File "c:\python25\
s.py", line 165, in write_locked
return unbound(self, *args, **kwargs)
File "c:\python25\
y.py", line 2759, in fetch
revision_
File "c:\python25\
ack_repo.py", line 589, in pack
return self._create_
File "c:\python25\
ack_repo.py", line 722, in _create_
self.
File "c:\python25\
ack_repo.py", line 686, in _copy_text_texts
self.
File "c:\python25\
ack_repo.py", line 807, in _copy_nodes_graph
write_index, output_lines, pb, readv_group_iter, total_items):
File "c:\python25\
ack_repo.py", line 830, in _do_copy_
izip(
File "c:\python25\
line 272, in _iter_records
for record in self._iter_
File "c:\python25\
line 277, in _iter_record_
record_kind = self.reader_func(1)
File "c:\python25\
line 218, in reader_func
return self._source.
File "c:\python25\
line 177, in read
self._next()
File "c:\python25\
line 172, in _next
length, data = self.readv_
File "c:\python25\
\http\__init__.py", line 250, in _readv
data = rfile.read(size)
File "c:\python25\
\http\response.py", line 209, in read
data = self._file.
File "C:\Python25\
data = self._sock.
File "C:\Python25\
s = self.fp.read(amt)
File "C:\Python25\
data = self._sock.
MemoryError
This *might* be similar to bug 115781, specifically <https:/ /bugs.edge. launchpad. net/bzr/ +bug/115781/ comments/ 10>? i.e. maybe we should never try to read more than than 64k from a socket on windows? The fact that the bzr process is only taking 24MB does make it sound like it might be a kernel buffer issue. This is just guesswork, though.