Intended audience

IDA 6.9 users on Mac OS X, who have suffered seemingly-apparent crashes while using IDA.

The problem

The Qt 5.4.1 libraries shipped with IDA 6.9 suffer from the following bug: https://bugreports.qt.io/browse/QTBUG-44708, which was apparently fixed in Qt 5.5.0.

If, when IDA crashes, you ever spotted a backtrace that looks like the following:

frame #0: 0x00000000 frame #1: 0x00d8a50d QtGui'QT::QTextEngine::shapeText(int) const + 1187 frame #2: 0x00d8b517 QtGui'QT::QTextEngine::shape(int) const + 1199 frame #3: 0x00d8c977 QtGui'QT::QTextEngine::width(int, int) const + 155 frame #4: 0x00d73571 QtGui'QT::QFontMetricsF::width(QT::QString const&) const + 163 frame #5: 0x00041184 idaq'___lldb_unnamed_function853$$idaq + 420 ...

then you’ve been a victim of this rather tiresome issue.

(note: frame #0 doesn’t quite matter; the 2nd line, QT::QTextEngine::shapeText(int) , is the important one)

The solution

We have applied the patch mentionned in the Qt bugreport & re-built the libqcocoa.dylib Qt platform support.

You will have to:

download & unzip the following archive: qcocoa.zip. verify the shasum of the libqcocoa.dylib file: $ shasum libqcocoa.dylib afcf3603f593776c6f39f41f81e98843897cf0ed libqcocoa.dylib place the libqcocoa.dylib binary instead of the one in /path/to/IDA_6.9/idaq.app/Contents/Plugins/

Once that is done, those crashes shouldn’t happen anymore.

A big, big thank you to Willem Jan Hengeveld & Vladimir Putin, who have reported this!