git push error: pack-объекты умерли со странной ошибкой - PullRequest
5 голосов
/ 05 апреля 2009

В течение некоторого времени я успешно продвигался к этому репо, он начал давать мне следующую ошибку откуда угодно, есть идеи, почему это происходит?

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 ]

4 голосов
/ 05 апреля 2009

К сожалению, сообщения об ошибках не очень полезны. Но ваша проблема не в пакете Git; первое сообщение об ошибке от OpenSSH, который смог связаться с удаленным сервером, но не войти в систему:

Connection to SERVER closed by remote host.

Это не проблема с паролем (у которой другое сообщение об ошибке), но это может быть проблема с разрешениями (например, у группы, которая не имеет надлежащих разрешений, которую я иногда вижу в OSX) или неопознанное имя учетной записи (в некоторых системы это сообщает о проблемах с паролем) или тайм-аут. Вы можете попробовать войти из командной строки:

$ ssh username@servername

чтобы выяснить, какие у вас проблемы. Вы также можете попробовать восстановить разрешения; OS X кажется особенно уязвимым для повторяющихся проблем с разрешениями и для запуска из нечетных групп.

Sidenote - поскольку вы используете Leopard, я предлагаю вам установить SSHKeychain , который управляет идентификаторами SSH и автоматически сохраняет ваши парольные фразы SSH в системной цепочке для ключей. Это не поможет вашей текущей проблеме, но может предотвратить подобные проблемы в будущем.

4 голосов
/ 05 апреля 2009

Пара баллов для проверки:

  • проблема дискового пространства на стороне проталкивания (например, "недостаточно места на диске" в $ GIT_DIR или $ TMP_DIR?)

  • правильных выпусков (под каким аккаунтом выполняется процесс?)

  • Проблема, связанная с платформой: в Mac OS может возникнуть проблема конфигурации MacPort .

  • разница в версии между git на стороне push и той, что на удаленном сайте (например, если вы пытаетесь выдвинуть субмодули на удаленном одноранговом узле с помощью git-двоичного не знаю о подмодуле, у вас могут возникнуть такие проблемы)

Примечание: Поскольку сообщение об ошибке связано с функцией pack_object() , проверьте, работает ли 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;
    }
}

Примечание-бис: в последнее время появляются сообщения об ошибке, когда отправляет GitHub (конец января 2009 г.)

0 голосов
/ 08 апреля 2009

Если вы используете инструмент для проверки кода, такой как gerrit, и вы получаете это, когда пытаетесь выдвинуть код, это может быть потому, что Java-программы, как правило, великолепны в управлении памятью. И в Интернете вы не найдете никого, кто мог бы вам помочь, пока вы в отчаянии не решили убить геррита и перезапустить его. И затем poof , ваша проблема исчезнет ... до тех пор, пока через несколько дней вам не понадобится снова запустить gerrit для той же проблемы.

Java потрясающая.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...