Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

When I run "hg convert" to convert a Subversion repository to Mercurial, I get this error:

fetching revision log for "/trunk" from 1538 to 0
run hg sink post-conversion action
Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.6/mercurial/", line 46, in _runcatch
    return _dispatch(ui, args)
  File "/usr/lib/pymodules/python2.6/mercurial/", line 454, in _dispatch
    return runcommand(lui, repo, cmd, fullargs, ui, options, d)
  File "/usr/lib/pymodules/python2.6/mercurial/", line 324, in runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "/usr/lib/pymodules/python2.6/mercurial/", line 505, in _runcommand
    return checkargs()
  File "/usr/lib/pymodules/python2.6/mercurial/", line 459, in checkargs
    return cmdfunc()
  File "/usr/lib/pymodules/python2.6/mercurial/", line 453, in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
  File "/usr/lib/pymodules/python2.6/mercurial/", line 386, in check
    return func(*args, **kwargs)
  File "/usr/lib/pymodules/python2.6/hgext/convert/", line 229, in convert
    return convcmd.convert(ui, src, dest, revmapfile, **opts)
  File "/usr/lib/pymodules/python2.6/hgext/convert/", line 398, in convert
  File "/usr/lib/pymodules/python2.6/hgext/convert/", line 312, in convert
    parents = self.walktree(heads)
  File "/usr/lib/pymodules/python2.6/hgext/convert/", line 109, in walktree
    commit = self.cachecommit(n)
  File "/usr/lib/pymodules/python2.6/hgext/convert/", line 267, in cachecommit
    commit = self.source.getcommit(rev)
  File "/usr/lib/pymodules/python2.6/hgext/convert/", line 433, in getcommit
    self._fetch_revisions(revnum, stop)
  File "/usr/lib/pymodules/python2.6/hgext/convert/", line 814, in _fetch_revisions
    for entry in stream:
  File "/usr/lib/pymodules/python2.6/hgext/convert/", line 122, in __iter__
    entry = pickle.load(self._stdout)
IOError: [Errno 4] Interrupted system call
abort: Interrupted system call

Apparently, it is possible to restart a read on EINTR but how would I do that with pickle.load()? Also I wonder where that signal comes from? I suspect it's SIGCHILD but shouldn't popen() handle that?

share|improve this question
up vote 0 down vote accepted

It appears to be a bug in Mercurial. I have no idea why it only harasses my installation. My bug report is here: Issue2196.

The bug has an attachment with a patch for Mercurial 1.6.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.