Repository navigation
Closed
Labels
Description
What version of Bun is running?
The bun binary crashes immediately, so bun --revision cannot be run. Downloaded version: v1.3.14
What platform is your computer?
Darwin 24.6.0 x86_64 i386
What steps can reproduce the bug?
- Download
bun-darwin-x64-baseline.zipfrom the latest release. - Extract the archive.
- Run
./bun --versionin the terminal.
What is the expected behavior?
The baseline binary should run on all x86_64 Macs, including Ivy Bridge CPUs, and print the Bun version.
What do you see instead?
The process is killed immediately with "illegal hardware instruction". Terminal output:
[1] 6626 illegal hardware instruction ./bun
Additional information
Crash Report (.ips)
-------------------------------------
Translated Report (Full Report Below)
-------------------------------------
Process: bun [6626]
Path: /Users/USER/Downloads/*/bun
Identifier: bun
Version: ???
Code Type: X86-64 (Native)
Parent Process: zsh [86567]
Responsible: Terminal [86561]
User ID: 501
Date/Time: 2026-06-19 20:27:33.4544 +0800
OS Version: macOS 15.7.5 (24G624)
Report Version: 12
Anonymous UUID: 1B84DC21-90EB-B4CC-9FA3-F599F64F20DC
Time Awake Since Boot: 43000 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x0000000000000001, 0x0000000000000000
Termination Reason: Namespace SIGNAL, Code 4 Illegal instruction: 4
Terminating Process: exc handler [6626]
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 bun 0x107f6aa4a 0x1076ea000 + 8915530
1 bun 0x107f6669c 0x1076ea000 + 8898204
2 bun 0x107f65e4b 0x1076ea000 + 8896075
3 dyld 0x7ff8062b2642 invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const + 290
4 dyld 0x7ff8062e3eba invocation function for block in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const + 234
5 dyld 0x7ff806312534 invocation function for block in mach_o::Header::forEachSection(void (mach_o::Header::SectionInfo const&, bool&) block_pointer) const + 271
6 dyld 0x7ff80630f8a5 mach_o::Header::forEachLoadCommand(void (load_command const*, bool&) block_pointer) const + 191
7 dyld 0x7ff806310e1a mach_o::Header::forEachSection(void (mach_o::Header::SectionInfo const&, bool&) block_pointer) const + 116
8 dyld 0x7ff8062e3a9c dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const + 470
9 dyld 0x7ff8062b24aa dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const + 150
10 dyld 0x7ff8062b8cdb dyld4::JustInTimeLoader::runInitializers(dyld4::RuntimeState&) const + 21
11 dyld 0x7ff8062b281c dyld4::Loader::runInitializersBottomUp(dyld4::RuntimeState&, dyld3::Array<dyld4::Loader const*>&, dyld3::Array<dyld4::Loader const*>&) const + 276
12 dyld 0x7ff8062b6269 dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&) const::$_0::operator()() const + 147
13 dyld 0x7ff8062b28c5 dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&) const + 115
14 dyld 0x7ff8062cc90b dyld4::APIs::runAllInitializersForMain() + 269
15 dyld 0x7ff80629e634 dyld4::prepare(dyld4::APIs&, mach_o::Header const*) + 3587
16 dyld 0x7ff80629d81f dyld4::start(dyld4::KernelArgs*, void*, void*)::$_0::operator()() const + 239
17 dyld 0x7ff80629d4da start + 2970
Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x0000000000000001 rbx: 0xfffffffffffffea2 rcx: 0x000000000000002f rdx: 0x0000000000000001
rdi: 0x00007ff7b880fb50 rsi: 0x0000000000000002 rbp: 0x00007ff7b880fb20 rsp: 0x00007ff7b880fb10
r8: 0x0000000000000000 r9: 0x0000000000000000 r10: 0x00007ff7b880fb38 r11: 0x0000000000000202
r12: 0x00007ff7b880fc28 r13: 0x00000001076ea070 r14: 0x000000000000aabb r15: 0x00007ff84821c1e8
rip: 0x0000000107f6aa4a rfl: 0x0000000000010283 cr2: 0x0000000000000000
Logical CPU: 0
Error Code: 0x00000000
Trap Number: 6
Thread 0 instruction stream:
f6 4c 89 fa 48 83 c4 08-5b 41 5e 41 5f 5d e9 83 .L..H...[A^A_]..
02 01 00 0f 1f 00 55 48-89 e5 41 56 53 83 3d 4a ......UH..AVS.=J
21 af 03 00 0f 84 17 02-00 00 48 8b 05 35 21 af !.........H..5!.
03 48 83 f8 40 b9 40 00-00 00 48 0f 4c c8 48 85 .H..@[email protected].
c0 b8 2f 00 00 00 48 0f-4f c1 48 83 f8 1e b9 1d ../...H.O.H.....
00 00 00 48 0f 43 c8 48-83 f8 40 b8 01 00 00 00 ...H.C.H..@.....
[c4]e2 f1 f7 d0 48 c7 c6-00 00 ff ff 48 0f 42 f2 .....H......H.B. <==
48 89 35 3f 74 b3 03 8d-51 e3 c4 e2 e9 f7 c0 48 H.5?t...Q......H
89 05 38 74 b3 03 48 8b-0d d9 21 af 03 b8 08 00 ..8t..H...!.....
00 00 c4 e2 e9 f7 c0 c4-e2 e8 f3 c9 48 8d 5c 01 ............H.\.
ff 75 18 48 f7 d9 48 21-cb 48 8d bb 00 00 01 00 .u.H..H!.H......
48 81 fb 01 00 01 00 73-31 eb 3c 48 89 d8 48 09 H......s1.<H..H.
Binary Images:
0x1076ea000 - 0x10b6c8fff bun (*) <18601ead-261d-3873-a0a1-c9b95e96d94e> /Users/USER/Downloads/*/bun
0x7ff806297000 - 0x7ff8063316c7 dyld (*) <4771ef66-fba6-38f6-8cf7-5c46b41eb552> /usr/lib/dyld
0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ???
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=234.7M resident=0K(0%) swapped_out_or_unallocated=234.7M(100%)
Writable regions: Total=545.3M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=545.3M(100%)
VIRTUAL REGION
REGION TYPE SIZE COUNT (non-coalesced)
=========== ======= =======
Kernel Alloc Once 8K 1
MALLOC 521.1M 10
MALLOC guard page 16K 4
STACK GUARD 4K 1
Stack 18.0M 1
__BUN 16K 1
__DATA 6842K 43
__DATA_CONST 1663K 47
__DATA_DIRTY 73K 25
__LINKEDIT 162.2M 3
__OBJC_RO 61.3M 1
__OBJC_RW 2394K 3
__TEXT 72.5M 47
__TPRO_CONST 16 2
shared memory 32K 3
=========== ======= =======
TOTAL 845.9M 192
-----------
Full Report
-----------
{"app_name":"bun","timestamp":"2026-06-19 20:27:33.00 +0800","app_version":"","slice_uuid":"18601ead-261d-3873-a0a1-c9b95e96d94e","build_version":"","platform":1,"share_with_app_devs":1,"is_first_party":1,"bug_type":"309","os_version":"macOS 15.7.5 (24G624)","roots_installed":0,"incident_id":"5842D967-555C-4BF9-9BCC-74CB7ADD65DE","name":"bun"}
{
"uptime" : 43000,
"procRole" : "Unspecified",
"version" : 2,
"userID" : 501,
"deployVersion" : 210,
"modelCode" : "MacPro7,1",
"coalitionID" : 7724,
"osVersion" : {
"train" : "macOS 15.7.5",
"build" : "24G624",
"releaseType" : "User"
},
"captureTime" : "2026-06-19 20:27:33.4544 +0800",
"codeSigningMonitor" : 0,
"incident" : "5842D967-555C-4BF9-9BCC-74CB7ADD65DE",
"pid" : 6626,
"cpuType" : "X86-64",
"roots_installed" : 0,
"bug_type" : "309",
"procLaunch" : "2026-06-19 20:27:33.4094 +0800",
"procStartAbsTime" : 43707588402346,
"procExitAbsTime" : 43707633143467,
"procName" : "bun",
"procPath" : "\/Users\/USER\/Downloads\/*\/bun",
"parentProc" : "zsh",
"parentPid" : 86567,
"coalitionName" : "com.apple.Terminal",
"crashReporterKey" : "1B84DC21-90EB-B4CC-9FA3-F599F64F20DC",
"appleIntelligenceStatus" : {"reasons":["countryBillingIneligible","deviceNotCapable","countryLocationIneligible"],"state":"unavailable"},
"responsiblePid" : 86561,
"responsibleProc" : "Terminal",
"codeSigningID" : "bun",
"codeSigningTeamID" : "7FRXF46ZSN",
"codeSigningFlags" : 570490881,
"codeSigningValidationCategory" : 6,
"codeSigningTrustLevel" : 4294967295,
"codeSigningAuxiliaryInfo" : 0,
"bootSessionUUID" : "965B2ACB-46B9-4F35-A4DC-D7AD04178296",
"sip" : "enabled",
"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":6626},
"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":1155575,"instructionState":{"instructionStream":{"bytes":[246,76,137,250,72,131,196,8,91,65,94,65,95,93,233,131,2,1,0,15,31,0,85,72,137,229,65,86,83,131,61,74,33,175,3,0,15,132,23,2,0,0,72,139,5,53,33,175,3,72,131,248,64,185,64,0,0,0,72,15,76,200,72,133,192,184,47,0,0,0,72,15,79,193,72,131,248,30,185,29,0,0,0,72,15,67,200,72,131,248,64,184,1,0,0,0,196,226,241,247,208,72,199,198,0,0,255,255,72,15,66,242,72,137,53,63,116,179,3,141,81,227,196,226,233,247,192,72,137,5,56,116,179,3,72,139,13,217,33,175,3,184,8,0,0,0,196,226,233,247,192,196,226,232,243,201,72,141,92,1,255,117,24,72,247,217,72,33,203,72,141,187,0,0,1,0,72,129,251,1,0,1,0,115,49,235,60,72,137,216,72,9],"offset":96}},"threadState":{"r13":{"value":4419657840},"rax":{"value":1},"rflags":{"value":66179},"cpu":{"value":0},"r14":{"value":43707},"rsi":{"value":2},"r8":{"value":0},"cr2":{"value":0},"rdx":{"value":1},"r10":{"value":140701929110328},"r9":{"value":0},"r15":{"value":140704338788840,"symbolLocation":28328,"symbol":"lsl::sPoolBytes"},"rbx":{"value":18446744073709551266},"trap":{"value":6},"err":{"value":0},"r11":{"value":514},"rip":{"value":4428573258,"matchesCrashFrame":1},"rbp":{"value":140701929110304},"rsp":{"value":140701929110288},"r12":{"value":140701929110568},"rcx":{"value":47},"flavor":"x86_THREAD_STATE","rdi":{"value":140701929110352}},"queue":"com.apple.main-thread","frames":[{"imageOffset":8915530,"imageIndex":0},{"imageOffset":8898204,"imageIndex":0},{"imageOffset":8896075,"imageIndex":0},{"imageOffset":112194,"symbol":"invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const","symbolLocation":290,"imageIndex":1},{"imageOffset":315066,"symbol":"invocation function for block in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const","symbolLocation":234,"imageIndex":1},{"imageOffset":505140,"symbol":"invocation function for block in mach_o::Header::forEachSection(void (mach_o::Header::SectionInfo const&, bool&) block_pointer) const","symbolLocation":271,"imageIndex":1},{"imageOffset":493733,"symbol":"mach_o::Header::forEachLoadCommand(void (load_command const*, bool&) block_pointer) const","symbolLocation":191,"imageIndex":1},{"imageOffset":499226,"symbol":"mach_o::Header::forEachSection(void (mach_o::Header::SectionInfo const&, bool&) block_pointer) const","symbolLocation":116,"imageIndex":1},{"imageOffset":314012,"symbol":"dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const","symbolLocation":470,"imageIndex":1},{"imageOffset":111786,"symbol":"dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const","symbolLocation":150,"imageIndex":1},{"imageOffset":138459,"symbol":"dyld4::JustInTimeLoader::runInitializers(dyld4::RuntimeState&) const","symbolLocation":21,"imageIndex":1},{"imageOffset":112668,"symbol":"dyld4::Loader::runInitializersBottomUp(dyld4::RuntimeState&, dyld3::Array<dyld4::Loader const*>&, dyld3::Array<dyld4::Loader const*>&) const","symbolLocation":276,"imageIndex":1},{"imageOffset":127593,"symbol":"dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&) const::$_0::operator()() const","symbolLocation":147,"imageIndex":1},{"imageOffset":112837,"symbol":"dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&) const","symbolLocation":115,"imageIndex":1},{"imageOffset":219403,"symbol":"dyld4::APIs::runAllInitializersForMain()","symbolLocation":269,"imageIndex":1},{"imageOffset":30260,"symbol":"dyld4::prepare(dyld4::APIs&, mach_o::Header const*)","symbolLocation":3587,"imageIndex":1},{"imageOffset":26655,"symbol":"dyld4::start(dyld4::KernelArgs*, void*, void*)::$_0::operator()() const","symbolLocation":239,"imageIndex":1},{"imageOffset":25818,"symbol":"start","symbolLocation":2970,"imageIndex":1}]}],
"usedImages" : [
{
"source" : "P",
"arch" : "x86_64",
"base" : 4419657728,
"size" : 66973696,
"uuid" : "18601ead-261d-3873-a0a1-c9b95e96d94e",
"path" : "\/Users\/USER\/Downloads\/*\/bun",
"name" : "bun"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 140703231995904,
"size" : 632520,
"uuid" : "4771ef66-fba6-38f6-8cf7-5c46b41eb552",
"path" : "\/usr\/lib\/dyld",
"name" : "dyld"
},
{
"size" : 0,
"source" : "A",
"base" : 0,
"uuid" : "00000000-0000-0000-0000-000000000000"
}
],
"sharedCache" : {
"base" : 140703203524608,
"size" : 25769803776,
"uuid" : "903145f4-cc24-3c68-9bd5-05bfa3060d4d"
},
"vmSummary" : "ReadOnly portion of Libraries: Total=234.7M resident=0K(0%) swapped_out_or_unallocated=234.7M(100%)\nWritable regions: Total=545.3M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=545.3M(100%)\n\n VIRTUAL REGION \nREGION TYPE SIZE COUNT (non-coalesced) \n=========== ======= ======= \nKernel Alloc Once 8K 1 \nMALLOC 521.1M 10 \nMALLOC guard page 16K 4 \nSTACK GUARD 4K 1 \nStack 18.0M 1 \n__BUN 16K 1 \n__DATA 6842K 43 \n__DATA_CONST 1663K 47 \n__DATA_DIRTY 73K 25 \n__LINKEDIT 162.2M 3 \n__OBJC_RO 61.3M 1 \n__OBJC_RW 2394K 3 \n__TEXT 72.5M 47 \n__TPRO_CONST 16 2 \nshared memory 32K 3 \n=========== ======= ======= \nTOTAL 845.9M 192 \n",
"legacyInfo" : {
"threadTriggered" : {
"queue" : "com.apple.main-thread"
}
},
"logWritingSignature" : "e839ca107f432453df250f69367fa3294f4b0e17",
"trialInfo" : {
"rollouts" : [
{
"rolloutId" : "60f8ddccefea4203d95cbeef",
"factorPackIds" : {
},
"deploymentId" : 240000025
},
{
"rolloutId" : "66d35d7fe4d6bf7664f40ddf",
"factorPackIds" : {
"BLACKPEARL_SPARROW" : "67c7824a1baae429bb41b897"
},
"deploymentId" : 240000069
}
],
"experiments" : [
]
}
}
CPU feature check
$ sysctl -n machdep.cpu.features
FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX SMX EST TM2 SSSE3 CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC POPCNT AES PCID XSAVE OSXSAVE TSCTMR AVX1.0 RDRAND F16C
Instruction analysis
The crash log contains instruction bytes c4 e2 f1 f7 d0, which decode to the BMI2 instruction shlx. BMI2 is only available on Haswell (4th Gen) and later. Ivy Bridge does not support BMI2, so the OS raises SIGILL.
Affected genuine Apple hardware
This also affects real MacPro6,1 (Ivy Bridge Xeons) and other older Macs running macOS 15 via OCLP.
Activity
github-actions commentedon Jun 19, 2026
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
robobun commentedon Jun 19, 2026
✅ Confirmed: the shipped
bun-darwin-x64-baselinelinks the Haswell macOS WebKit (BMI2shlxin bmalloc's startup constructors), so itSIGILLs beforemain()on pre-Haswell Intel Macs.In-repo fix → #32512: the build now refuses to produce a macOS binary that claims "baseline" but is actually Haswell, instead of shipping one that crashes. A genuinely working baseline macOS binary also needs a Nehalem macOS WebKit built in oven-sh/WebKit, which is the remaining (cross-repo) step.
tobocop2 commentedon Jul 15, 2026
The remaining cross-repo step from #32512 now has a PR: oven-sh/WebKit#290 builds the Nehalem macOS WebKit.
On "cannot be produced or verified in this environment" — it builds with WebKit's own unmodified
macos-cross-release.sh. The only new thing is the flag combination:MACOS_ARCH=x86_64 MARCH_FLAG="-march=nehalem" bash macos-cross-release.shlibJavaScriptCore.a%ymm)bun-webkit-macos-amd64Then #34207 adds the
darwin-x64-baselinelane. #32512 should still land as the guardrail — theshlx-in-bmalloc trace is the clearest diagnosis of this on any of these threads.@SomeoneHX — if you still have that Ivy Bridge Mac, a baseline bun built this way is at https://github.com/tobocop2/opencode-bun-pre-avx2-mac/releases/latest. I don't have an Intel Mac to test on right now, so a report either way would genuinely help this land. I had this issue on my moms 2013 intel mac running open core and I just don't have access to it right now.
SomeoneHX commentedon Jul 16, 2026
Tested on real Ivy Bridge Mac (no AVX2/BMI1/BMI2 support) with the build from v1.18.1-baseline-3.
bunCLI works fine:--versionand help menu display without crash (see first screenshot).opencodeTUI starts up and displays the interface correctly. I also asked the AI inside OpenCode about CPU features, and it confirmed that AVX2, BMI1, and BMI2 are all not supported. The application runs normally without any crash or warning (see second screenshot).Thanks to @tobocop2 and the team for the build.
tobocop2 commentedon Jul 16, 2026
awesome!
kk-spartans commentedon Jul 19, 2026
+1 for this, running NixOS on my 2013 Mac Pro, same error when running OpenCode.
tobocop2 commentedon Jul 19, 2026
I'm not sure how much it helps, but possibly a 👍 on these PR's could expedite this:
oven-sh/WebKit#290
oven-sh/WebKit#292
#34207
halcyon commentedon Jul 27, 2026
This also impacts my FreeBSD system running on Sandy Bridge processors (Xeon E5-2670). Will the work that's been done to fix this issue on Mac resolve this issue on FreeBSD? If not, what else needs to be done so this applies to x64 baseline builds on other operating systems?
robobun commentedon Aug 7, 2026
This should be fixed on current main.
Your diagnosis was exactly right. The v1.3.14
bun-darwin-x64-baseline.zipwas byte-identical tobun-darwin-x64.zip, meaning the Haswell-targeted build had been published under the baseline name, and disassembling it at your crash address shows the BMI2shlxq(plus a BMI1blsrq) inside mimalloc's initialization, which runs as a dyld static initializer, hence the immediate illegal hardware instruction on an Ivy Bridge CPU. #34782 made all x64 builds baseline-only (-march=nehalem, one artifact published under both names), so the mislabeled variant can no longer exist. We disassembled the darwin-x64 artifact built from current main: the same mimalloc routine now uses plain shifts with no BMI1/BMI2 instructions, and both static initializers are baseline-safe.Believed fixed by #34782.
This was verified at the artifact level, by disassembling the published v1.3.14 and current builds, rather than by execution; we cannot fully rule out an unguarded instruction somewhere else, and we have no Ivy Bridge Mac to run it on, so please reopen if a current release still dies with an illegal hardware instruction.