Git添加。给我总线错误(内核转储)
我正在使用ubuntu并试图将代码放在github上,但当我尝试使用“git add.”命令时,出现了一个错误“Bus error(core dumped)”Git添加。给我总线错误(内核转储),git,Git,我正在使用ubuntu并试图将代码放在github上,但当我尝试使用“git add.”命令时,出现了一个错误“Bus error(core dumped)” 我将非常感谢任何帮助。以供将来参考。我通过创建一个新文件夹并将所有项目文件放在那里解决了这个问题,当我执行“git add.”和“git commit”时,它工作了,但我仍然不知道为什么前者不能工作。好的是,至少我找到了解决办法,继续前进。这是最重要的。感谢您的贡献。假设您仍然可以运行git diff,我就是这样解决这个问题的: 生成一个
我将非常感谢任何帮助。以供将来参考。我通过创建一个新文件夹并将所有项目文件放在那里解决了这个问题,当我执行“git add.”和“git commit”时,它工作了,但我仍然不知道为什么前者不能工作。好的是,至少我找到了解决办法,继续前进。这是最重要的。感谢您的贡献。假设您仍然可以运行
git diff
,我就是这样解决这个问题的:
git diff--patch>/tmp/patch.diff
光盘
rm-rf我的回购
git克隆
光碟我的回购
补丁-p1/tmp/patch.diff
看看dmesg
。在我的情况下,这是由于硬件错误:磁盘上的坏扇区:(
这可能解释了为什么复制文件后命令会起作用
您应该找到如下内容:
[ 1387.312569] ata3.00: exception Emask 0x0 SAct 0x800 SErr 0x0 action 0x0
[ 1387.314589] ata3.00: irq_stat 0x40000008
[ 1387.316618] ata3.00: failed command: READ FPDMA QUEUED
[ 1387.318638] ata3.00: cmd 60/08:58:48:1e:54/00:00:12:00:00/40 tag 11 ncq 4096 in
res 41/40:00:4b:1e:54/00:00:12:00:00/40 Emask 0x409 (media error) <F>
[ 1387.322675] ata3.00: status: { DRDY ERR }
[ 1387.324690] ata3.00: error: { UNC }
[ 1387.363352] ata3.00: configured for UDMA/133
[ 1387.363369] sd 2:0:0:0: [sda] tag#11 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 1387.363375] sd 2:0:0:0: [sda] tag#11 Sense Key : Medium Error [current] [descriptor]
[ 1387.363379] sd 2:0:0:0: [sda] tag#11 Add. Sense: Unrecovered read error - auto reallocate failed
[ 1387.363384] sd 2:0:0:0: [sda] tag#11 CDB: Read(10) 28 00 12 54 1e 48 00 00 08 00
[ 1387.363388] blk_update_request: I/O error, dev sda, sector 307502667
[ 1387.365427] ata3: EH complete
[1387.312569]ata3.00:异常Emask 0x0 SAct 0x800 SErr 0x0操作0x0
[1387.314589]ata3.00:irq_stat 0x40000008
[1387.316618]ata3.00:命令失败:读取FPDMA已排队
[1387.318638]ata3.00:cmd 60/08:58:48:1e:54/00:00:12:00:00/40标签11 ncq 4096 in
res 41/40:00:4b:1e:54/00:00:12:00:00/40 Emask 0x409(媒体错误)
[1387.322675]ata3.00:状态:{DRDY ERR}
[1387.324690]ata3.00:错误:{UNC}
[1387.363352]ata3.00:为UDMA/133配置
[1387.363369]sd 2:0:0:0[sda]标记#11失败结果:hostbyte=DID_OK driverbyte=DRIVER_SENSE
[1387.363375]sd 2:0:0:0[sda]标记#11检测键:中等错误[当前][描述符]
[1387.363379]sd 2:0:0:0:[sda]标记#11添加.检测:未恢复的读取错误-自动重新分配失败
[1387.363384]sd 2:0:0:0[sda]标签#11 CDB:读(10)28 00 12 54 1e 48 00 08 00
[1387.363388]blk_更新_请求:I/O错误,开发sda,扇区307502667
[1387.365427]ata3:EH完成
这种情况经常发生在我身上,因为我的git repo是通过nfs装载的,似乎超时了,有时会导致总线错误
我找到的解决方案是简单地删除锁文件,然后继续我的快乐之路
find .git -iname *.lock | xargs rm
在我的例子中,一个.py文件已经损坏,每次我尝试将它添加到提交时都会收到此消息
删除.git/index.lock会替换损坏的文件,一切都会恢复正常。总线错误是CPU抱怨某些事情的方式,比如使用的SSE寄存器比平台实际拥有的多。在这种情况下,这真的非常奇怪。可能是编译器错误,可能是为比您使用的CPU更新的CPU编译的。W您使用的是什么发行版?您的CPU型号是什么?这是我的CPU信息。型号:37型号名称:英特尔(R)奔腾(R)CPU P6200@2.13GHzI刚刚重新启动了我的计算机来解决这个问题。实际上,几周后我才知道我有一个磁盘问题。你的想法一定是对的。我现在不能复制这个,因为我有一台新机器。你的意思是
.git/index.lock
,对吗?如果是.git
或index.lock
…删除您的整个.git
文件夹将删除您的整个提交历史记录。
[ 1387.312569] ata3.00: exception Emask 0x0 SAct 0x800 SErr 0x0 action 0x0
[ 1387.314589] ata3.00: irq_stat 0x40000008
[ 1387.316618] ata3.00: failed command: READ FPDMA QUEUED
[ 1387.318638] ata3.00: cmd 60/08:58:48:1e:54/00:00:12:00:00/40 tag 11 ncq 4096 in
res 41/40:00:4b:1e:54/00:00:12:00:00/40 Emask 0x409 (media error) <F>
[ 1387.322675] ata3.00: status: { DRDY ERR }
[ 1387.324690] ata3.00: error: { UNC }
[ 1387.363352] ata3.00: configured for UDMA/133
[ 1387.363369] sd 2:0:0:0: [sda] tag#11 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 1387.363375] sd 2:0:0:0: [sda] tag#11 Sense Key : Medium Error [current] [descriptor]
[ 1387.363379] sd 2:0:0:0: [sda] tag#11 Add. Sense: Unrecovered read error - auto reallocate failed
[ 1387.363384] sd 2:0:0:0: [sda] tag#11 CDB: Read(10) 28 00 12 54 1e 48 00 00 08 00
[ 1387.363388] blk_update_request: I/O error, dev sda, sector 307502667
[ 1387.365427] ata3: EH complete
find .git -iname *.lock | xargs rm