Deadlock during remote update
- From
- Heald, Mike <mike.heald@hp.com>
- Date
- Feb 27, 2015, 11:03 UTC
- Message-ID
- <311995D1237EC0498D6D8FAFA73D6F458F1B67@G9W0762.americas.hpqcorp.net>
Hi,
We have a cron job that runs remote update on a number of repositories. Sometimes, the processes deadlock and we have to go -TERM them. Here's a breakdown of what state the processes end up in when the deadlock happens, from one of our production systems yesterday:
31629 git --git-dir=/var/lib/jeepyb/openstack/nova/.git --work-tree=/var/lib/jeepyb/openstack/nova remote update --prune
wait4'ing for 31630
31630 git fetch --prune --multiple --all
wait4'ing for 31637
31637 git fetch --append --prune upstream
waiting for read from pipe:[170381707] (fd 25)
31638 git-remote-https upstream https://git.openstack.org/openstack/nova
has pipe:[170381707] (fd 1), waiting for read from pipe:[170384472]
31642 git fetch-pack --stateless-rpc --lock-pack --include-tag --thin --no-progress https://git.openstack.org/openstack/nova/ efs/heads/master
has pipe:[170384472] (fd 1), waiting for read from pipe:[170384471] (fd 0) which fd 7 on 3163831638 and 31642 are both waiting to read from a pipe that the other has, and isn't writing to.
This is git version 1.7.9.5, OS is ubuntu precise.
Any ideas, or any way I can get more useful info?
Thanks, Mike