• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: MOTU AU Examiner
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MOTU AU Examiner


  • Subject: Re: MOTU AU Examiner
  • From: Adrian Pflugshaupt <email@hidden>
  • Date: Sun, 2 Apr 2006 20:09:49 +0200

I finally figured it out!

As you were interested in knowing about it, Bill, I'm going to write what I found out.

I turns out that my plugin had a bug in ProcessScheduledSlice() which caused it to write to memory after the actual audio buffers.
The weird thing is that it did that in an older version already, but it obviously never led to a crash and didn't cause the examination to fail.


So I guess there's probably no way to add a test for this to auval :)... you would have to allocate memory before and after the audio buffers and check whether the plugin writes there... Overall motu's examiner didn't really do a test to detect the problem, it was just a big coincidence that my plugin caused a crash by hitting some sensitive data...

What's still puzzling are those messages I get in the examiner:

libMallocDebug[MOTU_AU_Examiner-2500]: frame pointer goes from bffdaa30 to bfffef90 -- assuming invalid.


They don't seem to have anything to do with the actual crash... and keep happening even after I removed the enitre GUI & sound processing from my plug (basically leaving an empty frame...)


n8

Adrian


On 02.04.2006, at 14:38, Adrian Pflugshaupt wrote:




I am currently trying to get a large AU synth to work in Digital Performer 4.61.
It passes auval just fine, however DP says "AU examination crashed" while scanning it. (..)






I now conducted extensive tests inside gdb (running DP in gdb). And things are getting more and more puzzling...

When the DP examiner launches inside gdb, I get the following debug output:

Starting program: /Applications/MOTU DP4.6 Folder/Digital Performer 4.61/Contents/MacOS/Digital Performer
...
libMallocDebug[MOTU_AU_Examiner-2500]: frame pointer goes from bffdaa30 to bfffef90 -- assuming invalid.


I added fprintfs to see where stuff starts to go wrong. The first memory problem appears before my code is actually exectued - inside AUBase::AUBase, where GlobalScope().Initialize(this, kAudioUnitScope_Global, 1); is called. From there AUScope::setNumberOfElements if called and inside that routine the frame pointer error happens in the line:

mElements.reserve(numElements);

Which is basically just allocating memory for a stl vector if I understand the CoreAudio sources right. From then on everytime memory is allocated I am getting the same libMallocDebug output.

These errors only happen in the one Plugin i am trying to fix and they also don't happen in other hosts, I'm totally clueless now. Does anyone have any ideas what could be causing this? I tried lots of compiler different compiler settings, but it just doesn't help :(

I'd be super-greatful for any help, thanks

Adrian


_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40pflugshaupt.com


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
References: 
 >Re: MOTU AU Examiner (From: Adrian Pflugshaupt <email@hidden>)

  • Prev by Date: Re: MOTU AU Examiner
  • Next by Date: Crashing in AUGraph
  • Previous by thread: Re: MOTU AU Examiner
  • Next by thread: Crashing in AUGraph
  • Index(es):
    • Date
    • Thread