Re: Bug in auval ?
Re: Bug in auval ?
- Subject: Re: Bug in auval ?
- From: Antoine Missout <email@hidden>
- Date: Tue, 25 May 2010 12:09:22 -0400
Nevermind,
AUComponent.h:193 says 0-1023 is reserved.
(However, AudioUnitProperties.h:701 says "range (0 -> 999)" which informally implies the reserved range is up to 999, hence my error).
Problem fixed, thanks!
- Antoine
On 2010-05-25, at 12:03 PM, Antoine Missout wrote:
> 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
_______________________________________________
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