Chimera Crash on Mac with Two Displays

August 5, 2013

Mac Chimera 1.8 and probably earlier versions crash when two displays are used when the mouse is hovered over the graphics. Here is how to avoid the problem.

What Causes the Crash

This crash is only known to happen on Mac OS and is a bug in the Tk 8.6 window toolkit used by Chimera. It happens when the secondary display is positioned above or to the left of the primary display and Chimera is on the secondary display. The primary display is defined to be the one showing the Mac Dock. The relative position of the two displays and which is the primary display is controlled by Mac System Preferences / Displays. The crash occurs when Chimera attempts to show a balloon window, usually when the mouse is placed over an atom or surface in the graphics window.

The pixel coordinates on both screens are measured in Tk with 0,0 in the upper left corner of the primary display, and the y axis increases downward. If the secondary display is above or to the left of the primary display then coordinates pixels on the secondary display will be negative. Apparently a bug in Tk causes it to crash with negative pixel coordinates when displaying popup windows.

Solutions

Any one of the following can avoid this crash.

We have spent some time attempting to debug Tk but did not find the broken code. Tk is poorly maintained on Mac OS and has many bugs. Our next generation version of Chimera will use Qt instead of Tk. So we currently do not plan to find and patch the bug in Tk.