![]() ![]() Thanks all for sticking with me and helping me figure this out. ![]() When it runs in Xcode it knows exactly which executable to use and therefore always passes. Therefore, when I run auval from the command line I think it does not always pick the correct version of the plugin (but sometimes picks the old version which is somehow stuck in Logic’s memory), and so sometimes fails. I have tried resetting the AudioUnit Cache on my computer several times and rescanning for plugins and this is always the result. When I open Logic’s plugin manager I the current version always shows up as successfully validated, while the old version shows up as having failed validation. The old version (version 1.0.0, from before I modified the version number) of the plugin fails the test. The current version (version number 0 for development) always passes the auval test and is always recognized by Logic. ![]() Okay, I think I figured out why the plugin passes the auval test in Xcode but not in the terminal, and it has to do with an issue highlighting in another thread I started, where two different version numbers of the plugin are being recognized by Logic. I feel like I need to add something to the destructor either for AudioProcessor or for the classes that use AudioBuffer in order to free the buffer instances, because right now both are empty. I declare arrays of pointers to these classes in my AudioProcessor and then fill them with instances of the class in the AudioProcessor constructor as follows: As of right now I don’t think I am freeing any of these resources correctly. (66 for the auval test was because it tested twice at different buffer sizes). It makes sense that there would be 33 leaked objects since I have 8 instances of a double nested allpass filter class (3 buffers each) and 8 instances of an interpolated delay line class (1 buffer each), for a total of 32 buffer, +1, which is that being passed to process block, for 33. *** Leaked objects detected: 33 instance(s) of class AudioBuffer When I run in the JUCE plugin host and quit by closing the plugin host window (not the stop button in Xcode), I get the same type of error: My plugin runs with no issues in Ableton, I’ve been testing it there for a while and have never had a crash.įor now I will try fixing the memory leak issues and see if that helps. usr/bin/auval: line 11: 6011 Abort trap: 6 arch -x86_64 /usr/bin/auvaltool this point to anything specific? Is there something I am doing incorrectly in terms of memory management or freeing resources that might be causing this? Also is there any way to get a more specific description of the object causing the error? *** set a breakpoint in malloc_error_break to debug Here is the error I get from when my plugin fails, failure happens due to a malloc error in the 1 channel render test:Īuvaltool(6011,0x7fff7a7f5000) malloc: *** error for object 0x7fdfcc814808: incorrect checksum for freed object - object was probably modified after being freed. When I use auval -v to run a test on my plugin via the command line, it fails the first time and then passes when I run the test again. This also happens with auval test in the command-line. Okay, I realized that something weird is happening where the plugin crashes the aufx validation when opening logic for the first time, but when I rescan for plugins it passes. Now when you build and run the AU scheme it will launch auval and run tests on your plugin - of which you can debug through. Add an argument such as -v aufx bpas appl (use the values you retrieved from running auval -a), you can add all these as one argument exactly like this.Back in the edit scheme page now, select the Arguments tab at the top.Enter and select Choose (before you can run this executable from Xcode, you might need to move this executable to another location such as /usr/local/bin or disable integrity protection).Hit Shift + Command + G on your keyboard and type /usr/bin/auvaltool.In the Executable drop down menu select Other….If you need further info you can debug with auval in Xcode quite easily. For example to test the above plugin you would run… If you take the first three 4 character codes you can use those in auval to test your plugin. If your plugin shows up you should see it in the list for example… The best thing to do to debug is to run auval.įrom terminal I would run auval -a, does your plugin show up? (remember this will likely be the one in the user library ONLY) First thing to say is that in most hosts the one in the user library will be the ONLY one seen by them.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |