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 com.apple.AppKit 0x00007fff32837454 -[NSApplication _crashOnException:] + 109
1 com.apple.AppKit 0x00007fff32e03cb1 __65+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayRefresh]_block_invoke + 858
2 com.apple.CoreFoundation 0x00007fff34f8f467 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
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.