Opened 4 years ago

Closed 4 years ago

#52703 closed defect (fixed)

git: git-gui crashing

Reported by: mkae (Marko Käning) Owned by: ci42
Priority: Normal Milestone:
Component: ports Version:
Keywords: sierra Cc:
Port: git

Description (last modified by mkae (Marko Käning))

This happens reproducibly on Sierra 10.12.1:

$ git gui
2016-10-25 20:10:37.108 Wish[21174:142500] *** Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position contains NaN: [0 nan]'
*** First throw call stack:
(
	0   CoreFoundation                      0x00007fffbdc3c48b __exceptionPreprocess + 171
	1   libobjc.A.dylib                     0x00007fffd239ecad objc_exception_throw + 48
	2   CoreFoundation                      0x00007fffbdcba96d +[NSException raise:format:] + 205
	3   QuartzCore                          0x00007fffc37e1520 _ZN2CA5Layer12set_positionERKNS_4Vec2IdEEb + 152
	4   QuartzCore                          0x00007fffc37e1695 -[CALayer setPosition:] + 44
	5   QuartzCore                          0x00007fffc37e1ceb -[CALayer setFrame:] + 644
	6   CoreUI                              0x00007fffc95a94ce _ZN20CUICoreThemeRenderer26MakeOrUpdateScrollBarLayerEPK13CUIDescriptoraPP7CALayer + 1284
	7   CoreUI                              0x00007fffc95a54c3 _ZN20CUICoreThemeRenderer19CreateOrUpdateLayerEPK13CUIDescriptorPP7CALayer + 1595
	8   CoreUI                              0x00007fffc952658d _ZN11CUIRenderer19CreateOrUpdateLayerEPK14__CFDictionaryPP7CALayer + 175
	9   CoreUI                              0x00007fffc9529241 CUICreateOrUpdateLayer + 221
	10  AppKit                              0x00007fffbc26821f -[NSCompositeAppearance _callCoreUIWithBlock:options:] + 226
	11  AppKit                              0x00007fffbb90e0b3 -[NSAppearance _createOrUpdateLayer:options:] + 76
	12  AppKit                              0x00007fffbbb8671f -[NSScrollerImp _animateToRolloverState] + 274
	13  AppKit                              0x00007fffbbb460f9 __49-[NSScrollerImp _installDelayedRolloverAnimation]_block_invoke + 673
	14  AppKit                              0x00007fffbba0c2c5 -[NSScrollerImp _doWork:] + 15
	15  Foundation                          0x00007fffbf61ac88 __NSFireDelayedPerform + 417
	16  CoreFoundation                      0x00007fffbdbbbd74 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
	17  CoreFoundation                      0x00007fffbdbbb9ff __CFRunLoopDoTimer + 1071
	18  CoreFoundation                      0x00007fffbdbbb55a __CFRunLoopDoTimers + 298
	19  CoreFoundation                      0x00007fffbdbb2f81 __CFRunLoopRun + 2065
	20  CoreFoundation                      0x00007fffbdbb2514 CFRunLoopRunSpecific + 420
	21  Tcl                                 0x000000010d22eb43 Tcl_WaitForEvent + 314
	22  Tcl                                 0x000000010d1fe5cd Tcl_DoOneEvent + 274
	23  Tk                                  0x000000010d06bf4f Tk_MainLoop + 33
	24  Tk                                  0x000000010d077a5b Tk_MainEx + 1566
	25  Wish                                0x000000010d04b55a Wish + 9562
	26  libdyld.dylib                       0x00007fffd2c7d255 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
error: git-gui died of signal 6

but worked on Mavericks and El Capitan.

The only difference there is, that git gui starts on Sierra with the warning message:

Spell checking is unavailable:

No word lists can be found for the langueage "en_US".

It briefly displays the gui's dialog before it crashes.

Change History (5)

comment:1 Changed 4 years ago by mkae (Marko Käning)

Description: modified (diff)

comment:2 Changed 4 years ago by stevenwei (Steven Wei)

This has been reported in a few other places:

http://stackoverflow.com/questions/39833961/git-gui-crashes-on-mac-os-x-sierra

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

Seems related to a broken version of Tk 8.5 that shipped with Sierra. I worked around this by installing Tk 8.6.6 via MacPorts, and then forcing Git Gui.app to use the MacPorts version of wish (similar to what is described in the above links):

port install tk +quartz
cd /opt/local/share/git-gui/lib/Git\ Gui.app/Contents/MacOS
mv Wish Wish.bak
ln -s /opt/local/bin/wish Wish

Note: I previously tried simply rebuilding git via MacPorts after installing tk but this was insufficient. The Git Gui.app created during the build contains a Wish binary that links with the broken system Tk.framework. So I ended up symlinking in the MacPorts built version instead.

Last edited 4 years ago by stevenwei (Steven Wei) (previous) (diff)

comment:3 Changed 4 years ago by mkae (Marko Käning)

This seems a bit hackish...

@ci42, is that the way to go for MacPorts?

comment:4 in reply to:  3 Changed 4 years ago by stevenwei (Steven Wei)

Replying to mkae:

This seems a bit hackish...

@ci42, is that the way to go for MacPorts?

Yeah, this was definitely a workaround. Looks like it's no longer necessary as the problem has been fixed in 10.12.2.

comment:5 Changed 4 years ago by mkae (Marko Käning)

Resolution: fixed
Status: newclosed

Thanks for reporting back. Thus closing this one.

Note: See TracTickets for help on using tickets.