Crash in ExtAudioFile API
Crash in ExtAudioFile API
- Subject: Crash in ExtAudioFile API
- From: patrick machielse <email@hidden>
- Date: Thu, 16 Aug 2012 22:18:59 +0200
Our application uses ExtAudioFile to read (and subsequently process) audio files in background threads. Multiple files will typically be processed in parallel.
Recently we received the a crash report from a user running our app on Mac OS X 10.8. It seems that the crash occured when ExtAudioFileOpenURL() and ExtAudioFileSetProperty(kExtAudioFileProperty_ClientDataFormat) were called at the same time (on different threads, for different files).
Does this point to a problem in the framework, or is there something we could check for or do differently? We've not seen this type of crash before.
Below the important bits from the crash report:
OS Version: Mac OS X 10.8 (12A269)
dyld: in dlopen()
/System/Library/Components/AudioCodecs.component/Contents/MacOS/AudioCodecs
*** error for object 0xcbda500: pointer being freed was not allocated
Thread 13 Crashed:: Dispatch queue: com.apple.root.default-priority
0 libsystem_kernel.dylib 0x95f2aa6a __pthread_kill + 10
1 libsystem_c.dylib 0x93b20acf pthread_kill + 101
2 libsystem_c.dylib 0x93b57508 abort + 168
3 libsystem_c.dylib 0x93b39daf free + 428
4 com.apple.CoreServices.CarbonCore0x95bf1768 DisposePtr + 36
5 com.apple.DesktopVideoOut 0x0d5626cb DVOClose + 161
6 com.apple.CoreServices.CarbonCore0x95cc3aeb callComponentStorage_44 + 25
7 com.apple.CoreServices.CarbonCore0x95cb4acf CallComponentFunctionCommonWithStorage(char**, ComponentParameters*, long (*)(), unsigned long) + 45
8 com.apple.CoreServices.CarbonCore0x95cb4b0f CallComponentFunctionWithStorageProcInfo + 30
9 com.apple.DesktopVideoOut 0x0d5622e4 DVOComponentDispatch + 98
10 com.apple.CoreServices.CarbonCore0x95c2eb1e CallComponent + 151
11 com.apple.CoreServices.CarbonCore0x95c2eb78 CallComponentDispatch + 29
12 com.apple.CoreServices.CarbonCore0x95cc1b17 CallComponentClose + 43
13 com.apple.CoreServices.CarbonCore0x95c2dda7 CloseComponentInternal(ComponentInstanceRecord*) + 103
14 com.apple.CoreServices.CarbonCore0x95c2e732 OpenAComponent + 520
15 com.apple.CoreServices.CarbonCore0x95c2e522 OpenComponent + 24
16 com.apple.CoreServices.CarbonCore0x95c2eb2b CallComponent + 164
17 com.apple.CoreServices.CarbonCore0x95c2eb78 CallComponentDispatch + 29
18 com.apple.CoreServices.CarbonCore0x95cc1b73 CallComponentVersion + 37
19 com.apple.CoreServices.CarbonCore0x95c2df15 getComponentVersion(RegisteredComponent*) + 213
20 com.apple.CoreServices.CarbonCore0x95c2b008 DestroyOlder(RegisteredComponent*, long) + 54
21 com.apple.CoreServices.CarbonCore0x95c2af61 RegisterComponentResourcePtr + 708
22 com.apple.CoreServices.CarbonCore0x95c2527e registerSystemComponents + 906
23 com.apple.CoreServices.CarbonCore0x95c2d7b4 FindNextComponentInternal(ComponentRecord*, ComponentDescription*, unsigned long) + 60
24 com.apple.CoreServices.CarbonCore0x95c2dfc0 FindNextComponent + 54
25 com.apple.audio.toolbox.AudioToolbox0x911e13a7 AudioComponentMgr::FindNext(OpaqueAudioComponent*, AudioComponentDescription const*) + 65
26 com.apple.audio.toolbox.AudioToolbox0x910f4b93 _AT_AudioComponentFindNext + 135
27 com.apple.audio.toolbox.AudioToolbox0x91125693 ConverterRegistry::FindFormats(unsigned long, std::set<unsigned long, std::less<unsigned long>, std::allocator<unsigned long> >&) + 95
28 com.apple.audio.toolbox.AudioToolbox0x91125713 ConverterRegistry::GetInputFormatsSet(std::set<unsigned long, std::less<unsigned long>, std::allocator<unsigned long> >&) + 93
29 com.apple.audio.toolbox.AudioToolbox0x911257ce ConverterRegistry::GetInputFormatsSize() + 64
30 com.apple.audio.toolbox.AudioToolbox0x911090d3 AudioFormatGetPropertyInfo + 93
31 com.apple.audio.toolbox.AudioToolbox0x911d7b94 AudioFormatProperty_FirstPlayableFormatFromList(unsigned long, AudioFormatListItem*, unsigned long*) + 85
32 com.apple.audio.toolbox.AudioToolbox0x9110a69a AudioFormatGetProperty + 2013
33 com.apple.audio.toolbox.AudioToolbox0x9115dc4c ExtAudioFile::GetExistingFileInfo() + 206
34 com.apple.audio.toolbox.AudioToolbox0x91156027 ExtAudioFileOpenURL + 122
Thread 1:: Dispatch queue: com.apple.root.default-priority
0 dyld 0x8ff02586 pread$UNIX2003 + 10
1 dyld 0x8fedf350 dyld::loadPhase6(int, stat const&, char const*, dyld::LoadContext const&) + 269
2 dyld 0x8fee4be3 dyld::loadPhase5(char const*, char const*, dyld::LoadContext const&, std::__1::vector<char const*, std::__1::allocator<char const*> >*) + 1221
3 dyld 0x8fee4704 dyld::loadPhase4(char const*, char const*, dyld::LoadContext const&, std::__1::vector<char const*, std::__1::allocator<char const*> >*) + 184
4 dyld 0x8fee4600 dyld::loadPhase3(char const*, char const*, dyld::LoadContext const&, std::__1::vector<char const*, std::__1::allocator<char const*> >*) + 1671
5 dyld 0x8fee3bf7 dyld::loadPhase1(char const*, char const*, dyld::LoadContext const&, std::__1::vector<char const*, std::__1::allocator<char const*> >*) + 154
6 dyld 0x8fedf066 dyld::loadPhase0(char const*, char const*, dyld::LoadContext const&, std::__1::vector<char const*, std::__1::allocator<char const*> >*) + 227
7 dyld 0x8fededc7 dyld::load(char const*, dyld::LoadContext const&) + 242
8 dyld 0x8fee64ea dlopen + 435
9 libdyld.dylib 0x966c9dbe dlopen + 68
10 com.apple.CoreFoundation 0x927dfd10 _CFBundleDlfcnLoadBundle + 224
11 com.apple.CoreFoundation 0x927d9ddc _CFBundleLoadExecutableAndReturnError + 684
12 com.apple.CoreFoundation 0x92800dd0 CFBundleLoadExecutableAndReturnError + 32
13 com.apple.audio.toolbox.AudioToolbox0x910f6280 AudioComponentPluginLoader::ResolveFactoryFunction(APComponent&) + 96
14 com.apple.audio.toolbox.AudioToolbox0x910f6159 APComponent::NewInstance(ComponentInstanceRecord*&) + 61
15 com.apple.audio.toolbox.AudioToolbox0x910f5f9a _AT_AudioComponentInstanceNew + 100
16 com.apple.audio.toolbox.AudioToolbox0x91137526 CodecDecoderFactory::BuildCodecConverterChain(StreamDescPair const&, ChainBuildSettings const&, AudioConverterChain*, PCMConverterFactory*) + 360
17 com.apple.audio.toolbox.AudioToolbox0x91124d80 ConverterRegistry::CreateConverter(StreamDescPair const&, AudioConverterChain**, unsigned long, AudioClassDescription const*) + 204
18 com.apple.audio.toolbox.AudioToolbox0x910f1328 _AudioConverterNewInternal + 436
19 com.apple.audio.toolbox.AudioToolbox0x910f116f AudioConverterNew + 47
20 com.apple.audio.toolbox.AudioToolbox0x9115f524 ExtAudioFile::SetClientFormat(CAStreamBasicDescription const&, CAAudioChannelLayout const*) + 750
21 com.apple.audio.toolbox.AudioToolbox0x91157117 ExtAudioFileSetProperty + 498
Thanks,
patrick
--
Patrick Machielse
Hieper Software
http://www.hieper.nl
email@hidden
_______________________________________________
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