52 votes

La commande git-gui se bloque sur macOS Sierra

Après mise à jour de macOS Sierra, git-gui commande se bloque avec une erreur:

Souhaitez[23862:202062] *** fin de l'app en raison de uncaught exception 'CALayerInvalidGeometry', la raison: 'CALayer position contient NaN: [0 nan]'
*** Premier lancer de pile d'appel:
(
 0 CoreFoundation 0x00007fff8cd9252b __exceptionPreprocess + 171
 1 libobjc.Un.dylib 0x00007fffa146acad objc_exception_throw + 48
 2 CoreFoundation 0x00007fff8ce10a0d +[NSException lever: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
 12 AppKit 0x00007fff8aced143 -[NSScrollerImp _animateToRolloverState] + 274
 13 AppKit 0x00007fff8acacb79 __49-[NSScrollerImp _installDelayedRolloverAnimation]_block_invoke + 673
 14 AppKit 0x00007fff8ab73331 -[NSScrollerImp _doWork:] + 15
 15 Fondation 0x00007fff8e770c88 __NSFireDelayedPerform + 417
 16 CoreFoundation 0x00007fff8cd11e14 __CFRUNLOOP_EST_APPEL__À__MINUTERIE_CALLBACK_FONCTION__ + 20
 17 CoreFoundation 0x00007fff8cd11a9f __CFRunLoopDoTimer + 1071
 18 CoreFoundation 0x00007fff8cd115fa __CFRunLoopDoTimers + 298
 19 CoreFoundation 0x00007fff8cd09021 __CFRunLoopRun + 2065
 20 CoreFoundation 0x00007fff8cd085b4 CFRunLoopRunSpecific + 420
 21 Tcl 0x0000000101834b43 Tcl_WaitForEvent + 314
 22 Tcl 0x00000001018045cd Tcl_DoOneEvent + 274
 23 les Savoirs traditionnels 0x0000000101672f4f Tk_MainLoop + 33
 24 les Savoirs traditionnels 0x000000010167ea5b Tk_MainEx + 1566
 25 Souhaitez 0x0000000101658542 Souhaitez + 9538
 26 libdyld.dylib 0x00007fffa1d48255 début + 1
)
libc++abi.dylib: la fin avec uncaught exception de type NSException
erreur: git-gui mort de signal 6

Quelqu'un a le même problème et une solution pour cela?

24voto

Nainy Agrawal Points 151

Essayez: git config --local --unset gui.geometry
Cette erreur se produit car le gestionnaire de géométrie Tk ne fonctionne pas, en raison d'une version antérieure ou s'il est corrompu.

Si la commande ci-dessus n'a pas fonctionné, essayez de mettre à jour votre xcode: xcode-select --install

23voto

the_red_john Points 180

Au lieu d'utiliser le MacOS tcl-tk par défaut, utilisez le dernier tcl-tk (8.6.6) d'Homebrew, puis associez-le de force, par exemple:

 brew install tcl-tk
brew link tcl-tk --force
 

19voto

sbondaryev Points 441

Il y a un problème avec Tk 8.5 sur MacOS Sierra. Vous pouvez remplacer les Savoirs traditionnels Souhaitez 8.5 avec les Savoirs traditionnels Souhaitez 8.4

cp /System/Library/Frameworks/Tk.framework/Versions/8.4/Ressources/le Souhaitez.app/Contents/MacOS/Souhait de /usr/local/Cave/git/2.10.1/share/git-gui/lib/Git\ Gui.app/Contents/MacOS/

source: https://github.com/git/git-scm.com/issues/853

UPD: attention à remplacer la version git dans l' cp chemin avec votre version actuelle

7voto

Bruce Points 137

Ma solution devrait fonctionner pour le téléchargement de git à partir de https://git-scm.com/

brew install homebrew/dupes/tcl-tk

cd à /usr/local/git/share/git-gui/lib/Git Gui.app/Contents/MacOS et sauvegarde le souhait original

cp /usr/local/Cellar/tcl-tk/8.6.6/bin/wish8.6 /usr/local/git/share/git-gui/lib/Git Gui.app/Contents/MacOS/Wish

5voto

Malachi Points 385

J'ai congloméré un tas de réponses d'ici ensemble, puisque j'utilise GIT et TCL via brew :

  1. cd "/usr/local/Cellar/git/2.10.2/share/git-gui/lib/Git Gui.app/Contents/MacOS"
  2. mv Wish Wish.bkp
  3. ln -vs /usr/local/Cellar/tcl-tk/8.6.6/bin/wish8.6 Wish

Au fil du temps, évidemment, les numéros de version peuvent varier

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X