New submission from Zach <[EMAIL PROTECTED]>: 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 to do 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: [EMAIL PROTECTED]:~/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 <[EMAIL PROTECTED]>**20060616160213] [EMAIL PROTECTED]:~/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. The machine has a relatively fast 1 GHz CPU, 1 GB of RAM, very low system load. If it isn't connection speed, and my memory and cpu are fine then what is the bottleneck? I have used CVS to pull significantly bigger repos and it took no where near 50 minutes, and darcs ended up not even pulling anything. Regards, Zach ---------- messages: 1554 nosy: EricKow, beschmi, droundy, netrek, tommy status: unread title: Problem with darcs pull hanging or maybe infinite loop?? ____________________________________ Darcs issue tracker <[EMAIL PROTECTED]> <http://bugs.darcs.net/issue424> ____________________________________ _______________________________________________ darcs-devel mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-devel
