Tracktion / pluginval

Cross platform plugin testing and validation tool

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pluginval crash when listing Automatable Parameters when Verbose Logging is enabled

jcooper-korg opened this issue · comments

I'm trying PluginVal for the first time this week. Thanks for this great project!

pluginval develop branch, commit 149588a. built with juce 6.1.4, Xcode 13.1. on macOS 11.6 on intel

I'm seeing this crash when I turn on Verbose Logging, when it tests Automatable Parameters. The test vst3 plugin in question has many parameters, and pluginval appears to fail after printing out a few hundred parameters info (a different number each time I try). The last thing in the log is usually 'Testing accessers'.

pluginval and vst3 projects both have enabled address sanitizer, detect use of stack after return, malloc scribble, zombie objects.

Here's the crash trace:

#0	0x00000001021e063b in juce::InputStream::readCompressedInt() at /Users/john//JUCE/modules/juce_core/streams/juce_InputStream.cpp:119
#1	0x00000001023e2446 in juce::ValueTree::readFromStream(juce::InputStream&) at /Users/john//JUCE/modules/juce_data_structures/values/juce_ValueTree.cpp:1061
#2	0x00000001023e2a9f in juce::ValueTree::readFromData(void const*, unsigned long) at /Users/john//JUCE/modules/juce_data_structures/values/juce_ValueTree.cpp:1081
#3	0x00000001019dc2f1 in memoryBlockToValueTree(juce::MemoryBlock const&) at /Users/john/Downloads/pluginval-develop/Source/Validator.cpp:272
#4	0x00000001019f09f7 in ValidatorParentProcess::handleMessageFromSlave(juce::MemoryBlock const&) at /Users/john/Downloads/pluginval-develop/Source/Validator.cpp:599
#5	0x00000001024221fb in juce::ChildProcessCoordinator::handleMessageFromWorker(juce::MemoryBlock const&) at /Users/john//JUCE/modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp:136
#6	0x000000010243ad00 in juce::ChildProcessCoordinator::Connection::messageReceived(juce::MemoryBlock const&) at /Users/john//JUCE/modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp:114
#7	0x000000010242080e in juce::InterprocessConnection::deliverDataInt(juce::MemoryBlock const&) at /Users/john//JUCE/modules/juce_events/interprocess/juce_InterprocessConnection.cpp:323
#8	0x0000000102420f6e in juce::InterprocessConnection::readNextMessage() at /Users/john//JUCE/modules/juce_events/interprocess/juce_InterprocessConnection.cpp:372
#9	0x00000001024212e1 in juce::InterprocessConnection::runThread() at /Users/john//JUCE/modules/juce_events/interprocess/juce_InterprocessConnection.cpp:424
#10	0x00000001024381bb in juce::InterprocessConnection::ConnectionThread::run() at /Users/john//JUCE/modules/juce_events/interprocess/juce_InterprocessConnection.cpp:29
#11	0x000000010221e556 in juce::Thread::threadEntryPoint() at /Users/john//JUCE/modules/juce_core/threads/juce_Thread.cpp:96
#12	0x000000010221ef75 in juce::juce_threadEntryPoint(void*) at /Users/john//JUCE/modules/juce_core/threads/juce_Thread.cpp:118
#13	0x000000010229cfa6 in juce::threadEntryProc(void*) at /Users/john//JUCE/modules/juce_core/native/juce_posix_SharedCode.h:859

The plugin passes the validation when Verbose Logging is turned off.

Thanks again!

I think this is fixed in the 1.0.0 release