CoreAudio

Dear Quinn,

In the Big Sur 11.3 beta 2 release, there are some strange development changes in CoreAudio causing instability of plug-ins. I spent so far 2 days trying to discover what's changed or what I shall change but it behaves quite unstable and every time I start to believe that I found the root cause, it dies somewhere else...

There are console records like:


default 15:06:27.793116+0100 coreaudiod HALS_DefaultDeviceManager::PickDefaultDevice: 'sOut' | picking 56: 'BuiltInSpeakerDevice'/'ispk'
default 15:06:27.793167+0100 coreaudiod HALS_DefaultDeviceManager::PickDefaultDevice: 'sOut' <<<
default 15:06:27.793245+0100 coreaudiod HALS_DefaultDeviceManager::UpdateDefaultDevice: 'sOut' <<<
default 15:06:27.793322+0100 coreaudiod HALS_DefaultDeviceManager::CheckForChanges: 'sOut' <<<
default 15:06:27.793399+0100 coreaudiod
default 15:06:27.793462+0100 coreaudiod HALS_DefaultDeviceManager::CheckForChanges: 'shrd' --->>>
default 15:06:27.793533+0100 coreaudiod HALS_DefaultDeviceManager::UpdateDefaultDevice: 'shrd' --->>>
default 15:06:27.793611+0100 coreaudiod HALS_DefaultDeviceManager::FindPreferredDefaultDevice: 'shrd' --->>>
default 15:06:27.793751+0100 coreaudiod HALS_DefaultDeviceManager::FindPreferredDefaultDevice: 'shrd' <<<
default 15:06:27.793828+0100 coreaudiod HALS_DefaultDeviceManager::PickDefaultDevice: 'shrd' --->>>
default 15:06:27.794164+0100 coreaudiod Heap has 1 items

or...
default 15:06:27.904949+0100 coreaudiod HALC_ShellDevice::_InitializeDriverPlugIn: *X*X*X Not loading the driver plug-in into coreaudiod

default 15:06:28.802160+0100 SpeakerAmp HALC_ProxyIOContext::_StopIOProc: IOProc doesn't exist

crash:

Sending event: com.apple.stability.crash {"appVersion":"1.0","exceptionType":1,"incidentID":"3C3C7C9D-1805-4CE3-99DD-05951DF935CA","logwritten":1,"process":"com.apple.audio.Core-Audio-Driver-Service","responsibleApp":"coreaudiod"}

errors like:
HALC_ProxySystem::GetObjectInfo: got an error from the server, Error: 560947818 (!obj)

etc...

Could you please confirm that there is an ongoing development in that API and that there will be further update prior 11.3 release?

I found no info in the RNs.

I am wondering whether I shall keep searching what's happened now before customers start complaining about it or whether it is wise to wait for a next more stable build.


Thank you in advance.
Pavel

Just in case that it could help someone, the problem was with memory release of strings passed from an audio plugin to the CoreAudio server. They are released by the API in OS versions prior BigSur, they had to be released manually in 11.1 and 11.2 and now they are again released by the system in 11.3. Double deallocation led to the core dumps...

One extra feature (not sure if it was added in 11.3, but it causes plug-in stability problems): when you write something into the plugin (i.e you have a property with "Is<Device,Control,Stream>PropertySettable"=true), the client app must have Apple Events and (still not sure why) Calendar permissions allowed in the app capabilities.

CoreAudio
 
 
Q