Après la mise à jour vers macOS Sierra, git-gui
la commande se bloque avec une erreur:
Souhait [23862: 202062] *** Fin de l'application en raison de l'exception non capturée 'CALayerInvalidGeometry', raison: 'La position CALayer contient NaN: [0 nan]' *** Première pile d'appel: ( 0 CoreFoundation 0x00007fff8cd9252b __exceptionPreprocess + 171 1 libobjc.A.dylib 0x00007fffa146acad objc_exception_throw + 48 2 CoreFoundation 0x00007fff8ce10a0d + [format: NSEx] 3 QuartzCore 0x00007fff92938980 _ZN2CA5Layer12set_positionERKNS_4Vec2IdEEb + 152 4 QuartzCore 0x00007fff92938af5 - [CALayer setPosition:] + 44 5 QuartzCore 0x00007fff929ayer4. 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 0x00007fff8ac_BD_Black_Val_Black_Ink. AppKit 0x00007fff8ab73331 - [NSScrollerImp _doWork:] + 15 15 Foundation 0x00007fff8e770c88 __NSFireDelayedPerform + 417 16 CoreFoundation 0x00007fff8cd11e14 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 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 [.____ .000 236 Tf_107k Tk_MainEx + 1566 25 Souhait 0x000 0000101658542 Souhait + 9538 26 libdyld.dylib 0x00007fffa1d48255 start + 1 ) Libc ++ abi.dylib: terminaison avec une exception non capturée de type NSException Erreur: git -gui est mort du signal 6
Quelqu'un at-il le même problème et une solution pour cela?
Au lieu d'utiliser le MacOS par défaut tcl-tk
, utilisez le dernier tcl-tk (8.6.6) de Homebrew puis liez-le par la force, par exemple:
brew install tcl-tk
brew link tcl-tk --force
Essayez: git config --local --unset gui.geometry
Cette erreur se produit car le gestionnaire Tk Geometry ne fonctionne pas, en raison d'une ancienne version ou s'il est corrompu.
Si la commande ci-dessus ne fonctionne pas, essayez de mettre à jour votre xcode: xcode-select --install
Il y a un problème avec Tk 8.5 sur MacOS Sierra. Vous pouvez remplacer Tk Wish 8.5 par Tk Wish 8.4
cp /System/Library/Frameworks/Tk.framework/Versions/8.4/Resources/Wish.app/Contents/MacOS/Wish /usr/local/Cellar/git/2.10.1/share/git-gui/lib/Git\Gui.app/Contents/MacOS/
source: https://github.com/git/git-scm.com/issues/85
UPD: Faites attention à remplacer la version git dans le chemin cp
par votre version actuelle
Ma solution devrait fonctionner pour le téléchargement git depuis 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 d'origine
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
J'ai regroupé un tas de réponses d'ici ensemble, car j'utilise GIT et TCL via brew
:
cd "/usr/local/Cellar/git/2.10.2/share/git-gui/lib/Git Gui.app/Contents/MacOS"
mv Wish Wish.bkp
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
Je considère que les objectifs suivants constituent la solution complète au problème:
La certitude "Nuke from orbite" pour résoudre ce problème de façon nette et linéaire
Ne vous retrouvez pas avec des polices moches d'un héritage Apple Tcl/Tk
Découplez votre git gui du Apple Tcl/Tk expédié
Vous trouverez ci-dessous une étape par étape pour y parvenir:
Obtenez le Tcl/Tk dupliqué de Homebrew
brew install tcl-tk
Ajoutez l'installation Tcl/Tk non interrompue au (x) chemin (s) avant l'implémentation Apple Apple
the_platinum_searcher
fournit pt
, qui entre en conflitJe recommande ripgrep pour contourner ce cas
brew link --force tcl-tk
Réparez votre installation de Gitk en réinstallant la version Homebrew non interrompue
Cela peut ne pas être nécessaire, mais réf. le premier objectif déclaré ci-dessus
brew reinstall git
Copiez le nouveau binaire de souhait de votre installation Homebrew Tcl/Tk sur celui qui est cassé fourni à partir de Apple dans le bundle Git Gui.app
Cela repose aveuglément sur la sortie de homebrew info <package>
pour ne pas changer
cp "$(which wish)" "$(brew info git | grep Cellar | cut -d' ' -f1)/share/git-gui/lib/Git Gui.app/Contents/MacOS/Wish"
Le dernier bit pourrait être judicieux de gifler dans un alias dans votre ~/.bashrc
et/ou équivalent car il devra être répété chaque fois que vous obtiendrez une nouvelle version git de Homebrew.
alias fix-gitgui='cp "$(which wish)" "$(brew info git | grep Cellar | cut -d" " -f1)/share/git-gui/lib/Git Gui.app/Contents/MacOS/Wish"'
Je ne sais pas vraiment pourquoi la citation pour le délimiteur de champ pour la coupe utilisée ci-dessus fonctionne donc utilisez cet alias avec prudence car cela pourrait très bien dépendre d'une version bash exacte.
La mise à niveau vers macOS 10.12.2 résout le problème.
Les références:
Aucune idée de pourquoi de Apple journal des modifications: https://support.Apple.com/en-us/HT207307 .
Ma Sierra (mise à niveau à partir de 10.11.6) a Tcl/Tk Current pointant vers 8.5 et j'ai observé la même erreur après la mise à niveau, avec notre programme Python utilisant Tkinter. Je n'utilise pas Wish. Je n'ai eu aucune aide de Python 2.7 Installation 32 bits liée à Tcl/Tk 8.4 car celle-ci n'avait pas de "tuile". J'ai donc préparé mon Python, en le liant à Tcl/Tk 8.6:
C'est pour que la bière utilise des bouteilles précompilées au lieu de construire à partir de sources, sauf indication contraire, donc ne provoque pas vraiment le problème:
xcode-select --install
Installez ensuite Tcl/Tk:
brew install homebrew/dupes/tcl-tk
Si vous n'avez pas installé Python à l'origine avec - avec-tcl-tk, alors:
brew uninstall python
Finalement:
brew install python --with-tcl-tk
Après cela, j'ai Python qui est lié à Tcl/Tk 8.6 et semble que je me suis débarrassé de l'erreur.
Ce problème a été résolu sur les derniers correctifs de macOS Sierra (10.12.2 et versions ultérieures) et aucune autre action n'est nécessaire.
Après beaucoup de difficultés, cette solution résout mon problème:
$ brew upgrade tcl-tk
S'il est à jour et que cela ne fonctionne pas, essayez:
$ brew uninstall tcl-tk
$ brew install tcl-tk
J'ai essayé toutes les solutions sur le Web, mais seulement cela résout le problème. À votre santé!
Cela fonctionne pour moi: téléchargez et installez la dernière version de TCL (j'ai utilisé 8.6.4) http://www.activestate.com/activetcl/downloads
J'ai également téléchargé et installé la dernière version (2.10.1) de git https://git-scm.com/
Vérifiez que la fenêtre de gitk ne plante pas après le redimensionnement.
La réponse de @ sbondaryev (39966704) n'a pas fonctionné pour moi et je n'ai pas encore essayé de @ ssahu (40119030). Cependant, l'astuce que je décris ici s'est écrasée beaucoup moins souvent (environ 10% du temps) pour moi. Et cela m'empêche de trop jouer avec les choses - j'espère que le problème sera corrigé correctement bientôt.
vi .git/config
GUI geography
pour créer une taille de fenêtre qui fonctionne. Je l'ai toujours gardé petit mais je pense qu'il y aura une taille au-dessus de laquelle le crash se produira toujoursUn correctif qui a fonctionné pour moi: déconnectez le deuxième moniteur, ouvrez git gui
-> fonctionne, fermez-le, reconnectez le deuxième moniteur et exécutez git gui
-> fonctionne à nouveau :)
Sur High Sierra (10.13), j'ai eu le même problème avec git gui.
J'ai résolu le problème en mettant à jour git de 2.7.0 à 2.14.2
brew upgrade git