本篇文章由:http://xinpure.com/macos-sierra-git-gui-crash-solution/c++
自從升級到 macOS Sierra 10.12 以後,git gui 就間歇性的出現閃退問題git
一開始還好,只是偶爾閃退,最近真是愈來愈頻繁了。。。github
實在是受不了,今天就抽空找了一下解決方法macos
閃退報錯以下:app
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 到一個有效方法oop
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 ui
而後使用軟連接,將新版本的 Tcl/TK 替換掉 git gui 包裏的 舊版本 (最好仍是備份一下)code
以上就搞定了orm
https://github.com/git/git-scm.com/issues/853#issuecomment-254768237ip