Apple have posted a set of download links for installers for older versions of macOS on their website here:
There’s a teeny-tiny problem with the macOS Sierra installer though: running the
createinstallmedia command as suggested ends up with an infinite loop of
createinstallmedia spawning new copies of itself, until the computer’s resources are exhausted (a fork bomb)!
sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled --applicationpath /Applications/Install\ macOS\ Sierra.app # Boom! The command hangs, and if you leave it for a minute or so your computer will be crippled # You can abort it by quickly running "sudo killall createinstallmedia" in another tab
createinstallmedia is hard-coded to install a specific version of the operating system package, which is the version it was originally bundled with. So it looks at the
CFBundleShortVersionString field of the
Contents/Info.plist file in the applicationpath you provided to make sure it matches the version it is expecting.
If it doesn’t match, it assumes that you’re running the wrong copy of
createinstallmedia, and the
createinstallmedia from the applicationpath should be run instead, so it launches that.
But since there is a version mismatch in the Sierra installer that Apple is currently offering (as of 2020-02-11, the last-modified date of the installer is 2019-10-24) the version of the bundled
createinstallmedia doesn’t match the installer’s version, and this triggers an infinite loop!
You can fix this by editing the
CFBundleShortVersionString field of the
Install macOS Sierra/Contents/Info.plist file to match what
createinstallmedia is expecting. For the version currently offered by Apple, that is:
macOS 10.12 Sierra – Version is 12.6.06 and needs to be changed to 12.6.03
Obviously there was a mistake somewhere in Apple’s build process and they forgot to rebuild createinstallmedia to match their latest update.
You can discover which version createinstallmedia requires like so:
# For macOS 10.12, look for strings including "12": $ strings "/Applications/Install macOS Sierra.app/Contents/Resources/createinstallmedia" | grep 12 12.6.03
25 thoughts on “createinstallmedia for macOS Sierra is a fork bomb!”
Wow, nice find! =)
Ran into this fork bomb. Thanks for the tip.
Thank you, just ran into this as well… ugh. Can anyone confirm this occurs on when using the `createinstallmedia` method on OS versions /System/Volumes/Data/Applications/` firmlink. Maybe not. Either way, very nice catch with the version string!
Hey! I’ve been spending the better part of a day ramming my head against this problem, and you come along with this incredible piece of code sleuthing to save my sanity. Respect, and thank you! Let me know if there’s a way I can buy you a beer over the internet.
No problem! If you’d like to make a donation and you have PayPal, my PayPal email is firstname.lastname@example.org
I tried it on my MacPro5,1 (Early 2009, Firmware upgraded) but it didn’t work.
You’re going to have to give more error details than that to get any useful advice.
I get these errors halfway starting up.
Panic(cpu 1 caller 0xffffff00003dc4a3): “TLB invalidation IPI timeout : “ “ CPU(s) failed to respond to interrupts, unresponsive CPU bitmap: 0x10, NMIPI lacks: orig: 0x0, now: 0x0”@Library/Caches/com.apple.xbs/Sources/xnu/xnu-3789.73.49/osfmk/x86_64/pmap.c:2762
panic(cpu 2 caller 0xffffff801690079e): “Spinlock acquisition timeout: lock=0xffffff80170671f8, lock owner thread=0xffffff8073e1cdf0, current_thread: 0xfffff8074f8e078, lock owner active on CPU 0x0, current owner: 0xffffff8073e1cdf0@/Library/Caches/com.apple.xbs/Sources/xnu/xnu-3789.70.16/osfmk/i386/locks_i386.c:427
Massive help, thanks Nicholas
I was deeply concerned and confused as to how, when and where this seemingly very unfamiliar method / script came from that is most definitely not common practice. Most important, WHY it is being advertised on reputable websites support.mac, as well Indiana University (last updated Dec 4)? Is there a way to confirm and confront? Plz advise!
It’s just a simple bug on Apple’s part, nothing more sinister than that.
You’re the man!
Thanks so much
Thanks for the confirmation. I just found this little jewel myself.
One year later, still is not fixed by Apple. Thanks for finding that !
Thank you! I spent the past 4 hours banging my head against this issue and your fix worked perfectly.
Thanks so much for explaining this, just encountered this exact problem.
Man – I was going nuts trying to get to the bottom of it. Thanks very much – this article is a real gem.
Thanks for digging!
Still an issue for High Sierra, thank you for this!
Amazing – thank you! This saved me so much time and so much pain!
Thanks! This was very delightful find after the load jumped to 922.65+ and then whole damn computer crashed. Merry Christmas!
I got an old Mac whose Internet Recovery fails because the macOS image downloaded uses an invalid signature or something, so I had to create an installer medium with Sierra instead and ran into this issue (after having replaced the code signature with an ad-hoc signature).
Great find and still helpful 2 years later. 👍🏻
Thank you for this. Found this while trying to install Sierra on an old Macbook for my uncle. 🙂