tipos tag remove etiquetas crear git macos crash

tag - El comando git-gui se bloquea en macOS Sierra



github (14)

A mí me funciona: descargue e instale la última versión de TCL (utilicé 8.6.4) http://www.activestate.com/activetcl/downloads

También descargué e instalé la última versión (2.10.1) de git https://git-scm.com/

Verifique que la ventana de gitk no se bloquee después de cambiar el tamaño.

Después de actualizar a macOS Sierra, el comando git-gui bloquea con un error:

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 12 AppKit 0x00007fff8aced143 -[NSScrollerImp _animateToRolloverState] + 274 13 AppKit 0x00007fff8acacb79 __49-[NSScrollerImp _installDelayedRolloverAnimation]_block_invoke + 673 14 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 23 Tk 0x0000000101672f4f Tk_MainLoop + 33 24 Tk 0x000000010167ea5b Tk_MainEx + 1566 25 Wish 0x0000000101658542 Wish + 9538 26 libdyld.dylib 0x00007fffa1d48255 start + 1 ) libc++abi.dylib: terminating with uncaught exception of type NSException error: git-gui died of signal 6

¿Alguien tiene el mismo problema y una solución para esto?



Conglomeré un montón de respuestas de aquí juntas, ya que estoy usando GIT y TCL a través de 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

Con el tiempo, obviamente, los números de versión pueden variar


Considero que los siguientes objetivos constituyen la solución completa al problema:

  • La certeza de la "órbita de la órbita" para resolver esto de una manera clara y lineal.

  • No termines con fuentes feas de un Apple Tcl / Tk heredado

  • Desacople su git gui de Apple enviado Tcl / Tk

    • Confíe en Homebrew para su instalación Tcl / Tk

A continuación encontrará un paso a paso para lograr esto:

  1. Obtenga el Tcl / Tk duplicado de Homebrew

    brew install tcl-tk

  2. Agregue la instalación de Tcl / Tk no interrumpida a la (s) ruta (s) antes de la implementación de Apple rota

    • Esto supone que sus rutas Homebrew tienen prioridad sobre las rutas de su sistema
    • Este debería ser el caso en una instalación Homebrew normal.
    • Esto fallará si tiene archivos en conflicto de sus otras recetas caseras instaladas
    • Por ejemplo, the_platinum_searcher proporciona pt , que entra en conflicto
    • Recomiendo ripgrep para ripgrep este caso

      brew link --force tcl-tk

  3. Arregla tu instalación de gitk reinstalando contra la versión Homebrew sin interrupciones

    • Esto podría no ser necesario, pero ref. el primer objetivo declarado arriba

      brew reinstall git

  4. Copie el nuevo binario de deseo de su instalación de Homebrew Tcl / Tk sobre el paquete roto de Apple en el paquete Git Gui.app

    • Esto se basa ciegamente en la homebrew info <package> de homebrew info <package> para no cambiar

      cp "$(which wish)" "$(brew info git | grep Cellar | cut -d'' '' -f1)/share/git-gui/lib/Git Gui.app/Contents/MacOS/Wish"

El último bit podría ser una buena idea incluir un alias en tu ~/.bashrc y / o equivalente, ya que tendrá que repetirse cada vez que obtengas una nueva versión de 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"''

No estoy completamente seguro de por qué la cita del carácter delimitador de campo para el corte utilizado anteriormente funciona, así que use este alias con precaución, ya que esto podría depender de una versión exacta de bash.


Después de muchos problemas, esta solución resuelve mi problema:

$ brew upgrade tcl-tk

Si está actualizado y esto no funciona, intente:

$ brew uninstall tcl-tk $ brew install tcl-tk

He intentado todas las soluciones en la web pero solo esto resuelve el problema. ¡Aclamaciones!


En High Sierra (10.13) tuve el mismo problema con git gui.

He resuelto el problema actualizando git de 2.7.0 a 2.14.2

brew upgrade git


En lugar de usar el MacOS tcl-tk predeterminado, use el último tcl-tk (8.6.6) de Homebrew y luego vincúlelo por la fuerza, por ejemplo:

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


Esto se ha resuelto en los parches más recientes de macOS Sierra (10.12.2 y superiores) y no es necesario realizar ninguna otra acción.


Hay un problema con Tk 8.5 en MacOS Sierra. Puede reemplazar Tk Wish 8.5 por 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/

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

UPD: Preste atención para reemplazar la versión de git en la ruta de acceso de cp con su versión actual


La respuesta de @sbondaryev (39966704) no funcionó para mí y todavía tengo que probar la de @ ssahu (40119030). Sin embargo, el truco que describo aquí se estrelló con menos frecuencia (aproximadamente el 10% del tiempo) para mí. Y me impide jugar demasiado con las cosas, con suerte, el problema se solucionará correctamente pronto.

  • Parecía que se producía un bloqueo al cambiar el tamaño de la ventana (90% del tiempo). Pero me pareció demasiado pequeño para trabajar y quería redimensionarlo.
  • vi .git/config
  • edita la GUI geography para crear un tamaño de ventana que funcione. Todavía lo mantengo pequeño, aunque sospecho que habrá un tamaño sobre el que siempre se producirá un choque

Mi Sierra (actualizada desde 10.11.6) tiene Tcl / Tk Current apuntando a 8.5 y observé el mismo error después de la actualización, con nuestro programa Python usando Tkinter. No estoy usando Wish. No tuve ayuda de la instalación de Python 2.7 de 32 bits vinculada a Tcl / Tk 8.4 ya que esta no tenía "mosaico". Así que elaboré mi Python, vinculándolo con Tcl / Tk 8.6:

Esto es para que la cerveza use botellas precompiladas en lugar de construir a partir de fuentes, a menos que se indique específicamente lo contrario, por lo que realmente no causa el problema:

xcode-select --install

Luego instale Tcl / Tk:

brew install homebrew/dupes/tcl-tk

Si no instaló Python originalmente con --with-tcl-tk , entonces:

brew uninstall python

Finalmente:

brew install python --with-tcl-tk

Después de esto, tengo Python que está vinculado a Tcl / Tk 8.6 y parece que me deshice del error.


Mi solución debería funcionar para la descarga de git desde https://git-scm.com/

brew install homebrew/dupes/tcl-tk

cd a /usr/local/git/share/git-gui/lib/Git Gui.app/Contents/MacOS y /usr/local/git/share/git-gui/lib/Git Gui.app/Contents/MacOS el Deseo 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


Prueba: git config --local --unset gui.geometry
Este error se produce debido a que el administrador de geometría Tk no funciona, debido a una versión anterior o si está dañado.

Si el comando anterior no funcionó, intente actualizar su xcode: xcode-select --install


Una solución que me funcionó: desconecte el segundo monitor, abra git gui -> funciona, ciérrelo, vuelva a conectar el segundo monitor y ejecute git gui -> vuelva a funcionar :)