Как исправить "ошибку шины" при попытке сделать git-commit или git-status

у меня есть репозиторий git на сервере OS X, который работал нормально. Я смог добавить файлы, зафиксировать их и вытащить содержимое на свой ноутбук.

теперь, когда я ssh в сервер и делаю git commit или git status в репозитории, все, что я вижу в командной строке bus error.

git log все еще работает должным образом и дает мне обычный выход.

Я предполагаю, что что-то не так с репозиторием, потому что в других репозиториях на одном сервере оба git commit и git status все еще работаете.

как мне приступить к отладке / исправлению этого?

обновление: я повторно создал каталог, который я последний раз создавал до возникновения проблемы. Это позволило мне сделать git status опять!

под управлением git commit -a сразу после этого, однако, дал следующую ошибку:

fatal: Unable to create '/path/to/repo/.git/index.lock': File exists.

If no other git process is currently running, this probably means a
git process crashed in this repository earlier. Make sure no other git
process is running and remove the file manually to continue.

затем я вручную удалил индекс.заблокируйте файл, и теперь проблема решена..

Я понятия не имею, что произошло неправильный. Любая идея..?

2 ответов


Bus error указывает на проблему с памятью; это может быть так же просто, как поврежденный файл на диске, ошибка в git программа, или отказывая память, регулятор памяти, etc.

если вы можете запустить инструмент тестирования памяти на вашем компьютере в одночасье, это поможет исключить сбой памяти и контроллера. (Вы также можете обнаружить их с odd SIGBUS или SIGSEGV во время больших компиляций или случайных сбоев других программ...)

можете ли вы повторно создать репозиторий на сервере из клон вашего ноутбука, и посмотреть, правильно ли он работает? Я предполагаю, что репозиторий поврежден и должен быть заменен хорошим клоном.


Я столкнулся с этой проблемой из-за проблемы с базовой файловой системой на macOS Sierra (10.12.3). По сути, по какой-то причине мой зашифрованы .dmg был поврежден - я думаю, из-за расширения с hdutils.

DiskUtility диагностировал проблему с файловой системой, но не смог ее восстановить.

единственным решением, которое я нашел, было воссоздать изображение и повторно клонировать РЕПО.