zoukankan      html  css  js  c++  java
  • macOS Sierra Git Gui Crash 解决方法

    本篇文章由:http://xinpure.com/macos-sierra-git-gui-crash-solution/

    问题描述

    自从升级到 macOS Sierra 10.12 之后,git gui 就间歇性的出现闪退问题

    一开始还好,只是偶尔闪退,最近真是越来越频繁了。。。

    实在是受不了,今天就抽空找了一下解决方法

    闪退报错如下:

    2016-11-28 10:30:36.463 Wish[23615:1501726] *** Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position contains NaN: [0 nan]'
    *** First throw call stack:
    (
            0   CoreFoundation                      0x00007fff7f0407bb __exceptionPreprocess + 171
            1   libobjc.A.dylib                     0x00007fff937ada2a objc_exception_throw + 48
            2   CoreFoundation                      0x00007fff7f0bda65 +[NSException raise:format:] + 197
            3   QuartzCore                          0x00007fff84c09980 _ZN2CA5Layer12set_positionERKNS_4Vec2IdEEb + 152
            4   QuartzCore                          0x00007fff84c09af5 -[CALayer setPosition:] + 44
            5   QuartzCore                          0x00007fff84c0a14b -[CALayer setFrame:] + 644
            6   CoreUI                              0x00007fff8a9b0112 _ZN20CUICoreThemeRenderer26MakeOrUpdateScrollBarLayerEPK13CUIDescriptoraPP7CALayer + 1284
            7   CoreUI                              0x00007fff8a9ac317 _ZN20CUICoreThemeRenderer19CreateOrUpdateLayerEPK13CUIDescriptorPP7CALayer + 1755
            8   CoreUI                              0x00007fff8a92e4d1 _ZN11CUIRenderer19CreateOrUpdateLayerEPK14__CFDictionaryPP7CALayer + 175
            9   CoreUI                              0x00007fff8a931185 CUICreateOrUpdateLayer + 221
            10  AppKit                              0x00007fff7d675623 -[NSCompositeAppearance _callCoreUIWithBlock:options:] + 226
            11  AppKit                              0x00007fff7cd22a9d -[NSAppearance _createOrUpdateLayer:options:] + 76
            12  AppKit                              0x00007fff7cf9b143 -[NSScrollerImp _animateToRolloverState] + 274
            13  AppKit                              0x00007fff7cf5ab79 __49-[NSScrollerImp _installDelayedRolloverAnimation]_block_invoke + 673
            14  AppKit                              0x00007fff7ce21331 -[NSScrollerImp _doWork:] + 15
            15  Foundation                          0x00007fff80a3ec88 __NSFireDelayedPerform + 417
            16  CoreFoundation                      0x00007fff7efc0f44 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
            17  CoreFoundation                      0x00007fff7efc0bd3 __CFRunLoopDoTimer + 1075
            18  CoreFoundation                      0x00007fff7efc072a __CFRunLoopDoTimers + 298
            19  CoreFoundation                      0x00007fff7efb82f1 __CFRunLoopRun + 2081
            20  CoreFoundation                      0x00007fff7efb7874 CFRunLoopRunSpecific + 420
            21  HIToolbox                           0x00007fff7e557f6c RunCurrentEventLoopInMode + 240
            22  HIToolbox                           0x00007fff7e557ca9 ReceiveNextEventCommon + 184
            23  HIToolbox                           0x00007fff7e557bd6 _BlockUntilNextEventMatchingListInModeWithFilter + 71
            24  AppKit                              0x00007fff7cc4e5f5 _DPSNextEvent + 1093
            25  AppKit                              0x00007fff7d35e8eb -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1637
            26  Tk                                  0x00000001047cc285 TkGenerateButtonEvent + 494
            27  Tk                                  0x00000001047cc54d Tk_MacOSXSetupTkNotifier + 395
            28  Tcl                                 0x00000001048be5a8 Tcl_DoOneEvent + 237
            29  Tk                                  0x0000000104726f4f Tk_MainLoop + 33
            30  Tk                                  0x0000000104732a5b Tk_MainEx + 1566
            31  Wish                                0x000000010470d55a Wish + 9562
            32  libdyld.dylib                       0x00007fff94089255 start + 1
    )
    libc++abi.dylib: terminating with uncaught exception of type NSException
    error: git-gui died of signal 6

    解决方法

    Google 到一个有效方法

    brew install tcl-tk
    
    brew link tcl-tk --force
    
    ln -s $(which wish) "/usr/local/Cellar/git/$git_version/share/git-gui/lib/Git Gui.app/Contents/MacOS/Wish"

    操作也不复杂,主要就是先安装一个新版本 Tcl/Tk

    然后使用软链接,将新版本的 Tcl/TK 替换掉 git gui 包里的 旧版本 (最好还是备份一下)

    以上就搞定了

    参考链接

    https://github.com/git/git-scm.com/issues/853#issuecomment-254768237

  • 相关阅读:
    .NET 2.0泛型集合类与.NET 1.1集合类的区别(二)
    关于插件的好文章
    MemberInfo.GetCustomAttributes和MemberDescriptor.Attributes获取特性的不同
    新一代编程语言
    .NET 2.0泛型集合类与.NET 1.1集合类的区别(一)
    发现一篇关于.NET 2.0中关于事务命名空间的好文章
    C# WinForm控件美化扩展系列之给TextBox加水印
    log4.net
    C# GDI+ 双缓冲
    C# WinForm控件美化扩展系列之ListBox
  • 原文地址:https://www.cnblogs.com/xinpureZhu/p/6108649.html
Copyright © 2011-2022 走看看