[prev in list] [next in list] [prev in thread] [next in thread] 

List:       git
Subject:    [BUG] Halt during fetch on MacOS
From:       Conley Owens <cco3 () android ! com>
Date:       2014-02-28 23:26:28
Message-ID: CAFFUb6X455R4OD5FKnVFHFmvTyRqtV300bc=a8Xs03agM+=uLQ () mail ! gmail ! com
[Download RAW message or body]

$ 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

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@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic