[darcs-users] darcs problem

Zach netrek at gmail.com
Wed Mar 21 02:32:06 UTC 2007


I am running darcs on a remote shell account using ssh. I am not root
on this machine just a regular user and darcs wasn't installed (Debian
system) so I downloaded the latest darcs Linux x86 binary I coud find,
darcs1.0.8, and ran that but darcs hangs when I try to download
patches.

The repo I am trying to update needs 490 new patches pulled.

This machine is sitting on a T1 university line so bandwidth and
latency shouldn't be an issue. I used top to verify no one else was
eating up all the cpu or memory.

When I run darcs in Debian on my home machine (dialup) there is no
problem though it does take a long time for it to pull all the patch
information if there are many however it does eventually get them all.

I'm using:
~/darcs/darcs1.0.8  pull http://james.tooraweenah.com/darcs/netrek-server/

After I execute this command it takes a good 5 minutes before it comes
back telling me how many patches it's found! This seems a bit slow for
a machine on a T1 line.

Is there some race condition in darcs?

When I did "a" to grab all 490 patches it hung. It did work when I
grabbed just 10 patches but I timed it and it took 9 minutes! And each
of these patches are very small, as in only a few kb each.

I also tried:
 LD_LIBRARY_PATH=~/darcs ~/darcs/darcs1.0.8 pull
http://james.tooraweenah.com/darcs/netrek-server/

But that didn't seem to result in any increase in the speed.

Another issue, I have not changed any files in this repo (neither
manually nor did I record any changes) yet it is saying my repo is in
an inconsistent state! Here is the output:

Shall I pull this patch? (11/490)  [ynWvpxqadjk], or ? for help: d
We have conflicts in the following files:
./Vanilla/ChangeLog ./Vanilla/PROJECTS ./Vanilla/ntserv/genspkt.c
./Vanilla/robotd/decide.c ./Vanilla/robotd/socket.c
./Vanilla/robotd/update_players.c ./Vanilla/robotd/util.c

darcs failed:  user error (Error applying patch to recorded.
Running 'darcs repair' on the target repository may help.
./Vanilla/aclocal.m4: openBinaryFile: does not exist (No such file or
directory))
Your repository is now in an inconsistent state.
This must be fixed by running darcs repair.

How can I fix my repo? I've never used darcs repair before.

Here is some more info:

chaos at bismuth:~/www/netrek-server$ ~/darcs/darcs1.0.8 --exact-version
darcs compiled on Jul 18 2006, at 15:08:59
# configured Tue Jul 18 15:03:25 JST 2006
./configure --with-static-libs

Context:

[TAG 1.0.8
Tommy Pettersson <ptp at lysator.liu.se>**20060616160213]


chaos at tellurium:~/www$ uname -a
Linux tellurium.club.cc.cmu.edu 2.6.12.6-xenu #1 Fri Dec 30 14:15:09
EST 2005 i86 GNU/Linux

Here are the strace results:

% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 51.05   15.314900          34    445415           rt_sigprocmask
 20.57    6.171687       12393       498           waitpid
  9.22    2.767199        5568       497           fork
  6.52    1.957659          32     61350        21 sigreturn
  5.70    1.710863        3355       510         6 unlink
  5.67    1.701966        1123      1516         7 open
  0.39    0.116336          47      2485         1 read
  0.24    0.073289          49      1509           close
  0.14    0.040587          16      2531           fstat64
  0.07    0.019928          10      2030           fcntl64
  0.05    0.015212          10      1476           _llseek
  0.05    0.014753         151        98         1 lstat64
  0.05    0.014592          14      1060      1011 ioctl
  0.05    0.013914          26       529           getcwd
  0.04    0.012338          25       493           old_mmap
  0.03    0.009270          19       494           munmap
  0.03    0.008079          72       112        64 stat64
  0.03    0.007730          15       503           getpid
  0.02    0.007299          14       511           gettimeofday
  0.02    0.005116        1279         4         2 rmdir
  0.01    0.004180        2090         2           rename
  0.01    0.003922         123        32           chdir
  0.01    0.003346        1673         2           mkdir
  0.01    0.001937         969         2           ftruncate64
  0.01    0.001839         920         2           chmod
  0.01    0.001834          37        50           write
  0.00    0.001335        1335         1           link
  0.00    0.000707          35        20           mmap2
  0.00    0.000337          84         4           getdents64
  0.00    0.000133          10        14           rt_sigaction
  0.00    0.000081           9         9           select
  0.00    0.000041          10         4           times
  0.00    0.000031          16         2           uname
  0.00    0.000026          13         2           setitimer
  0.00    0.000025          13         2           brk
  0.00    0.000007           7         1           vfork
------ ----------- ----------- --------- --------- ----------------
100.00   30.002498                523770      1113 total

The strace logfile was 68 MB (1.3 million lines!) after running darcs
for nearly 1 hour to pull the 409 patches! I killed the job. It looks
like darcs is doing something weird since when I again did the darcs
pull to see if it grabbed any of the 409 patches it had not done any
of them in that whole hour! So either something very bad happened or
darcs pulls all patches before it applies any of them or is not
keeping track of the patches it already is aware of which need to be
pulled if the job is interrupted. Perhaps darcs could dynamically
cache this stuff? I've attached the first and last 1,000 lines from
the strace logfile.

Regards,
Zach
-------------- next part --------------
A non-text attachment was scrubbed...
Name: head.darcs
Type: application/octet-stream
Size: 63098 bytes
Desc: not available
Url : http://lists.osuosl.org/pipermail/darcs-users/attachments/20070320/2e161695/attachment.obj 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tail.darcs
Type: application/octet-stream
Size: 53981 bytes
Desc: not available
Url : http://lists.osuosl.org/pipermail/darcs-users/attachments/20070320/2e161695/attachment-0001.obj 


More information about the darcs-users mailing list