Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .