gitk 错误:自动释放池页面已损坏

der*_*oop 42 git macos homebrew gitk

从今天早上开始,当我尝试在一个带有 git 实例的项目上使用 gitk 时,它给了我以下错误。从今天起我就再也没有发生过这种情况,而且我已经使用 gitk 几个月了。

我能指出的唯一区别是,今天早上,在尝试安装 iStat 以监控我的 mac mini 温度期间,我运行了该命令sudo gem update --system并尝试安装 ruby​​gems-update。不知道有没有关系。

具体错误是这样的:

objc[1253]: autorelease pool page 0x7fe20e945000 corrupted
  magic     0x00000000 0x00000000 0x00000000 0x00000000
  should be 0xa1a1a1a1 0x4f545541 0x454c4552 0x21455341
  pthread   0x10f3ecdc0
  should be 0x10f3ecdc0

[1]    1253 abort      gitk
Run Code Online (Sandbox Code Playgroud)

自从我通过home brew下载它和git后,我尝试使用brew doctor、brew cleanup [-d] [-v]、brew unlink和relink,并更新了git和gitk。

我正在使用以下命令行工具:12.0.32.28

der*_*oop 71

我通过重置 gitk 配置解决了这个问题:

rm ~/.config/git/gitk
Run Code Online (Sandbox Code Playgroud)

  • 这对我有用。谢谢你! (6认同)
  • 这只能起到暂时的作用。科林·沃德的回答要完整得多。 (3认同)

小智 40

感谢这篇文章,我设法让 gitk 再次工作 - 我真的很想念它!变通方法只适用一次,然后又回来了。我已经开始讨论以尝试在此处正确修复它:

https://github.com/Homebrew/discussions/discussions/705

问题是由于~/.config/git/gitk文件中的这一行:

set geometry(state) zoomed

如果将其更改为:

set geometry(state) normal

然后 gitk 将再次工作,但随后它会将其更改回缩放状态,即使您没有更改任何内容,因此它再次开始崩溃。我的同事为此提出了以下解决方法:

alias gitk="sed -i .bak 's/zoomed/normal/g' ~/.config/git/gitk && /usr/local/bin/gitk"

在 Bash 中设置这个别名,它会在每次运行 gitk 时用“正常”替换损坏的“缩放”,直到真正的问题得到解决。

我希望这些额外的信息有帮助。我肯定错过了这个工具!