Re: Bug in auval ?
Re: Bug in auval ?
- Subject: Re: Bug in auval ?
- From: Antoine Missout <email@hidden>
- Date: Tue, 25 May 2010 12:03:53 -0400
Hi Bill,
It is 1005. Which is indeed used by kAudioUnitProperty_UsesInternalReverb. What is the safe range of values for custom properties ?
Regards,
Antoine
On 2010-05-24, at 8:01 PM, William Stewart wrote:
> auval knows nothing about the property "kLevelsPropertyID" - that looks like a custom property ID to me? As it knows nothing about the property though, it can't be the one that is calling it.
>
> So, what is the property ID value of "kLevelsPropertyID". I suspect that you are overlapping with another property ID that is a system one
>
> Bill
>
> On May 24, 2010, at 7:14 AM, Antoine Missout wrote:
>
>> Hi all,
>>
>> Using auval with guard malloc (export DYLD_FORCE_FLAT_NAMESPACE=1; export DYLD_INSERT_LIBRARIES=/usr/lib/libgmalloc.dylib; export MALLOC_VECTOR_SIZE=1), my audiounit consistently crashes in GetProperty.
>>
>> At the end of the email is the relevant code. The property is 48 bytes long, but auval only mallocs 16 bytes as can be seen from the log & crash report. If I comment the memcpy, everything validates fine.
>>
>> It used to validate fine. Is there anything else I should do to ensure auval allocates the correct number of bytes ?
>>
>> Thanks in advance,
>> - Antoine
>>
>> (full code is at http://code.google.com/p/octogris/ )
>>
>> ===============================================================
>>
>> VALIDATING AUDIO UNIT: 'aufx' - '1212' - 'UDMG'
>> --------------------------------------------------
>> Manufacturer String: UDM
>> AudioUnit name: Octogris 12x12
>> [...]
>> VERIFYING PROPERTY Host Callbacks
>> PASS
>> makmak: 48
>> makmak: 48
>> makmak: 0x1c675ff0
>>
>> ===============================================================
>>
>> Exception Type: EXC_BAD_ACCESS (SIGBUS)
>> Exception Codes: KERN_PROTECTION_FAILURE at 0x000000001c676000
>> Crashed Thread: 0 Dispatch queue: com.apple.main-thread
>> Thread 0 Crashed: Dispatch queue: com.apple.main-thread
>> 0 com.udm.Octogris 0x0127edc9 Octogris<12, 12>::GetProperty(unsigned long, unsigned long, unsigned long, void*) + 227 (Octogris.cpp:506)
>>
>> ===============================================================
>>
>> template<int mNumberOfSources, int mNumberOfSpeakers>
>> OSStatus Octogris<mNumberOfSources, mNumberOfSpeakers>::GetPropertyInfo (AudioUnitPropertyID inID,
>> AudioUnitScope inScope,
>> AudioUnitElement inElement,
>> UInt32 & outDataSize,
>> Boolean & outWritable)
>> {
>> if (inScope == kAudioUnitScope_Global)
>> {
>> switch (inID)
>> {
>> [...]
>>
>> case kLevelsPropertyID:
>> outWritable = false;
>> outDataSize = sizeof (float) * mNumberOfSpeakers;
>> printf("makmak: %d\n", (int)outDataSize);
>> return noErr;
>>
>> [...]
>> }
>> }
>>
>> return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable);
>> }
>>
>> //------------------------------------------------------------------------------------------
>> template<int mNumberOfSources, int mNumberOfSpeakers>
>> OSStatus Octogris<mNumberOfSources, mNumberOfSpeakers>::GetProperty( AudioUnitPropertyID inID,
>> AudioUnitScope inScope,
>> AudioUnitElement inElement,
>> void * outData )
>> {
>> if (inScope == kAudioUnitScope_Global)
>> {
>> switch (inID)
>> {
>> [...]
>>
>> case kLevelsPropertyID:
>> printf("makmak: %p\n", outData);
>> memcpy(outData, mLevels, sizeof (float) * mNumberOfSpeakers);
>> return noErr;
>>
>> [...]
>> }
>> }
>>
>>
>> return AUEffectBase::GetProperty (inID, inScope, inElement, outData);
>> } _______________________________________________
>> 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
>
_______________________________________________
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