SIGQUIT debugging breaks networking because httplib (and others?) don't handle EINTR properly
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Confirmed
|
Wishlist
|
Unassigned |
Bug Description
If you're wondering why your branch over http: is going terribly slowly, you can type C-\ to break into pdb, but when you type 'c' to continue the http networking layer will die with an interrupted system call:
Traceback (most recent call last):
File "/home/
return run_bzr(argv)
File "/home/
ret = run(*run_argv)
File "/home/
return self.run(
File "/home/
possible_
File "/home/
revision_
File "/home/
return unbound(self, *args, **kwargs)
File "/home/
dest_
File "/home/
return inter.fetch(
File "/home/
return unbound(self, *args, **kwargs)
File "/home/
pb=pb)
File "/home/
self.__fetch()
File "/home/
self.
File "/home/
for knit_kind, file_id, revisions in data_to_fetch:
File "/home/
file_ids = self.fileids_
File "/home/
selected_
File "/home/
line_
File "/home/
for line, version_id in line_iterator:
File "/home/
enumerate(
File "/home/
izip(
File "/home/
for pos, data in self._transport
File "/home/
f = self._get_
File "/home/
code, f = self._get(relpath, ranges)
File "/home/
data = handle_
File "/home/
return HttpMultipartRa
File "/home/
RangeFile.
File "/home/
self._data = input_file.read()
File "socket.py", line 291, in read
data = self._sock.
File "httplib.py", line 529, in read
s = self.fp.read(amt)
File "socket.py", line 309, in read
data = self._sock.
error: (4, 'Interrupted system call')
Related branches
- Andrew Bennetts: Disapprove
- John A Meinel: Approve
- Martin Packman (community): Abstain
-
Diff: 94 lines (+42/-2)3 files modifiedNEWS (+16/-0)
bzrlib/breakin.py (+4/-2)
bzrlib/osutils.py (+22/-0)
Changed in bzr: | |
assignee: | nobody → v-ladeuil |
Changed in bzr: | |
assignee: | v-ladeuil → nobody |
summary: |
- SIGQUIT debugging breaks networking + SIGQUIT debugging breaks networking because httplib (and others?) don't + handle EINTR properly |
Changed in bzr: | |
assignee: | Andrew Bennetts (spiv) → nobody |
tags: | added: check-for-breezy |
It also drops SSH connections.