Re: ExtAudioFile 'bogus' buffer list error
Re: ExtAudioFile 'bogus' buffer list error
- Subject: Re: ExtAudioFile 'bogus' buffer list error
- From: Doug Wyatt <email@hidden>
- Date: Thu, 17 Dec 2009 07:29:54 -0800
On Dec 17, 2009, at 6:26 , patrick machielse wrote:
> Sometimes my program encouters the following error:
>
> 0 ....audio.toolbox.AudioToolbox 0x9922fcb3 CrashIfClientProvidedBogusAudioBufferList + 75
> 1 ....audio.toolbox.AudioToolbox 0x9922fb0f AudioConverterFillComplexBuffer + 155
> 2 ....audio.toolbox.AudioToolbox 0x9928a870 ExtAudioFile::WritePacketsFromCallback(long (*)(OpaqueAudioConverter*, unsigned long*, AudioBufferList*, AudioStreamPacketDescription**, void*), void*) + 94
> 3 ....audio.toolbox.AudioToolbox 0x9928b701 ExtAudioFile::Write(unsigned long, AudioBufferList const*) + 225
> 4 ....audio.toolbox.AudioToolbox 0x99283b99 ExtAudioFileWrite + 71
>
> This usually happens after processing a lot of audio files (running them through an AU graph and saving them in some format). It is writing out 2 channel, 16 bit, 44 kHz Wave audio. Testing on 10.6.2.
>
> Does anyone know what 'Bogus' could mean in the context of this backtrace?
That function reads the first and last word of each buffer in the list (*(UInt32 *)mData and *(UInt32 *)((Byte *)mData + mDataByteSize & ~3). It exists so that a crash due to a bad memory access will occur in a place where responsibility is easily established, as opposed to, for example, memcpy() or some signal processing code or a codec, where it can be difficult to determine whether the source or destination buffer was invalid.
In this case it looks like a buffer used internally by ExtAudioFile has become corrupt. It's possible that you're dealing with a memory smasher...
Doug
_______________________________________________
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