This is the error message:
openBinaryFile: does not exist (No such file or directory)
The crash happens in Darcs.UI.Commands.Repair.brokenPristine where we
compare the new (repaired) pristine returned by replayRepositoryInTemp
with the recorded state. This pristine refers to files in the temporary
location /tmp/darcs-check which no longer exists.
To reproduce, run tests/repair.sh manually and look at the output. The
bug is not detected by the test script because we expect 'darcs check'
to fail at this point. I noticed it only because I was running the test
script manually to debug my latest refactorings.
It would be nice if we could distinguish between expected failure (such
as darcs check when there is a problem with the repository) and failure
that results from a crash, by returning a special return code for
unhandled exceptions (i.e. crashes) at the top level.