Issue with Audio Unit on 10.11

Hi Guys,

I used to use 10.12 SDK with a 10.9 deployment target but since enabling ARM architecture, I cannot do that anymore, and just use the 10.9 deployment target but with the 11.0 SDK

I have issue an issue on older OSX versions with AudioUnit not loading with the following issue
Symbol not found: __os_crash_fmt

Does this ring a bell to someone ?

Thanks !

1 Like

This doesn’t ring a bell. I tried to repro, although I don’t have a 10.9 machine for testing. Instead, I tried building with a 10.9 deployment target and then inspecting the final build output with nm to see whether the os_crash_fmt symbol was listed as undefined. With Xcode 12.4 (macOS 11.1 SDK), neither the Debug nor Release mode builds of the DSPModulePluginDemo seem to require this symbol at all.

Perhaps you could try running nm on all of your plugin object files and dependencies and check whether any of these are depending on this symbol. At least then you’ll know where the symbol is being used, and you may then be able to take steps to avoid using the symbol altogether (adjusting deployment targets of dependencies, removing dependencies etc).

Weirdly I don’t find the symbol in the binary, but here is the full info from the crashlog

dlopen(/Library/Audio/Plug-Ins/Components/UVIWorkstationAU.component/Contents/MacOS/UVIWorkstationAU, 262): Symbol not found: __os_crash_fmt
  Referenced from: /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice
  Expected in: /usr/lib/libSystem.B.dylib
 in /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice)

That’s very odd. It looks to me like the missing symbol is required by a platform library, so I’m not sure how one could work around the problem.

yep… I have asked Apple about this. I will let you guys know if I get some feedback on this.
The issue was that I can’t have a per arch SDK even though Xcode allows it, it doesn’t work :slight_smile:

One of my users (running 10.11) reported this exact same issue today. I haven’t looked into it closely, but I’m interested in what you discover.

FYI, I’m building with Xcode 12.4 which uses 11.1 SDK and setting a deployment target of 10.11.

I’ve had a customer on MacOS 10.11 report the same problem here. The issue is, even rolling back to an older version of the plug-in which previously worked on his system doesn’t seem to fix it.

Has anyone had any further luck resolving this?

1 Like

I confess I haven’t looked at it, and I no longer have a 10.11 system to reproduce.

The issue is that installing iTunes (which apparently happens automatically when plugging in an iPhone to a Mac?) installs a newer version of this mobile framework that is simply not compatible with macOS 10.11!

The solution is to copy an older version of the mobile framework back by disabling SIPS.

1 Like

The old mobiledevice framework. For a while a couple of years ago it was installing a 64 bit only variant on older systems breaking any 32bit apps that used audio… Cannot launch 32bit application on… | Apple Developer Forums

1 Like

oh nice.
Good findings.

Thanks for sharing

If you copy an older version, then will it still support ARM ?
Because older version only flavor ri386 x86_64

FWIW I have reported the bug on feedback assistant.
Don’t hesitate to do so as well :slight_smile:

Thanks !

No, it would not. Because 10.11 and 10.12 don’t support ARM. You can NOT install 10.11 or 10.12 on an Apple Silicon Mac. Only macOS Big Sur (11.0) and Monterey (12.0) are available as ARM versions.

so I’m screwed, right ?
unless I do lipo instead of universal binary…

Not sure what you’re trying to do. We set our deployment target to 10.11 and got very few complaints. Our plugin (Nexus) works with 10.11+ unless somebody installs iTunes and thus breaks the mobile framework. We usually advise updating macOS to a later version. Only two or three customers complained or were unwilling to.

1 Like

oh you mean, it’s not up to me to install this framework but to the client. ok.
Thanks

Bumping this, as we’ve had a LOT of reports in the last week of people with plugins no longer working on 10.11/10.12. Many people report that downloading and installing the older 32-bit Mobile Framework fixes things for them…

…which makes NO SENSE WHATSOEVER. As these are 64-bit plugins they are using!!!

Does anyone know why this would be happening? The customers usually report that it is happening to a bunch of plugins, not just Valhalla ones. Is there some option that we can change in the ProJucer that would allow us to rebuild plugins that avoid this issue? Apple has been no help whatsoever with this issue, and it seems like something changed recently (like an iTunes update) that is causing a lot of people to have this problem.

Thanks,

Sean Costello

2 Likes

We had an uptick of complaints as well. Not sure why this mobile framework even is used. We certainly don’t require anything related to mobile functionality.

My ticket on this from Apple says

Recent Similar Reports:None
Resolution:Potential fix identified - For a future OS update

You guys can maybe mention my ticket in your report as well
https://feedbackassistant.apple.com/feedback/9843216

1 Like