如何修复';总线错误';尝试执行git提交或git状态时

如何修复';总线错误';尝试执行git提交或git状态时,git,macos,bus-error,git-status,git-commit,Git,Macos,Bus Error,Git Status,Git Commit,我在OSX服务器上有一个git存储库,过去运行得很好。我能够添加文件,提交文件,并将内容拉到我的笔记本电脑上 现在,当我使用ssh连接到服务器并在存储库中执行git commit或git status时,我在命令行中看到的只是bus error git日志仍然可以正常工作,并提供通常的输出 我猜存储库出了问题,因为在同一台服务器上的其他repo中,git commit和git status仍然有效 如何调试/修复此问题 更新:我重新创建了问题发生前上次创建的目录。这让我可以再次做git stat

我在OSX服务器上有一个git存储库,过去运行得很好。我能够添加文件,提交文件,并将内容拉到我的笔记本电脑上

现在,当我使用ssh连接到服务器并在存储库中执行
git commit
git status
时,我在命令行中看到的只是
bus error

git日志
仍然可以正常工作,并提供通常的输出

我猜存储库出了问题,因为在同一台服务器上的其他repo中,
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.
然后我手动删除了index.lock文件,现在问题解决了


我不知道出了什么问题。有什么想法吗?

总线错误
表示内存问题;它可能很简单,比如磁盘上的一个损坏的文件,
git
程序中的一个bug,或者内存、内存控制器出现故障等等

若你们可以在你们的计算机上运行一个内存测试工具,那个么这将有助于排除出现故障的内存和控制器。(在大型编译过程中,或者在其他程序随机崩溃时,您也可以使用奇数
SIGBUS
SIGSEGV
来识别它们…)


您能否从笔记本电脑的克隆在服务器上重新创建存储库,并查看它是否正常工作?我猜存储库已损坏,需要用一个好的克隆来替换。

我遇到这个问题是因为macOS Sierra(10.12.3)上的底层文件系统有问题。本质上,由于某种原因,我的加密.dmg被破坏了——我认为是由于使用HDUTIL进行了扩展

DiskUtility诊断出文件系统存在问题,但无法修复


我找到的唯一解决方案是重新创建映像并重新克隆repo。

谢谢sarnold,你看到我的问题的更新了吗?您认为它只是随机地再次工作,这表明服务器确实存在内存问题吗?@Will0,如果没有进一步的信息,我只会假设陈旧的锁文件是这里所有其他事情的结果,不需要担心。(我知道这听起来很愚蠢,但我不知道如何说它聪明。)如果它一直回来,担心:)但看起来你的磁盘上有一个损坏的文件。(这可能也是值得担心的事情,但除非您注意到更多的损坏,否则我也不会太担心。)太糟糕了,我遇到了完全相同的问题:S.删除目录允许我再次进入git状态,但由于index.lock文件,不允许再次提交。删除index.lock并重新创建相同的目录,所有内容都将在服务器上重新运行。。现在恐怕不行?