onekey-sec/unblob

Illegal instruction MacOS 12.7.6

Opened this issue · 4 comments

I'm getting the same error as this thread

#613

On a mid-2012 Macbook Pro - 9,1, Monterey 12.7,.6 - I've moved to this machine from an even older Core 2 duo Macbook Pro (virtually a Museum piece) as I was also getting the illegal instruction on that machine.

Fortunately I've captured the full output this time.

I used the install from source instructions from https://unblob.org/installation/
Git, poetry etc - seemed to go smoothly

running this however
poetry run unblob --show-external-dependencies

Generates this error
zsh: illegal hardware instruction poetry run unblob --show-external-dependencies: full output below

I've also tried to install unblob from source on Linux MX however there's something simple and fundamental missing from the installation instructions it seems.

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               Python [1527]
Path:                  /opt/local/Library/Frameworks/Python.framework/Versions/3.12/Resources/Python.app/Contents/MacOS/Python
Identifier:            org.python.python
Version:               3.12.7 (3.12.7)
Code Type:             X86-64 (Native)
Parent Process:        zsh [1159]
Responsible:           Terminal [645]
User ID:               501

Date/Time:             2024-12-15 13:56:40.7274 +1100
OS Version:            macOS 12.7.6 (21H1320)
Report Version:        12
Anonymous UUID:        52F0C827-25B8-DB5F-DCD4-93D90ACD7C76


Time Awake Since Boot: 1700 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 Reason:    Namespace SIGNAL, Code 4 Illegal instruction: 4
Terminating Process:   exc handler [1527]

Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   _pyperscan.abi3.so            	       0x110d1b020 _GLOBAL__sub_I_ng_asserts.cpp + 48
1   dyld                          	       0x115bc5e4f invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const + 182
2   dyld                          	       0x115bec911 invocation function for block in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const + 129
3   dyld                          	       0x115be3e26 invocation function for block in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const + 557
4   dyld                          	       0x115bb2db3 dyld3::MachOFile::forEachLoadCommand(Diagnostics&, void (load_command const*, bool&) block_pointer) const + 129
5   dyld                          	       0x115be3bb7 dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const + 179
6   dyld                          	       0x115bec342 dyld3::MachOAnalyzer::forEachInitializerPointerSection(Diagnostics&, void (unsigned int, unsigned int, unsigned char const*, bool&) block_pointer) const + 118
7   dyld                          	       0x115bec5b4 dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const + 386
8   dyld                          	       0x115bc5d82 dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const + 144
9   dyld                          	       0x115bc5f0e dyld4::Loader::runInitializersBottomUp(dyld4::RuntimeState&, dyld3::Array<dyld4::Loader const*>&) const + 178
10  dyld                          	       0x115bc5fb2 dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&) const + 108
11  dyld                          	       0x115bd4e00 dyld4::APIs::dlopen_from(char const*, int, void*) + 592
12  Python                        	       0x10e8b50d4 _PyImport_FindSharedFuncptr + 139
13  Python                        	       0x10e86ea94 _PyImport_LoadDynamicModuleWithSpec + 502
14  Python                        	       0x10e86de98 _imp_create_dynamic + 167
15  Python                        	       0x10e768ade cfunction_vectorcall_FASTCALL + 98
16  Python                        	       0x10e82410f _PyEval_EvalFrameDefault + 58413
17  Python                        	       0x10e71196c object_vacall + 264
18  Python                        	       0x10e711815 PyObject_CallMethodObjArgs + 230
19  Python                        	       0x10e86ae61 PyImport_ImportModuleLevelObject + 1107
20  Python                        	       0x10e81efd8 _PyEval_EvalFrameDefault + 37622
21  Python                        	       0x10e815b0d PyEval_EvalCode + 307
22  Python                        	       0x10e811cfe builtin_exec + 476
23  Python                        	       0x10e768bb4 cfunction_vectorcall_FASTCALL_KEYWORDS + 90
24  Python                        	       0x10e82410f _PyEval_EvalFrameDefault + 58413
25  Python                        	       0x10e71196c object_vacall + 264
26  Python                        	       0x10e711815 PyObject_CallMethodObjArgs + 230
27  Python                        	       0x10e86ae61 PyImport_ImportModuleLevelObject + 1107
28  Python                        	       0x10e81efd8 _PyEval_EvalFrameDefault + 37622
29  Python                        	       0x10e815b0d PyEval_EvalCode + 307
30  Python                        	       0x10e811cfe builtin_exec + 476
31  Python                        	       0x10e768bb4 cfunction_vectorcall_FASTCALL_KEYWORDS + 90
32  Python                        	       0x10e82410f _PyEval_EvalFrameDefault + 58413
33  Python                        	       0x10e71196c object_vacall + 264
34  Python                        	       0x10e711815 PyObject_CallMethodObjArgs + 230
35  Python                        	       0x10e86ae61 PyImport_ImportModuleLevelObject + 1107
36  Python                        	       0x10e81015e builtin___import__ + 198
37  Python                        	       0x10e768bb4 cfunction_vectorcall_FASTCALL_KEYWORDS + 90
38  Python                        	       0x10e82410f _PyEval_EvalFrameDefault + 58413
39  Python                        	       0x10e71196c object_vacall + 264
40  Python                        	       0x10e711815 PyObject_CallMethodObjArgs + 230
41  Python                        	       0x10e86aeeb PyImport_ImportModuleLevelObject + 1245
42  Python                        	       0x10e81efd8 _PyEval_EvalFrameDefault + 37622
43  Python                        	       0x10e815b0d PyEval_EvalCode + 307
44  Python                        	       0x10e811cfe builtin_exec + 476
45  Python                        	       0x10e768bb4 cfunction_vectorcall_FASTCALL_KEYWORDS + 90
46  Python                        	       0x10e82410f _PyEval_EvalFrameDefault + 58413
47  Python                        	       0x10e71196c object_vacall + 264
48  Python                        	       0x10e711815 PyObject_CallMethodObjArgs + 230
49  Python                        	       0x10e86ae61 PyImport_ImportModuleLevelObject + 1107
50  Python                        	       0x10e81efd8 _PyEval_EvalFrameDefault + 37622
51  Python                        	       0x10e815b0d PyEval_EvalCode + 307
52  Python                        	       0x10e811cfe builtin_exec + 476
53  Python                        	       0x10e768bb4 cfunction_vectorcall_FASTCALL_KEYWORDS + 90
54  Python                        	       0x10e82410f _PyEval_EvalFrameDefault + 58413
55  Python                        	       0x10e815b0d PyEval_EvalCode + 307
56  Python                        	       0x10e890047 run_eval_code_obj + 83
57  Python                        	       0x10e88e028 run_mod + 107
58  Python                        	       0x10e88d5e5 PyRun_StringFlags + 112
59  Python                        	       0x10e88d52e PyRun_SimpleStringFlags + 69
60  Python                        	       0x10e8b5518 Py_RunMain + 725
61  Python                        	       0x10e8b5bd6 pymain_main + 412
62  Python                        	       0x10e8b5c7e Py_BytesMain + 42
63  dyld                          	       0x115bb652e start + 462


Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x000000010de91060  rbx: 0x00007ff7b2077e00  rcx: 0x00007ff7b207b908  rdx: 0x00007ff7b207b850
  rdi: 0x0000000000000003  rsi: 0x00007ff7b207b830  rbp: 0x00007ff7b2077df0  rsp: 0x00007ff7b2077df0
   r8: 0x00007ff8453f64f0   r9: 0x0000000000000000  r10: 0x00000000000003b8  r11: 0x0000000115bec890
  r12: 0x00007ff7b20782e0  r13: 0x0000000110b896a0  r14: 0x0000000110d1aff0  r15: 0x000000010de91060
  rip: 0x0000000110d1b020  rfl: 0x0000000000010206  cr2: 0x0000000000000000
  
Logical CPU:     6
Error Code:      0x00000000 
Trap Number:     6

Thread 0 instruction stream:
  5c ca 2d 00 c5 f8 57 c0-c5 f8 29 05 60 ca 2d 00  \.-...W...).`.-.
  c5 fd 6f 05 48 ca 2d 00-c5 fd 7f 05 60 ca 2d 00  ..o.H.-.....`.-.
 [c5]fd 76 c0 c5 fd ef 05-54 ca 2d 00 c7 05 0a ca  ..v.....T.-.....	<==
  2d 00 00 00 00 00 c5 fd-7f 05 42 ca 2d 00 c5 f9  -.........B.-...
  6f 05 1a ca 2d 00 c5 f9-7f 05 52 ca 2d 00 c5 f9  o...-.....R.-...
  76 c0 c5 f9 7f 05 56 ca-2d 00 c5 fc 28 05 1e ca  v.....V.-...(...
  2d 00 c5 fc 29 05 56 ca-2d 00 5d c5 f8 77 c3 90  -...).V.-.]..w..
  55 48 89 e5 41 57 41 56-41 55 41 54 53 50 49 89  UH..AWAVAUATSPI.
  cc 49 89 d5 49 89 f6 48-89 7d d0 49 83 c5 18 bf  .I..I..H.}.I....
  78 00 00 00 e8 29 bc 28-00 49 89 c7 48 89 c3 48  x....).(.I..H..H
  8d 05 ba 55 2d 00 49 89-07 4d 89 77 08 4d 89 6f  ...U-.I..M.w.M.o
  10 bf 88 00 00 00 e8 07-bc 28 00 49 89 c5 48 89  .........(.I..H.

Binary Images:
       0x110b89000 -        0x110fecfff _pyperscan.abi3.so (*) <6431cdbc-eaaa-3587-b417-057462753d1e> /Users/USER/Library/Caches/*/_pyperscan.abi3.so
       0x115bb1000 -        0x115c1cfff dyld (*) <eea022bb-a6ab-3cd1-8ac1-54ce8cfd3333> /usr/lib/dyld
       0x10e6a1000 -        0x10ea20fff org.python.python (3.12.7, (c) 2001-2023 Python Software Foundation.) <a4bca307-9de6-39e9-9a39-2a50d7225bae> /opt/local/Library/Frameworks/Python.framework/Versions/3.12/Python

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=424.0M resident=0K(0%) swapped_out_or_unallocated=424.0M(100%)
Writable regions: Total=616.7M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=616.7M(100%)

                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Kernel Alloc Once                    8K        1 
MALLOC                           196.2M       45 
MALLOC guard page                   16K        4 
MALLOC_LARGE (reserved)            384K        2         reserved VM address space (unallocated)
MALLOC_NANO (reserved)           384.0M        1         reserved VM address space (unallocated)
STACK GUARD                          4K        1 
Stack                             16.0M        1 
VM_ALLOCATE                       19.0M       22 
__DATA                            4589K      166 
__DATA_CONST                      6959K      127 
__DATA_DIRTY                       209K       50 
__LINKEDIT                       317.6M       50 
__OBJC_RO                         82.9M        1 
__OBJC_RW                         3200K        2 
__TEXT                           106.4M      177 
__UNICODE                          592K        1 
dyld private memory               1024K        1 
shared memory                       12K        2 
===========                     =======  ======= 
TOTAL                              1.1G      654 
TOTAL, minus reserved VM space   754.3M      654 



-----------
Full Report
-----------

{"app_name":"Python","timestamp":"2024-12-15 13:56:44.00 +1100","app_version":"3.12.7","slice_uuid":"c30393a8-0580-3f4d-af99-33caefba5292","build_version":"3.12.7","platform":1,"bundleID":"org.python.python","share_with_app_devs":0,"is_first_party":0,"bug_type":"309","os_version":"macOS 12.7.6 (21H1320)","incident_id":"9FF41E07-0DD2-4734-A4C5-A7062CE953CA","name":"Python"}
{
  "uptime" : 1700,
  "procLaunch" : "2024-12-15 13:56:38.7165 +1100",
  "procRole" : "Unspecified",
  "version" : 2,
  "userID" : 501,
  "deployVersion" : 210,
  "modelCode" : "MacBookPro9,1",
  "procStartAbsTime" : 1785201855905,
  "coalitionID" : 751,
  "osVersion" : {
    "train" : "macOS 12.7.6",
    "build" : "21H1320",
    "releaseType" : "User"
  },
  "captureTime" : "2024-12-15 13:56:40.7274 +1100",
  "incident" : "9FF41E07-0DD2-4734-A4C5-A7062CE953CA",
  "bug_type" : "309",
  "pid" : 1527,
  "procExitAbsTime" : 1787212308996,
  "cpuType" : "X86-64",
  "procName" : "Python",
  "procPath" : "\/opt\/local\/Library\/Frameworks\/Python.framework\/Versions\/3.12\/Resources\/Python.app\/Contents\/MacOS\/Python",
  "bundleInfo" : {"CFBundleShortVersionString":"3.12.7","CFBundleVersion":"3.12.7","CFBundleIdentifier":"org.python.python"},
  "storeInfo" : {"deviceIdentifierForVendor":"B7B15216-B180-566D-9DD4-363B9F5A7533","thirdParty":true},
  "parentProc" : "zsh",
  "parentPid" : 1159,
  "coalitionName" : "com.apple.Terminal",
  "crashReporterKey" : "52F0C827-25B8-DB5F-DCD4-93D90ACD7C76",
  "responsiblePid" : 645,
  "responsibleProc" : "Terminal",
  "sip" : "enabled",
  "isCorpse" : 1,
  "exception" : {"codes":"0x0000000000000001, 0x0000000000000000","rawCodes":[1,0],"type":"EXC_BAD_INSTRUCTION","signal":"SIGILL"},
  "termination" : {"flags":0,"code":4,"namespace":"SIGNAL","indicator":"Illegal instruction: 4","byProc":"exc handler","byPid":1527},
  "extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0},
  "faultingThread" : 0,
  "threads" : [{"triggered":true,"id":22771,"instructionState":{"instructionStream":{"bytes":[92,202,45,0,197,248,87,192,197,248,41,5,96,202,45,0,197,253,111,5,72,202,45,0,197,253,127,5,96,202,45,0,197,253,118,192,197,253,239,5,84,202,45,0,199,5,10,202,45,0,0,0,0,0,197,253,127,5,66,202,45,0,197,249,111,5,26,202,45,0,197,249,127,5,82,202,45,0,197,249,118,192,197,249,127,5,86,202,45,0,197,252,40,5,30,202,45,0,197,252,41,5,86,202,45,0,93,197,248,119,195,144,85,72,137,229,65,87,65,86,65,85,65,84,83,80,73,137,204,73,137,213,73,137,246,72,137,125,208,73,131,197,24,191,120,0,0,0,232,41,188,40,0,73,137,199,72,137,195,72,141,5,186,85,45,0,73,137,7,77,137,119,8,77,137,111,16,191,136,0,0,0,232,7,188,40,0,73,137,197,72,137],"offset":32}},"threadState":{"r13":{"value":4575499936},"rax":{"value":4528345184},"rflags":{"value":66054},"cpu":{"value":6},"r14":{"value":4577144816,"symbolLocation":0,"symbol":"_GLOBAL__sub_I_ng_asserts.cpp"},"rsi":{"value":140701820500016},"r8":{"value":140704290399472,"symbolLocation":16,"symbol":"dyld4::gDyld"},"cr2":{"value":0},"rdx":{"value":140701820500048},"r10":{"value":952},"r9":{"value":0},"r15":{"value":4528345184},"rbx":{"value":140701820485120},"trap":{"value":6},"err":{"value":0},"r11":{"value":4659792016,"symbolLocation":0,"symbol":"invocation function for block in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const"},"rip":{"value":4577144864,"matchesCrashFrame":1},"rbp":{"value":140701820485104},"rsp":{"value":140701820485104},"r12":{"value":140701820486368},"rcx":{"value":140701820500232},"flavor":"x86_THREAD_STATE","rdi":{"value":3}},"queue":"com.apple.main-thread","frames":[{"imageOffset":1646624,"symbol":"_GLOBAL__sub_I_ng_asserts.cpp","symbolLocation":48,"imageIndex":0},{"imageOffset":85583,"symbol":"invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const","symbolLocation":182,"imageIndex":1},{"imageOffset":243985,"symbol":"invocation function for block in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const","symbolLocation":129,"imageIndex":1},{"imageOffset":208422,"symbol":"invocation function for block in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const","symbolLocation":557,"imageIndex":1},{"imageOffset":7603,"symbol":"dyld3::MachOFile::forEachLoadCommand(Diagnostics&, void (load_command const*, bool&) block_pointer) const","symbolLocation":129,"imageIndex":1},{"imageOffset":207799,"symbol":"dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const","symbolLocation":179,"imageIndex":1},{"imageOffset":242498,"symbol":"dyld3::MachOAnalyzer::forEachInitializerPointerSection(Diagnostics&, void (unsigned int, unsigned int, unsigned char const*, bool&) block_pointer) const","symbolLocation":118,"imageIndex":1},{"imageOffset":243124,"symbol":"dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const","symbolLocation":386,"imageIndex":1},{"imageOffset":85378,"symbol":"dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const","symbolLocation":144,"imageIndex":1},{"imageOffset":85774,"symbol":"dyld4::Loader::runInitializersBottomUp(dyld4::RuntimeState&, dyld3::Array<dyld4::Loader const*>&) const","symbolLocation":178,"imageIndex":1},{"imageOffset":85938,"symbol":"dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&) const","symbolLocation":108,"imageIndex":1},{"imageOffset":146944,"symbol":"dyld4::APIs::dlopen_from(char const*, int, void*)","symbolLocation":592,"imageIndex":1},{"imageOffset":2179284,"symbol":"_PyImport_FindSharedFuncptr","symbolLocation":139,"imageIndex":2},{"imageOffset":1890964,"symbol":"_PyImport_LoadDynamicModuleWithSpec","symbolLocation":502,"imageIndex":2},{"imageOffset":1887896,"symbol":"_imp_create_dynamic","symbolLocation":167,"imageIndex":2},{"imageOffset":817886,"symbol":"cfunction_vectorcall_FASTCALL","symbolLocation":98,"imageIndex":2},{"imageOffset":1585423,"symbol":"_PyEval_EvalFrameDefault","symbolLocation":58413,"imageIndex":2},{"imageOffset":461164,"symbol":"object_vacall","symbolLocation":264,"imageIndex":2},{"imageOffset":460821,"symbol":"PyObject_CallMethodObjArgs","symbolLocation":230,"imageIndex":2},{"imageOffset":1875553,"symbol":"PyImport_ImportModuleLevelObject","symbolLocation":1107,"imageIndex":2},{"imageOffset":1564632,"symbol":"_PyEval_EvalFrameDefault","symbolLocation":37622,"imageIndex":2},{"imageOffset":1526541,"symbol":"PyEval_EvalCode","symbolLocation":307,"imageIndex":2},{"imageOffset":1510654,"symbol":"builtin_exec","symbolLocation":476,"imageIndex":2},{"imageOffset":818100,"symbol":"cfunction_vectorcall_FASTCALL_KEYWORDS","symbolLocation":90,"imageIndex":2},{"imageOffset":1585423,"symbol":"_PyEval_EvalFrameDefault","symbolLocation":58413,"imageIndex":2},{"imageOffset":461164,"symbol":"object_vacall","symbolLocation":264,"imageIndex":2},{"imageOffset":460821,"symbol":"PyObject_CallMethodObjArgs","symbolLocation":230,"imageIndex":2},{"imageOffset":1875553,"symbol":"PyImport_ImportModuleLevelObject","symbolLocation":1107,"imageIndex":2},{"imageOffset":1564632,"symbol":"_PyEval_EvalFrameDefault","symbolLocation":37622,"imageIndex":2},{"imageOffset":1526541,"symbol":"PyEval_EvalCode","symbolLocation":307,"imageIndex":2},{"imageOffset":1510654,"symbol":"builtin_exec","symbolLocation":476,"imageIndex":2},{"imageOffset":818100,"symbol":"cfunction_vectorcall_FASTCALL_KEYWORDS","symbolLocation":90,"imageIndex":2},{"imageOffset":1585423,"symbol":"_PyEval_EvalFrameDefault","symbolLocation":58413,"imageIndex":2},{"imageOffset":461164,"symbol":"object_vacall","symbolLocation":264,"imageIndex":2},{"imageOffset":460821,"symbol":"PyObject_CallMethodObjArgs","symbolLocation":230,"imageIndex":2},{"imageOffset":1875553,"symbol":"PyImport_ImportModuleLevelObject","symbolLocation":1107,"imageIndex":2},{"imageOffset":1503582,"symbol":"builtin___import__","symbolLocation":198,"imageIndex":2},{"imageOffset":818100,"symbol":"cfunction_vectorcall_FASTCALL_KEYWORDS","symbolLocation":90,"imageIndex":2},{"imageOffset":1585423,"symbol":"_PyEval_EvalFrameDefault","symbolLocation":58413,"imageIndex":2},{"imageOffset":461164,"symbol":"object_vacall","symbolLocation":264,"imageIndex":2},{"imageOffset":460821,"symbol":"PyObject_CallMethodObjArgs","symbolLocation":230,"imageIndex":2},{"imageOffset":1875691,"symbol":"PyImport_ImportModuleLevelObject","symbolLocation":1245,"imageIndex":2},{"imageOffset":1564632,"symbol":"_PyEval_EvalFrameDefault","symbolLocation":37622,"imageIndex":2},{"imageOffset":1526541,"symbol":"PyEval_EvalCode","symbolLocation":307,"imageIndex":2},{"imageOffset":1510654,"symbol":"builtin_exec","symbolLocation":476,"imageIndex":2},{"imageOffset":818100,"symbol":"cfunction_vectorcall_FASTCALL_KEYWORDS","symbolLocation":90,"imageIndex":2},{"imageOffset":1585423,"symbol":"_PyEval_EvalFrameDefault","symbolLocation":58413,"imageIndex":2},{"imageOffset":461164,"symbol":"object_vacall","symbolLocation":264,"imageIndex":2},{"imageOffset":460821,"symbol":"PyObject_CallMethodObjArgs","symbolLocation":230,"imageIndex":2},{"imageOffset":1875553,"symbol":"PyImport_ImportModuleLevelObject","symbolLocation":1107,"imageIndex":2},{"imageOffset":1564632,"symbol":"_PyEval_EvalFrameDefault","symbolLocation":37622,"imageIndex":2},{"imageOffset":1526541,"symbol":"PyEval_EvalCode","symbolLocation":307,"imageIndex":2},{"imageOffset":1510654,"symbol":"builtin_exec","symbolLocation":476,"imageIndex":2},{"imageOffset":818100,"symbol":"cfunction_vectorcall_FASTCALL_KEYWORDS","symbolLocation":90,"imageIndex":2},{"imageOffset":1585423,"symbol":"_PyEval_EvalFrameDefault","symbolLocation":58413,"imageIndex":2},{"imageOffset":1526541,"symbol":"PyEval_EvalCode","symbolLocation":307,"imageIndex":2},{"imageOffset":2027591,"symbol":"run_eval_code_obj","symbolLocation":83,"imageIndex":2},{"imageOffset":2019368,"symbol":"run_mod","symbolLocation":107,"imageIndex":2},{"imageOffset":2016741,"symbol":"PyRun_StringFlags","symbolLocation":112,"imageIndex":2},{"imageOffset":2016558,"symbol":"PyRun_SimpleStringFlags","symbolLocation":69,"imageIndex":2},{"imageOffset":2180376,"symbol":"Py_RunMain","symbolLocation":725,"imageIndex":2},{"imageOffset":2182102,"symbol":"pymain_main","symbolLocation":412,"imageIndex":2},{"imageOffset":2182270,"symbol":"Py_BytesMain","symbolLocation":42,"imageIndex":2},{"imageOffset":21806,"symbol":"start","symbolLocation":462,"imageIndex":1}]}],
  "usedImages" : [
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4575498240,
    "size" : 4603904,
    "uuid" : "6431cdbc-eaaa-3587-b417-057462753d1e",
    "path" : "\/Users\/USER\/Library\/Caches\/*\/_pyperscan.abi3.so",
    "name" : "_pyperscan.abi3.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4659548160,
    "size" : 442368,
    "uuid" : "eea022bb-a6ab-3cd1-8ac1-54ce8cfd3333",
    "path" : "\/usr\/lib\/dyld",
    "name" : "dyld"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4536799232,
    "CFBundleShortVersionString" : "3.12.7, (c) 2001-2023 Python Software Foundation.",
    "CFBundleIdentifier" : "org.python.python",
    "size" : 3670016,
    "uuid" : "a4bca307-9de6-39e9-9a39-2a50d7225bae",
    "path" : "\/opt\/local\/Library\/Frameworks\/Python.framework\/Versions\/3.12\/Python",
    "name" : "Python",
    "CFBundleVersion" : "3.12.7"
  }
],
  "sharedCache" : {
  "base" : 140703188946944,
  "size" : 19331678208,
  "uuid" : "eb94d78c-8686-3e1d-8c97-16d784967278"
},
  "vmSummary" : "ReadOnly portion of Libraries: Total=424.0M resident=0K(0%) swapped_out_or_unallocated=424.0M(100%)\nWritable regions: Total=616.7M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=616.7M(100%)\n\n                                VIRTUAL   REGION \nREGION TYPE                        SIZE    COUNT (non-coalesced) \n===========                     =======  ======= \nKernel Alloc Once                    8K        1 \nMALLOC                           196.2M       45 \nMALLOC guard page                   16K        4 \nMALLOC_LARGE (reserved)            384K        2         reserved VM address space (unallocated)\nMALLOC_NANO (reserved)           384.0M        1         reserved VM address space (unallocated)\nSTACK GUARD                          4K        1 \nStack                             16.0M        1 \nVM_ALLOCATE                       19.0M       22 \n__DATA                            4589K      166 \n__DATA_CONST                      6959K      127 \n__DATA_DIRTY                       209K       50 \n__LINKEDIT                       317.6M       50 \n__OBJC_RO                         82.9M        1 \n__OBJC_RW                         3200K        2 \n__TEXT                           106.4M      177 \n__UNICODE                          592K        1 \ndyld private memory               1024K        1 \nshared memory                       12K        2 \n===========                     =======  ======= \nTOTAL                              1.1G      654 \nTOTAL, minus reserved VM space   754.3M      654 \n",
  "legacyInfo" : {
  "threadTriggered" : {
    "queue" : "com.apple.main-thread"
  }
},
  "trialInfo" : {
  "rollouts" : [
    {
      "rolloutId" : "60f8ddccefea4203d95cbeef",
      "factorPackIds" : {

      },
      "deploymentId" : 240000025
    },
    {
      "rolloutId" : "61301e3a61217b3110231469",
      "factorPackIds" : {
        "SIRI_FIND_MY_CONFIGURATION_FILES" : "652886aa2c02f032beae8316"
      },
      "deploymentId" : 240000028
    }
  ],
  "experiments" : [

  ]
}
}

Model: MacBookPro9,1, BootROM 233.0.0.0.0, 4 processors, Quad-Core Intel Core i7, 2.3 GHz, 16 GB, SMC 2.1f175
Graphics: Intel HD Graphics 4000, Intel HD Graphics 4000, Built-In
Display: Color LCD, 1440 x 900 (Widescreen eXtended Graphics Array Plus), Main, MirrorOff, Online
Graphics: NVIDIA GeForce GT 650M, NVIDIA GeForce GT 650M, PCIe, 512 MB
Memory Module: BANK 0/DIMM0, 8 GB, DDR3, 1600 MHz, 0x0000, 0x000000000000000000000000000000000000
Memory Module: BANK 1/DIMM0, 8 GB, DDR3, 1600 MHz, 0x0000, 0x000000000000000000000000000000000000
AirPort: spairport_wireless_card_type_wifi (0x14E4, 0xF5), Broadcom BCM43xx 1.0 (7.77.111.1 AirPortDriverBrcmNIC-1710.4)
AirPort: 
Bluetooth: Version (null), 0 services, 0 devices, 0 incoming serial ports
Network Service: Wi-Fi, AirPort, en1
Serial ATA Device: CT1000MX500SSD1, 1 TB
Serial ATA Device: CT2000MX500SSD1, 2 TB
USB Device: USB30Bus
USB Device: USB20Bus
USB Device: hub_device
USB Device: hub_device
USB Device: Apple Internal Keyboard / Trackpad
USB Device: IR Receiver
USB Device: BRCM20702 Hub
USB Device: Bluetooth USB Host Controller
USB Device: composite_device
USB Device: composite_device
USB Device: USB20Bus
USB Device: hub_device
USB Device: FaceTime HD Camera (Built-in)
Thunderbolt Bus: MacBook Pro, Apple Inc., 25.1

I've got unblob working:
Relatively speaking, as I'm not getting worthwhile output on the firmware files I'm analysing, but that's likely down to encryption and compression.
I've got it working on the younger Macbook under Linux Mint, the same machine that generated the error output above under MacOS 12.7.6 - so it isn't a hardware issue with Quad-Core Intel Core i7, it's an issue with MacOS (perhaps on that hardware).

If there's anything else you'd like me to do or provide, just ask, however at this point as I do have it working under Linux, it's probably of benefit to other MacOS users in the longer term.

@ruckusman thanks for the detailed report and follow up. I think it is an hardware limitation, but it shows up on MacOS because the pyperscan shared dylib is probably built in a way that includes specific instructions while on Linux it's not there.

We're already disabling AVX512 and FAT_RUNTIME in pyperscan (see https://github.com/vlaci/pyperscan/blob/main/hyperscan-sys/build.rs#L83) to make it work on old Apple devices, so it's really weird that you get this crash.

If you could share the coredump file with us, we can have a look and check what exact instruction it's failing on.

What I've posted above is the full output from python, it doesn't take the entire OS down (if I am understanding coredump correctly to be an OS crash, it doesn't)

I've just checked and the /cores folder on that system is empty.

I can replicate the python crash again easily and capture more output if you can point me in the right direction as to anything else that may be of assistance.

If there's a switch that I can pass to python for instance to give a more detailed output of the error, I'm happy to do it.

There is more than one way to 'run' unblob.
I can just type straight unblob - that fails.

I can also run unblob via python using:
python3 /Users/glenn/Library/Python/3.12/bin/unblob

I don't see any distinct differences between the two, but will post the other output from the other machine shortly.

Thank you for giving this your time and attention it is very much appreciated.

What I've posted above is the full output from python, it doesn't take the entire OS down (if I am understanding coredump correctly to be an OS crash, it doesn't)

coredump are generated on process crash.

I've just checked and the /cores folder on that system is empty.

You probably need to enable coredumping by typing this command in your terminal before running unblob:

ulimit -c unlimited