program crashes with "bzr: ERROR: socket.error: (4, 'Interrupted system call')"
Bug #583941 reported by
Jelmer Vernooij
This bug affects 4 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
Medium
|
Andrew Bennetts | ||
2.1 |
Fix Released
|
Medium
|
Andrew Bennetts |
Bug Description
From http://
Trying to get the latest emacs source with:
bzr branch http://
bzr crashes with:
bzr: ERROR: socket.error: (4, 'Interrupted system call')
This has happened three time this afternoon. First was about 3 minutes
into the dowload, the last after more than an hour. Traceback attached.
Related branches
lp:~spiv/bzr/sigwinch-without-signalmodule-583941
Rejected
for merging
into
lp:bzr/2.1
- Andrew Bennetts: Disapprove
- Martin Packman (community): Abstain
-
Diff: 220 lines (+143/-13)4 files modifiedNEWS (+4/-5)
bzrlib/_sigwinch_handler_c.c (+112/-0)
bzrlib/osutils.py (+22/-7)
setup.py (+5/-1)
lp:~spiv/bzr/no-sigwinch-583941
- Vincent Ladeuil: Approve
- Martin Pool: Pending requested
- Martin Packman: Pending requested
-
Diff: 204 lines (+66/-40)4 files modifiedNEWS (+7/-1)
bzrlib/osutils.py (+47/-35)
bzrlib/tests/test_osutils.py (+12/-0)
bzrlib/ui/text.py (+0/-4)
Changed in bzr: | |
status: | New → Triaged |
importance: | Undecided → Medium |
To post a comment you must log in.
The cause of the EINTR is likely the same as in bug 572055, and the mitigation for that seems to be in 2.1.1 already so not much more we can do there.
The root problem is in socket._fileobject as tracked in <http:// bugs.python. org/issue162820 5> which is fixed in Python trunk, and the problem with our mitigation is tracked in <http:// bugs.python. org/issue8354> which is fixed in Python trunk and the 2.6 branch.
When Debian finally upgrade to 2.6 this problem should vanish for them, but gettting the first Python bug fix backported as well would be good. Otherwise the only options are ripping out the SIGWINCH code, or changing bzrlib. transport. http._urllib2_ wrappers not to use socket._fileobject but something more robust.