С недавнего времени перестал работать git с kernel.org...
# export GIT_TRACE=1;
# git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
trace: built-in: git 'clone' 'git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git'
Cloning into 'linux-stable'...
trace: run_command: 'index-pack' '--stdin' '-v' '--fix-thin' '--keep=fetch-pack 11942 on localhost'
trace: exec: 'git' 'index-pack' '--stdin' '-v' '--fix-thin' '--keep=fetch-pack 11942 on localhost'
trace: built-in: git 'index-pack' '--stdin' '-v' '--fix-thin' '--keep=fetch-pack 11942 on localhost'
remote: Counting objects: 2899206, done.
remote: Compressing objects: 100% (453229/453229), done.
remote: Total 2899206 (delta 2433956), reused 2882999 (delta 2418221)
На другой консоли
# ps ax | grep [g]it
16184 pts/1 S+ 0:00 git pull
16185 pts/1 S+ 0:00 /bin/sh /usr/lib/git-core/git-pull
16203 pts/1 Sl+ 0:00 git fetch --update-head-ok
16662 pts/1 S+ 0:01 git index-pack --stdin -v --fix-thin --keep=fetch-pack 16203 on localhost --pack_header=2,2899206
После выкачивания двух гигов, процесс «git index-pack» клинит. Обновления git ни из дистра, ни из последних исходников не помогло.
Трейс процесса git index-pack
# strace -p 16662
Process 16662 attached
read(0, 0x7672c0, 4096) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL} ---
rt_sigreturn() = 0
read(0, 0x7672c0, 4096) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL} ---
rt_sigreturn() = 0
read(0, 0x7672c0, 4096) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL} ---
rt_sigreturn() = 0
read(0, 0x7672c0, 4096) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL} ---
rt_sigreturn() = 0
read(0, 0x7672c0, 4096) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL} ---
rt_sigreturn() = 0
read(0, 0x7672c0, 4096) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL} ---
rt_sigreturn() = 0
Такой глюк возникает на проектах с большим количеством объектов,примерно от 20000 и дальше.
Ядро 3.2.35 и 3.7, кстати глюк появился ещё в октябре, лень писать было. :)
OpenSuSE 12.2
sysctl не трогал
на дисках места навалом
/tmp как tmpfs или xfs - пофиг, не забивается.
xfs, reiserfs3, ext2/3/4, btrfs, jfs - пофиг.
другая сетевуха - пофиг