Crash with "illegal opcode" - how to debug this issue?

Graham Cox

Hi all,

We’ve received a number of reports from users of a crash due to a SIGILL as follows:

Exception Type: SIGILL
Exception Codes: ILL_ILLOPC at 0x7fff32837454
Crashed Thread: 0

Thread 0 Crashed:
0 0x00007fff32837454 -[NSApplication _crashOnException:] + 109
1 0x00007fff32e03cb1 __65+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayRefresh]_block_invoke + 858

This seems to be an “illegal opcode” being encountered.

I’m at a loss to reproduce it so far, and I’m not sure why our latest build should be experiencing this given the few changes it has compared to the previous version.

What’s a good way to start trying to investigate this issue? Is it possible it’s a compiler issue? I’m using Xcode 9.3.1. ‘illegal opcode’ suggests bad code at the CPU level, but I can’t see how that can happen by writing high-level code or by memory corruption at runtime, since code is protected. Only an errant compiler could write a bad opcode, surely? And if so, that would explain why it’s suddenly an issue, since this is the only build we’ve shipped built in this version of Xcode.


Join to automatically receive all group messages.