我建了一个GitLab服务器,操作系统是Mac OS X 10.9.2,上边有两个仓库,之前两个仓库都可以正常clone,但是最近两天突然发现有一个仓库clone时,在本地机上遇到:
Cloning into 'gamil'...
remote: Counting objects: 426, done.
remote: Compressing objects: 100% (375/375), done.
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
然后我检查了GitLab里的日志unicorn.stderr.log
,发现
error: git-upload-pack died of signal 13
这个仓库并不大,只有2M多。我查看了信号13的意义:
terminate process write on a pipe with no reader
请问如何解决呢?
问题是由于nginx的tmp目录对adim组无权限导致的。我的系统是Mac OS X,使用Homebrew安装的nginx等软件。之前一直在怀疑是超时问题,没有发现某次Homebrew更新导致tmp权限问题。
另外对于较小仓库好像是不用在tmp下建立文件,所以出现有个仓库可以clone,而另一个不可以。