Tracktion/tracktion_engine

[Bug]: Slate Virtual Mix Rack crashes both Tracktion Engine as Waveform

Opened this issue · 6 comments

Detailed steps on how to reproduce the bug

  1. Load VMR on a track.. 1 will do.
  2. start recalling presets 1 after the other.
  3. Both waveform and tracktion engine will crash within 30 seconds of recalling presets 1 after the other

What is the expected behaviour?

No crash.
According to Slate Digital this is not a problem on their side as supposedly this is not a problem in all their supported DAWs.

Unit test to reproduce the error?

Operating systems

Windows

What versions of the operating systems?

Windows 11

Architectures

x86_64

Stacktrace

No response

Plug-in formats (if applicable)

VST3

Plug-in host applications (DAWs) (if applicable)

Waveform and Tracktion Engine

Testing on the develop branch

The bug is present on the develop branch

Code of Conduct

  • I agree to follow the Code of Conduct

So you have a stack trace for this crash happening in Tracktion Engine?

VCC MixBuss.epl!000002849fbf2817()	Unknown
VCC MixBuss.epl!000002849fbeb75e()	Unknown
Virtual Mix Rack.vst3!00000001802c6e62()	Unknown
Virtual Mix Rack.vst3!00000001802c3037()	Unknown
Virtual Mix Rack.vst3!00000001804cb957()	Unknown
Virtual Mix Rack.vst3!00000001804bc9be()	Unknown
Virtual Mix Rack.vst3!00000001802c6fb8()	Unknown
Virtual Mix Rack.vst3!0000000180407ae5()	Unknown
[Inline Frame] LAMA Mix.exe!juce::AudioProcessorParameter::setValueNotifyingHost(float newValue) Line 1528	C++
LAMA Mix.exe!juce::VST3HostContext::performEdit(unsigned int paramID, double valueNormalised) Line 3646	C++
[External Code]	
LAMA Mix.exe!juce::InternalMessageQueue::dispatchNextMessage(bool returnIfNoPendingMessages) Line 139	C++
[Inline Frame] LAMA Mix.exe!juce::detail::dispatchNextMessageOnSystemQueue(bool) Line 263	C++
[Inline Frame] LAMA Mix.exe!juce::MessageManager::runDispatchLoop() Line 112	C++
[Inline Frame] LAMA Mix.exe!juce::JUCEApplicationBase::main() Line 265	C++
LAMA Mix.exe!WinMain(HINSTANCE__ * __formal, HINSTANCE__ * __formal, char * __formal, int __formal) Line 1078	C++
[External Code]	

Our main developer thinks this is a problem on the side of Slate after all now. The problem is that we cannot load it as it's ilok.
I will send this to the Stack Trace to Slate too, to see what they think.

Have you run pluginval over it?
I've seen Slate plugins in the past that didn't like higher parameter index values being changed.

But as long as this is on the message thread, the parameter index is in range and the value being set is 0-1 I think it's a valid call and the problem is likely on the plugin side.

Let me try that asap and get back to you.. could be a couple of days.

All tests pass, but the thing that makes it crash is not tested. -> switching of presets.
I have send the info to Slate too, they will look at this next week they tell me now.

The response from the Slate team: Thank you for the dump, it will help a lot. I created a ticket for the development team. They have a lot to do for now, but I expect a fix in a few weeks. Sorry for the inconvenience.