git-gui命令在macOS Sierra上崩溃

52

在升级至 macOS Sierra 后,git-gui 命令会崩溃并显示以下错误:

Wish[23862:202062] *** Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position contains NaN: [0 nan]'
*** First throw call stack:
(
    0   CoreFoundation                      0x00007fff8cd9252b __exceptionPreprocess + 171
    1   libobjc.A.dylib                     0x00007fffa146acad objc_exception_throw + 48
    2   CoreFoundation                      0x00007fff8ce10a0d +[NSException raise:format:] + 205
    3   QuartzCore                          0x00007fff92938980 _ZN2CA5Layer12set_positionERKNS_4Vec2IdEEb + 152
    4   QuartzCore                          0x00007fff92938af5 -[CALayer setPosition:] + 44
    5   QuartzCore                          0x00007fff9293914b -[CALayer setFrame:] + 644
    6   CoreUI                              0x00007fff986e2112 _ZN20CUICoreThemeRenderer26MakeOrUpdateScrollBarLayerEPK13CUIDescriptoraPP7CALayer + 1284
    7   CoreUI                              0x00007fff986de317 _ZN20CUICoreThemeRenderer19CreateOrUpdateLayerEPK13CUIDescriptorPP7CALayer + 1755
    8   CoreUI                              0x00007fff986604d1 _ZN11CUIRenderer19CreateOrUpdateLayerEPK14__CFDictionaryPP7CALayer + 175
    9   CoreUI                              0x00007fff98663185 CUICreateOrUpdateLayer + 221
    10  AppKit                              0x00007fff8b3c7623 -[NSCompositeAppearance _callCoreUIWithBlock:options:] + 226
    11  AppKit                              0x00007fff8aa74a9d -[NSAppearance _createOrUpdateLayer:options:] + 76
在AppKit中,NSScrollerImp _animateToRolloverState和__49-[NSScrollerImp _installDelayedRolloverAnimation]_block_invoke方法可能会导致NSException异常的发生。同时,Foundation库的__NSFireDelayedPerform方法以及CoreFoundation库的__CFRunLoopDoTimer和__CFRunLoopRun等方法也与此有关。在此异常发生时,git-gui会因信号6而终止。是否有其他人遇到过这个问题并且有解决方案?

2
这个程序相关的内容翻译成中文:是否应该迁移到apple.SE? - dalearn
1
请注意,此问题已在macOS10.12.2及更高版本中解决。 - Kenn Sebesta
请注意,这在10.14.5中又出现了问题。 - Mathieu J.
14个回答

0

@sbondaryev的答案(39966704)对我没有用,我还没有尝试@ssahu的(40119030)。然而,我在这里描述的技巧崩溃的次数要少得多(大约10%),并且它让我不会太过于纠结于事情 - 希望问题很快就能得到适当的解决。

  • 似乎在调整窗口大小时会发生崩溃(90%的时间)。但我发现它太小了,无法使用,想要调整它。
  • vi .git/config
  • 编辑GUI geography以创建适合的窗口大小。虽然我仍然保持它很小,但我怀疑如果超过某个大小,崩溃总是会发生。

0
一个对我有效的解决方法是:断开第二个显示器,打开git gui->可以运行,关闭它,重新连接第二个显示器并运行git gui->再次正常工作 :)

0
在 High Sierra (10.13) 上,我遇到了 git gui 的相同问题。
我通过将 git 从2.7.0更新到2.14.2来解决这个问题。
brew upgrade git

在升级到High Sierra之后,这对我有效。我得到了git 2.17.1版本。 - John Lindal

0

经过许多努力,这个解决方案解决了我的问题:

$ brew upgrade tcl-tk

如果它是最新的且此方法无效,请尝试:
$ brew uninstall tcl-tk
$ brew install tcl-tk

我在网上尝试了所有的解决方案,但只有这个能解决问题。 干杯!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接