我在“写入对象”时尝试执行 git push 时遇到问题。这不是我在其他地方看到的 Windows 和 git-daemon 的常见场景。这是 Linux 到 Linux,使用 ssh。在客户端和服务器上,git 版本都是 1.7.8.6。
我尝试过执行以下操作:
- 创建一个本地空仓库并推送到该仓库——工作正常
- 从本地仓库拉到本地仓库——工作正常
- 将远程仓库克隆到本地机器——工作正常
git fsck
并git gc
在服务器和客户端回购- 推送到预先存在的远程仓库——将写入对象挂在 11%
- 创建空的远程仓库并推送到该仓库——将写入对象挂在 2%
我可以设置一个环境变量来使 git 产生调试消息。那里没什么用处。
我已经与 IRC 中的人详细讨论过这个问题,并且我尝试过用谷歌搜索它。我们无处可去。这里的任何人都可以帮我弄清楚出了什么问题吗?
谢谢!
更新:根据某人的建议,我做了一个strace -F
,它卡在子进程中的 select() 上。我会提供整个跟踪,但 stackexchange 没有上传的方法。无论如何,这是相关部分:
[pid 14414] getsockopt(3, SOL_SOCKET, SO_RCVBUF, [87872], [4]) = 0^M
[pid 14414] select(7, [3 4], [3], NULL, NULL) = 2 (in [4], out [3])^M
[pid 14414] read(4, <unfinished ...>^M
[pid 14433] <... write resumed> ) = 8192^M
[pid 14433] write(1, "\262\36\237\265\234\n\332W\26\271.\250\271W\34\250N\34*\341\247R\21\177\\Dq\23\27\211\270\25"..., 8192) = 8192^M
[pid 14433] write(1, "Y\343}z\367\31y\321)\254\236na\274\347*\253\247\264d\25\213\364\243\331\242\236\3222U3\246"..., 8192 <unfinished ...>^M
[pid 14414] <... read resumed> "t\277\177\276\361\377\327U\361Re\f\347\300\27\3\255}E\363\2277\312p\356F\335U\345\336\250\273"..., 16384) = 16384^M
[pid 14414] write(3, "\210y\r\202\303`\222m\216\177x \354\216Y\322n\232l\273\237\214\352\32\r\261r\311\347\356\236\26"..., 16432) = 16432^M
[pid 14414] getsockopt(3, SOL_SOCKET, SO_RCVBUF, [87872], [4]) = 0^M
[pid 14414] select(7, [3], [3], NULL, NULL) = 1 (out [3])^M
[pid 14414] write(3, "\v\267\355\33\257\332\330\326\233\260;\223\212z\333\213\21'1\20\7\366\"f\253\373\0059\24\206C4"..., 5504) = 5504^M
[pid 14414] getsockopt(3, SOL_SOCKET, SO_RCVBUF, [87872], [4]) = 0^M
[pid 14414] select(7, [3], [], NULL, NULL <unfinished ...>^M
[pid 14433] <... write resumed> ) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)^M
[pid 14433] --- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL, si_value={int=1, ptr=0x1}} ---^M
[pid 14433] rt_sigreturn() = 1^M
[pid 14433] write(1, "Y\343}z\367\31y\321)\254\236na\274\347*\253\247\264d\25\213\364\243\331\242\236\3222U3\246"..., 8192) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)^M
[pid 14433] --- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL, si_value={int=1, ptr=0x1}} ---^M
[pid 14433] rt_sigreturn() = 1^M
[pid 14433] write(1, "Y\343}z\367\31y\321)\254\236na\274\347*\253\247\264d\25\213\364\243\331\242\236\3222U3\246"..., 8192) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)^M
[pid 14433] --- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL, si_value={int=1, ptr=0x1}} ---^M
[pid 14433] rt_sigreturn() = 1^M
[pid 14433] write(1, "Y\343}z\367\31y\321)\254\236na\274\347*\253\247\264d\25\213\364\243\331\242\236\3222U3\246"..., 8192) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)^M
[pid 14433] --- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL, si_value={int=1, ptr=0x1}} ---^M
[pid 14433] rt_sigreturn() = 1^M