git push error:pack-objects死于奇怪的错误

时间:2009-04-05 13:56:37

标签: git

我一直在推动这个回购成功一段时间,它开始给我以下错误从哪里,任何想法为什么会发生?

Ishaqs-Mac:source ishaq$ git push
Counting objects: 68, done.
Delta compression using 2 threads.
Compressing objects: 100% (50/50), done.
Connection to SERVER closed by remote host.
error: pack-objects died with strange error
error: failed to push some refs to 'SERVER:PROJECT.git'

感谢您的时间和帮助。

3 个答案:

答案 0 :(得分:4)

要结账的几点:

  • 推送端磁盘空间的问题(如$ GIT_DIR或$ TMP_DIR中的“磁盘空间不足”)

  • 正确的问题(在哪个帐户下执行流程?)

  • 特定于平台的问题:在Mac OS上,您可以拥有MacPort configuration problem

  • 推送端的git与远程站点上的git之间的版本差异(例如,如果您尝试使用git二进制文件推送远程对等体上的子模块,则意味着我不知道子模块,你可能会有这样的麻烦)

注意:由于是error message associated with the pack_object() function,因此请检查git pack是否仍有效。

static void pack_objects(int fd, struct ref *refs)
{
    for (;;) {
        int status, code;
        pid_t waiting = waitpid(pid, &status, 0);
        if (waiting < 0) {
            if (errno == EINTR)
                continue;
            return error("waitpid failed (%s)", strerror(errno));
        }
        if ((waiting != pid) || WIFSIGNALED(status) ||
            !WIFEXITED(status))
            return error("pack-objects died with strange error");
        code = WEXITSTATUS(status);
        if (code)
            return -code;
        return 0;
    }
}

注意事项:pushing to GitHub(2009年1月下旬),此错误消息最近有一些案例

答案 1 :(得分:4)

不幸的是,错误消息不是很有帮助。但你的问题不是来自Git pack;第一条错误消息来自OpenSSH,它能够到达远程服务器但未登录:

Connection to SERVER closed by remote host.

这不是密码问题(具有不同的错误消息),但可能是权限问题(如没有适当权限的组,我偶尔会在OSX上看到)或无法识别的帐户名称(在某些报告密码问题的系统或超时。您可以尝试从命令行登录:

$ ssh username@servername

发现你遇到了什么样的问题。您也可以尝试修复权限; OS X似乎特别容易受到重复出现的权限问题以及从奇数组运行的影响。

旁注 - 由于您使用的是Leopard,我建议您安装SSHKeychain,它管理SSH身份并自动将您的SSH密码存储在系统密钥链中。它不会帮助您解决当前的问题,但可能会在将来阻止类似的问题。

答案 2 :(得分:-1)

如果您正在使用像gerrit这样的代码审查工具,并且在尝试推送代码时会得到这个,那可能是因为java程序在内存管理方面通常很棒。并且你不会在互联网上找到任何可以帮助你的人,直到你绝望地决定杀死gerrit并重新启动它。然后 poof ,你的问题就消失了......直到几天之后你还需要为同样的问题重新启动gerrit。

Java太棒了。