This is from a test application driving a color measurement device that’s inside a thread class. The latter is to decouple longer taking actions from the main thread, so that no GUI blockage can take place.
The API for the instrument has a callback and an API method to register this one. Which, in first tests, used to work. But only here, not on customer’s computer. I somehow managed to recreate the hard crash they run into. It will appear whenever the callback is triggered, and in form of an
Exception Type: EXC_BAD_ACCESS (SIGKILL (Code Signature Invalid))
Exception Codes: UNKNOWN_0x32 at 0x0000000106ff8000
Exception Codes: 0x0000000000000032, 0x0000000106ff8000Termination Reason: Namespace CODESIGNING, Code 2 Invalid Page
VM Region Info: 0x106ff8000 is in 0x106ff8000-0x106ffc000; bytes after start: 0 bytes before end: 16383
REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL
CG image 106ff4000-106ff8000 [ 16K] rw-/rwx SM=PRV
—> VM_ALLOCATE 106ff8000-106ffc000 [ 16K] r-x/rwx SM=PRV
CoreAnimation 106ffc000-107000000 [ 16K] rw-/rwx SM=PRV
which I cannot explain to myself. Sounds like there would be issues with code signing, but the exception will not disappear even if I notarise the app with AppWrapper. I am using DeclareCallbackMBS for the callback (pinging @Christian_Schmitz in case this could somehow be connected, which I doubt. I also tried a shared method with the same exception.) Any ideas for this?
Thread 12 Crashed:
0 ??? 0x106ff8000 ???
1 i1Pro3 0x11a89c81c 0x11a800000 + 641052
2 i1Pro3 0x11a804390 0x11a800000 + 17296
3 libsystem_pthread.dylib 0x1844942e4 0x18448d000 + 29412
4 libsystem_pthread.dylib 0x18448f0fc 0x18448d000 + 8444
Thread 13:
0 libsystem_pthread.dylib 0x18448f0e8 0x18448d000 + 8424
Thread 12 crashed with ARM Thread State (64-bit):
x0: 0x000000011e0b0e10 x1: 0x0000000000000001 x2: 0x0000000000000000 x3: 0x00006000026dc05d
x4: 0x0000000000000001 x5: 0x00000000e32b9003 x6: 0x0000000000000022 x7: 0x000000011a98a91e
x8: 0x0000000106ff8000 x9: 0x0000000000000002 x10: 0x0000000000000000 x11: 0x0000000000000002
x12: 0x0000000000000000 x13: 0x0000000000000000 x14: 0x00000000e36b9003 x15: 0x00000000e34b8873
x16: 0x000000018448ee18 x17: 0x0000000000000003 x18: 0x0000000000000000 x19: 0x000000011aa058f0
x20: 0x000000011a9e3cc0 x21: 0x0000000000000000 x22: 0x0000000000000000 x23: 0x0000000000000000
x24: 0x0000000000000000 x25: 0x0000000000000000 x26: 0x0000000000000000 x27: 0x0000000000000000
x28: 0x0000000000000000 fp: 0x000000016fbdef30 lr: 0x000000011a89c424
sp: 0x000000016fbdee10 pc: 0x0000000106ff8000 cpsr: 0x80001000
far: 0x0000000106ff8000 esr: 0x8200000f (Instruction Abort) Permission fault