gitk error: autorelease pool page corrupted

gitk error: autorelease pool page corrupted

从今天早上开始,当我尝试在具有 git 实例的项目上使用 gitk 时,出现以下错误。从今天开始我就再也没有遇到过这种情况,我已经使用 gitk 几个月了。

我能指出的唯一区别是,今天早上,在尝试安装 iStat 以监控我的 mac 迷你温度时,我 运行 命令 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

自从我通过自制软件下载并 git 后,我尝试使用 brew doctor、brew cleanup [-d] [-v]、brew unlink 和 relink,并更新了两个 git 和 gitk.

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

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

rm ~/.config/git/gitk

感谢这个 post,我设法让 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 时用 "normal" 替换损坏的 "zoomed",直到真正的问题得到解决。

希望这些额外信息对您有所帮助。我确定他妈的错过了这个工具!

我觉得这像是 Gitk 中的一个错误。如果 window 是整个屏幕的大小,那么每次打开 Gitk 时 geometry(state) 都会设置为 zoomed。如上所述,手动设置 normal(使用 open ~/.config/git/gitk)然后调整 window 的大小以防止这种情况发生。