Re: Mysterious crash in HALObject::PropertiesChanged
Re: Mysterious crash in HALObject::PropertiesChanged
- Subject: Re: Mysterious crash in HALObject::PropertiesChanged
- From: Jeff Moore <email@hidden>
- Date: Sat, 06 Mar 2010 15:28:00 -0800
On Mar 6, 2010, at 2:26 PM, Paul Sanders wrote:
> Can anyone throw any light on the crash below? It is from a customer site and I am told it occurred while the user was reconfiguring the inputs on his PreSonus Firebox. The only audio device property listeners we install are for kAudioDevicePropertyDeviceIsAlive and kAudioDeviceProcessorOverload so I don't think it's us. And we gracefully handle, for example, unplugging a USB device, so I know that our listeners are well-behaved.
Crashes like this usually mean that the destination of the call out from the HAL to the ListenerProc is a bad address.
> The following appears in the list of loaded dylibs. I don't know if it might be relevabnt:
>
> 0x43e000 - 0x44aff7 +com.rogueamoeba.audio_hijack_server.hermes 2.2.5 (2.2.5) <CD6C7A74-BA03-F3A7-0D1E-460E6A043024> /usr/local/hermes/modules/Instant Hijack Server.hermesmodule/Contents/MacOS/Instant Hijack Server
Audio Hijack has been known to patch the HAL to do what it does. I don't know if that is the case here, but having the user disable Audio Hijack can't hurt.
> Other than that, the machine in question seems to be free of potentially destabilising plugins. From other information in the crash report (which is meaningful to me but not to anyone else) we were taking audio from the Firebox and playing it back through the built-in speakers out at the time.
If your code is making use of jump trampolines (aka CATink from our SDK), it is possible that you are hitting this because the jump island is being deallocated early. If you aren't using jump trampolines or you are really really sure about your usage of them, then there is the possibility of memory corruption.
If I was debugging this, I'd start by examining my listener procs and how I go about adding and removing them.
--
Jeff Moore
Core Audio
Apple
> Any input gratefully received.
>
> Many thanks,
>
> Paul Sanders
> http://www.alpinesoft.co.uk
>
> --------------------------------------------------------------
>
> Application: VinylStudio 7.1.0 (V7.10 (debug build) Mac)
> Model: Unknown (MacBookPro5,3)
> CPU Speed: 2x 2.15 GHz
>
> No exception information
>
> Process: VinylStudio [1251]
> Path: /Applications/VinylStudio.app/Contents/MacOS/VinylStudio
> Identifier: uk.co.AlpineSoft.VinylStudio
> Version: ??? (7.1.0)
> Code Type: X86 (Native)
> Parent Process: launchd [991]
>
> Date/Time: 2010-03-06 11:18:34.672 -0600
> OS Version: Mac OS X 10.6.2 (10C540)
> Report Version: 6
>
> Exception Type: EXC_BAD_ACCESS (SIGBUS)
> Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000116
> Crashed Thread: 0 Dispatch queue: com.apple.main-thread
>
> Thread 0 Crashed: Dispatch queue: com.apple.main-thread
> 0 ??? 0x01a37008 0 + 27488264
> 1 com.apple.audio.CoreAudio 0x98e8e5e2 HALObject::PropertiesChanged(unsigned long, AudioObjectPropertyAddress const*) + 1232
> 2 com.apple.audio.CoreAudio 0x98e8e08d HALDevice::PropertiesChanged(unsigned long, AudioObjectPropertyAddress const*) + 729
> 3 com.apple.audio.CoreAudio 0x98e9c7d2 AudioObjectPropertiesChanged + 276
> 4 com.apple.audio.CoreAudio 0x98e9c687 HP_Object::PropertiesChanged(unsigned long, AudioObjectPropertyAddress const*) const + 145
> 5 com.apple.audio.CoreAudio 0x98eca287 IOA_SingleDevice::HWDevice_FormatChanged(IOA_HWDevice*, IOA_HWStream*) + 1239
> 6 com.apple.audio.CoreAudio 0x98e9db1f IOA_HWDevice::MachPortCallBack(__CFMachPort*, void*, long, void*) + 379
> 7 com.apple.CoreFoundation 0x9775bb72 __CFMachPortPerform + 338
> 8 com.apple.CoreFoundation 0x977578db __CFRunLoopRun + 6523
> 9 com.apple.CoreFoundation 0x97755864 CFRunLoopRunSpecific + 452
> 10 com.apple.CoreFoundation 0x97755691 CFRunLoopRunInMode + 97
> 11 com.apple.HIToolbox 0x913dcf0c RunCurrentEventLoopInMode + 392
> 12 com.apple.HIToolbox 0x913dccc3 ReceiveNextEventCommon + 354
> 13 com.apple.HIToolbox 0x913dcb48 BlockUntilNextEventMatchingListInMode + 81
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden