I upgraded my MacBook Air to OS X 10.8.3 but left Boom as it was – v1.6 non-MAS. There were no issues, no warning dialogue or errors in the system log. This seems to suggest that it’s an issue with Boom v1.7 on 10.8.3.
The Boom.app build attributes in the table below show both v1.6 and v1.7 were built on a 10.8.0 machine, but the Xcode had been upgraded between the builds and the base SDKs differed. Nothing Earth-shattering.
v1.6 | v1.7 | |
---|---|---|
Xcode Version | 4.4.0 | 4.5.2 |
Xcode Build | 4F250 | 4G2008a |
OS X Version | 10.8.0 | 10.8.0 |
OS X Build | 12A269 | 12A269 |
OS X SDK | 12A264 | 12C37 |
It gets more interesting when you look at the details of the BoomDevice.kext shipped with each version. Both ship with v1.1 of BoomDevice.kext:
<string>BoomDevice</string>
<key>CFBundleGetInfoString</key>
<string>Version 1.1 Copyright © 2008 - 2011, Global Delight Technologies Pvt. Ltd.</string>
<key>CFBundleIdentifier</key>
<string>com.globaldelight.driver.BoomDevice</string>
<key>CFBundleShortVersionString</key>
<string>1.1</string>
They were both built against the OS X 10.5.7 SDK, however, they were built quite differently. The version shipped with v1.6 was built on OS X 10.7.3 (Lion), v1.7 shipped with the kext built on OS X 10.6.7 (Snow Leopard):
v1.6 | v1.7 | |
---|---|---|
Xcode Version | 4.3.2 | 4.0.0 |
Xcode Build | 4E2002 | 4A304a |
OS X Version | 10.7.3 | 10.6.7 |
OS X Build | 11D50d | 10J869 |
OS X SDK | 9J61 | 9J61 |
I wonder why the “newer” v1.1 of BoomDevice.kext was built on Snow Leopard with Xcode 4.0.0? Something funky must be going on – that’s quite an old base SDK.
All this snooping around still doesn’t explain why v1.7 of Boom raises the error on boot. Something else must have changed in OS X 10.8.3.
kextstat
displays the kexts that are loaded and the other kexts they depend on. Here’s the edited output for BoomDevice.kext:
Index Refs Name (Version) <Linked Against>
1 68 com.apple.kpi.bsd (12.3.0)
3 94 com.apple.kpi.iokit (12.3.0)
4 98 com.apple.kpi.libkern (12.3.0)
5 86 com.apple.kpi.mach (12.3.0)
90 2 com.apple.kext.OSvKernDSPLib (1.6) <5 4>
91 4 com.apple.iokit.IOAudioFamily (1.8.9fc11) <90 5 4 3 1>
92 0 com.globaldelight.driver.BoomDevice (1.1) <91 5 4 3 1>
Maybe some of the kexts changed between 10.8.2 to 10.8.3. I had a handy SuperDuper! clone that still has 10.8.2. A quick scan shows that com.apple.iokit.IOAudioFamily
changed:
I wonder if that broke something?
Next up: replacing the v1.7 BoomDevice.kext with the one shipped with v1.6 and trying a reboot…
UPDATE: replacing the BoomDevice.kext doesn’t work.