On Fri, Feb 28, 2014 at 3:26 PM, Conley Owens <cco3@xxxxxxxxxxx> wrote: > $ git --version # This is just the git from MacPorts > git version 1.8.5.5 > $ sw_vers > ProductName: Mac OS X > ProductVersion: 10.8.5 > BuildVersion: 12F45 OK, I've tried using my own build from master, and I still get the same results. I've done a little more investigation and discovered it always hangs at: `atexit(notify_parent);` in `run-command.c:start_command` when running: trace: run_command: 'git-remote-https' 'aosp' 'https://android.googlesource.com/platform/external/tinyxml2' Could this have to do with the atexit implementation? (eg. limit on the number of functions that can be registered, etc) $ cc -v Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn) Target: x86_64-apple-darwin12.5.0 Thread model: posix > > test.sh > """"""""""""""""""""""""""""""""""""" > #!/bin/bash > rungit() { > mkdir $1 > GIT_DIR=$1 git init --bare > echo '[remote "aosp"]' > $1/config > echo ' url = > https://android.googlesource.com/platform/external/tinyxml2' >> > $1/config > GIT_DIR=$1 git fetch aosp +refs/heads/master:refs/remotes/aosp/master > rm -rf $1 > } > > for i in $(seq 1 100) > do > rungit testdir$i & > done > """"""""""""""""""""""""""""""""""""""" > $ ./test.sh # Warning! This script fetches ~40MB of data > > When everything cools, you can see that there are some fetches hanging > (typically). > $ ps | grep 'git fetch' > ... > 63310 ttys004 0:00.01 git fetch aosp > +refs/heads/master:refs/remotes/aosp/master > 63314 ttys004 0:00.01 git fetch aosp > +refs/heads/master:refs/remotes/aosp/master > 63319 ttys004 0:00.01 git fetch aosp > +refs/heads/master:refs/remotes/aosp/master > 63407 ttys004 0:00.00 git fetch aosp > +refs/heads/master:refs/remotes/aosp/master > 63414 ttys004 0:00.00 git fetch aosp > +refs/heads/master:refs/remotes/aosp/master > 63420 ttys004 0:00.00 git fetch aosp > +refs/heads/master:refs/remotes/aosp/master > ... > > You can look at the parent process of each and see that one half > spawned the other half, or you can look at the environment variables > for each to see that there are two processes operating in the same > directory for each directory where there's an issue. > $ echo "$(for pid in $(ps | grep 'git fetch' | grep -o '^[0-9]*'); do > ps -p $pid -wwwE | grep 'GIT_DIR=[^ ]*' -o; done)" | sort > GIT_DIR=testdir14 > GIT_DIR=testdir14 > GIT_DIR=testdir32 > GIT_DIR=testdir32 > GIT_DIR=testdir47 > GIT_DIR=testdir47 > > I've searched through the mailing list, but this doesn't seem to be a > known issue. I've only seen this occur on macs (and with a good deal > of regularity). It doesn't occur on my Ubuntu box. > > ~cco3 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html