"Illegal instruction: 4" after porting app to Swift

I can run my app on my MacBook Pro running macOS 10.14.6, but an App Store user reached out to report that it crashes immediately when launching it. When that user runs it from the Terminal, it prints out this:


Illegal instruction: 4

Accepted Reply

To make progress here you’ll need to get a crash report from that user. See Technote 2151 Understanding and Analyzing iOS Application Crash Reports.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Replies

To make progress here you’ll need to get a crash report from that user. See Technote 2151 Understanding and Analyzing iOS Application Crash Reports.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Thank you for your help.


Fortunately the user sent me his defaults file where my app reads the preferences from at startup, and replacing my own file with that one I can replicate the crash in Xcode: `Fatal error: Unexpectedly found nil while unwrapping an Optional value`.


I was expecting that such errors would be logged to the Terminal when running an app from there.


By the way, should I have got en email notifying me of your answers (since I'm following this topic)? I didn't get anything.

I'm getting notifications.

You might want to check to see if you have any spam filters or other things blocking E-mails.

No, I haven't anything in my spam folder.

Fortunately the user sent me his defaults file [and] with that one I can replicate the crash in Xcode

Cool. Now run your app from the Finder and let it crash. That’ll generate a crash report, which is what I’m looking for. Please symbolicate it, and then post it here (using the

<>
button to format it as code).

should I have got en email notifying me of your answers (since I'm following this topic)?

I don’t rely on email notifications, so I don’t have direct experience with this stuff, but my recommendation is that you should check your email notification preferences, which you can access via the Welcome *** link at the top left.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"
I bumped into this while adding a static Perl into my App. As an FYI it was a sandbox thing "Process is not in an inherited sandbox": Perl worked fine when called from the App but failed when I poked inside from Terminal and tried to run it while debugging. Spent a good amount of time tracking this down while at the same time making it Fat for Apple Silicon.

(Aside: any update on when Perl's (et.al.) removal will be official? )

Code Block
Process: staticPerl5.30.0 [95059]
Path: /Users/USER/Library/Developer/Xcode/DerivedData/Edit_Edge_Data-dpmjxqquuuqzhffrqhwzehmoowtv/Build/Products/Debug/Edit Edge Data.app/Contents/Resources/perlembed/bin/staticPerl5.30.0
Identifier: staticPerl5.30.0
Version: ???
Code Type: X86-64 (Native)
Parent Process: bash [13513]
Responsible: Terminal [68576]
User ID: 502
Date/Time: 2021-05-03 13:42:50.546 -0500
OS Version: macOS 11.3 (20E232)
Report Version: 12
Bridge OS Version: 5.3 (18P4556)
Anonymous UUID: 88313202-BD67-335F-59FE-96C5DE7681E6
Time Awake Since Boot: 410000 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x0000000000000001, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Illegal instruction: 4
Termination Reason: Namespace SIGNAL, Code 0x4
Terminating Process: exc handler [95059]
Application Specific Information:
dyld: launch, running initializers
/usr/lib/libSystem.B.dylib
Process is not in an inherited sandbox.
Application Specific Signatures:
Process is not in an inherited sandbox.

Replying to myself, I'm my case the error was because I code signed the executable, duh.