Problems using Tracktion engine within a plugin

That definitely improves things!

Now I no longer see the triggerAndWaitForCallbak() related errors, although after engine initializes there are errors as well, seemingly related to device manager? This is the stack trace without setting a brakpoint (the first assertion failure raised is for tracktion_DeviceManager.cpp:154):

(gdb) run -d -c /media/sf_Shared/builds_linux/sushi_EngineInPluginDemo2_vst2.json
Starting program: /media/sf_Shared/Sushi-x86_64-0.8.0.AppImage -d -c /media/sf_Shared/builds_linux/sushi_EngineInPluginDemo2_vst2.json
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
process 22940 is executing new program: /tmp/.mount_Sushi-9KsLCd/AppRun
process 22940 is executing new program: /tmp/.mount_Sushi-9KsLCd/usr/bin/sushi
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
SUSHI - Sensus Universal Sound Host Interface
Copyright 2016-2018 MIND Music Labs, Stockholm
[New Thread 0x7ffff48c7700 (LWP 22948)]
[New Thread 0x7fffeffff700 (LWP 22949)]
[New Thread 0x7fffef7fe700 (LWP 22950)]
JUCE v5.4.5
[New Thread 0x7fffd344b700 (LWP 22951)]
[New Thread 0x7fffd2c4a700 (LWP 22952)]
[New Thread 0x7fffd2449700 (LWP 22953)]
[New Thread 0x7fffd1c48700 (LWP 22954)]
[New Thread 0x7fffd1447700 (LWP 22955)]
[New Thread 0x7fffd0c46700 (LWP 22956)]
[New Thread 0x7fffbbfff700 (LWP 22957)]
[New Thread 0x7fffbb7fe700 (LWP 22958)]
[New Thread 0x7fffbaffd700 (LWP 22959)]
[New Thread 0x7fffba7fc700 (LWP 22960)]
[New Thread 0x7fffb9ffb700 (LWP 22961)]
[New Thread 0x7fffb97fa700 (LWP 22962)]
Creating Default Controllers...
Edit loaded in: 3 ms
Finding MIDI I/O
MIDI output: MIDI Output
MIDI input: MIDI Input
Audio block size: 512  Rate: 44100
Rebuilding Wave Device List...
Wave In: Input 1 (enabled): 0 (L)
Wave In: Input 2 (enabled): 1 (L)
Wave Out: Output 1 + 2 (enabled): 0 (L), 1 (R)
Default Wave Out: Output 1 + 2
Default MIDI Out: 
Default Wave In: Input 1
Default MIDI In: 
Rebuilding Wave Device List...
Wave In: Input 1 (enabled): 0 (L)
Wave In: Input 2 (enabled): 1 (L)
Wave Out: Output 1 + 2 (enabled): 0 (L), 1 (R)
Default Wave Out: Output 1 + 2
Default MIDI Out: 
Default Wave In: Input 1
Default MIDI In: 
Rebuilding Wave Device List...
Wave In: Input 1 (enabled): 0 (L)
Wave In: Input 2 (enabled): 1 (L)
Wave Out: Output 1 + 2 (enabled): 0 (L), 1 (R)
Default Wave Out: Output 1 + 2
Default MIDI Out: 
Default Wave In: Input 1
Default MIDI In: 
JUCE Assertion failure in tracktion_DeviceManager.cpp:154
[New Thread 0x7fffaffff700 (LWP 22965)]

Thread 1 "sushi" received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff5acb187 in kill () at ../sysdeps/unix/syscall-template.S:78
78	../sysdeps/unix/syscall-template.S: No such file or directory.
(gdb) bt
#0  0x00007ffff5acb187 in kill () at ../sysdeps/unix/syscall-template.S:78
#1  0x00007fffee2d14eb in tracktion_engine::DeviceManager::ContextDeviceClearer::dispatchPendingUpdates() (this=0x7fffcc03ab20)
    at ../../../../../modules/tracktion_engine/playback/tracktion_DeviceManager.cpp:154
#2  0x00007fffee27e3b0 in tracktion_engine::DeviceManager::audioDeviceAboutToStart(juce::AudioIODevice*) (this=0x7fffcc03a450, device=0x7fffcc0573b0) at ../../../../../modules/tracktion_engine/playback/tracktion_DeviceManager.cpp:1158
#3  0x00007fffee449acc in juce::AudioDeviceManager::audioDeviceAboutToStartInt(juce::AudioIODevice*) (this=0x7fffcc03a4a8, device=0x7fffcc0573b0) at ../../../../../modules/juce/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp:862
#4  0x00007fffee45a2e5 in juce::AudioDeviceManager::CallbackHandler::audioDeviceAboutToStart(juce::AudioIODevice*) (this=0x7fffcc03aaf0, device=0x7fffcc0573b0) at ../../../../../modules/juce/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp:59
#5  0x00007fffee2e5c19 in tracktion_engine::HostedAudioDevice::settingsChanged() (this=0x7fffcc0573b0)
    at ../../../../../modules/tracktion_engine/playback/tracktion_HostedAudioDevice.cpp:92
#6  0x00007fffee2e6193 in tracktion_engine::HostedAudioDeviceType::settingsChanged() (this=0x7fffcc0be1a0)
    at ../../../../../modules/tracktion_engine/playback/tracktion_HostedAudioDevice.cpp:140
#7  0x00007fffee2a5815 in tracktion_engine::HostedAudioDeviceInterface::prepareToPlay(double, int) (this=0x7fffcc051f40, sampleRate=48000, blockSize=64) at ../../../../../modules/tracktion_engine/playback/tracktion_HostedAudioDevice.cpp:364
#8  0x00007fffedf1b00a in EngineInPluginDemo::prepareToPlay(double, int) (this=0x5555559fd0c0, sampleRate=48000, expectedBlockSize=64)
    at ../../Source/../../../EngineInPluginDemo.h:94
#9  0x00007fffedabe8c4 in JuceVSTWrapper::resume() (this=0x5555559fdb60)
    at ../../../../../modules/juce/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp:632
#10 0x00007fffedac1c01 in JuceVSTWrapper::handleResumeSuspend(JuceVSTWrapper::VstOpCodeArguments) (this=0x5555559fdb60, args=...)
    at ../../../../../modules/juce/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp:1815
#11 0x00007fffedac05d9 in JuceVSTWrapper::dispatcher(int, JuceVSTWrapper::VstOpCodeArguments) (this=0x5555559fdb60, opCode=12, args=...)
    at ../../../../../modules/juce/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp:1217
#12 0x00007fffedac0a4e in JuceVSTWrapper::dispatcherCB(Vst2::AEffect*, int, int, long long, void*, float) (vstInterface=0x5555559fdbc8, opCode=12, index=0, value=1, ptr=0x0, opt=0) at ../../../../../modules/juce/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp:1265
#13 0x00005555555e79c2 in sushi::vst2::Vst2xWrapper::set_enabled(bool) ()
#14 0x00005555555af4f9 in sushi::engine::AudioEngine::add_plugin_to_track(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sushi::engine::PluginType) ()
#15 0x00005555555c4d98 in sushi::jsonconfig::JsonConfigurator::_make_track(rapidjson::GenericValue<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> > const&) ()
#16 0x00005555555c6ba4 in sushi::jsonconfig::JsonConfigurator::load_tracks() ()
#17 0x000055555557cb30 in main ()

Then there are other assertion failures until the program exits. That’s the program output (without gdb):

root@ffont-VirtualBox:/home/ffont# /media/sf_Shared/Sushi-x86_64-0.8.0.AppImage -d -c /media/sf_Shared/builds_linux/sushi_EngineInPluginDemo2_vst2.json 
SUSHI - Sensus Universal Sound Host Interface
Copyright 2016-2018 MIND Music Labs, Stockholm
JUCE v5.4.5
Creating Default Controllers...
Edit loaded in: 137 ms
Finding MIDI I/O
MIDI output: MIDI Output
MIDI input: MIDI Input
Audio block size: 512  Rate: 44100
Rebuilding Wave Device List...
Wave In: Input 1 (enabled): 0 (L)
Wave In: Input 2 (enabled): 1 (L)
Wave Out: Output 1 + 2 (enabled): 0 (L), 1 (R)
Default Wave Out: Output 1 + 2
Default MIDI Out: 
Default Wave In: Input 1
Default MIDI In: 
Rebuilding Wave Device List...
Wave In: Input 1 (enabled): 0 (L)
Wave In: Input 2 (enabled): 1 (L)
Wave Out: Output 1 + 2 (enabled): 0 (L), 1 (R)
Default Wave Out: Output 1 + 2
Default MIDI Out: 
Default Wave In: Input 1
Default MIDI In: 
Rebuilding Wave Device List...
Wave In: Input 1 (enabled): 0 (L)
Wave In: Input 2 (enabled): 1 (L)
Wave Out: Output 1 + 2 (enabled): 0 (L), 1 (R)
Default Wave Out: Output 1 + 2
Default MIDI Out: 
Default Wave In: Input 1
Default MIDI In: 
JUCE Assertion failure in tracktion_DeviceManager.cpp:154
JUCE Assertion failure in juce_AsyncUpdater.cpp:82
JUCE Assertion failure in tracktion_EditPlaybackContext.cpp:61
JUCE Assertion failure in tracktion_EditPlaybackContext.cpp:77
Failed to load Event list from Json config file
*** Leaked objects detected: 128 instance(s) of class IIRFilter
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class LookupTable
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 128 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class LookupTableTransform
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
Generating waves: 1431ms
*** Leaked objects detected: 3 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 32 instance(s) of class MPESynthesiserVoice
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class DelayBufferBase
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class FourOscPlugin
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class Reverb
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MPESynthesiser
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MPESynthesiserBase
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MPEInstrument
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MidiRPNDetector
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ClickMutingNode
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ClickNode
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class TrackMutingAudioNode
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class SingleInputAudioNode
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class PluginAudioNode
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 3 instance(s) of class MixerAudioNode
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 3 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 11 instance(s) of class AudioNode
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class WaveInputDeviceInstance
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class RetrospectiveRecordBuffer
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class WaveOutputDeviceInstance
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OutputDeviceInstance
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MidiInputDeviceInstanceBase
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MidiMessageSequence
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 3 instance(s) of class InputDeviceInstance
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 3 instance(s) of class ValueTreeObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class EditPlaybackContext
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MidiNoteDispatcher
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class HighResolutionTimer
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class PlayHead
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MixerThreadPool
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class WaveOutputDevice
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class Desktop
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ComponentAnimator
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MouseInputSource
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MouseInputSourceInternal
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MidiClockGenerator
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MidiTimecodeGenerator
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ALSAAudioIODeviceType
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class HostedAudioDeviceInterface
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class AudioMidiFifo
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class AbstractFifo
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class UndoTransactionTimer
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class ValueTreeObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ARADocumentHolder
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ChordTrack
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class TempoTrack
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ArrangerTrack
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class LevelMeterPlugin
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class FreezeUpdater
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class TrackOutput
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class VirtualMidiInputDevice
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class MidiInputDevice
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class SharedResourcePointer
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class MidiKeyboardState
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 3 instance(s) of class WaveInputDevice
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 8 instance(s) of class LevelMeasurer
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class AudioTrack
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MarkerTrack
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class ClipList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class ValueTreeObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class CollectionClipList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class ClipTrack
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 5 instance(s) of class ValueTreeObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 5 instance(s) of class Track
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class TrackList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ValueTreeObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class TrackCompList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ValueTreeObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class EditInputDevices
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class ObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class ValueTreeObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ValueTreeList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ValueTreeObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 72 instance(s) of class AutomationCurveSource
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 72 instance(s) of class AutomationCurve
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 72 instance(s) of class AutomatableParameter
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class VolumeAndPanPlugin
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class WindowState
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class Plugin
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class PitchSetting
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ValueTreeObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class TimeSigSetting
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class TrackItem
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ValueTreeObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ValueTreeObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 10 instance(s) of class ValueTreeObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 14 instance(s) of class AutomatableEditItem
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 14 instance(s) of class AutomatableParameterTree
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 14 instance(s) of class TreeNode
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 14 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 21 instance(s) of class EditItem
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class TreeWatcher
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class TrackCompManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class RackTypeList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ParameterChangeHandler
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 6 instance(s) of class PluginList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class ButtonRepeater
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class TransportControl
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class PluginCache
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class Edit
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class UndoManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class PitchSequence
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class TempoSequence
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class EditItemCache
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class EditItemCache
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 94 instance(s) of class Selectable
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 64 instance(s) of class Random
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 131 instance(s) of class SharedObject
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ProjectManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class PluginManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class KnownPluginList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class AudioPluginFormatManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class BackgroundJobManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 8 instance(s) of class ThreadPoolThread
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ThreadPool
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class TimerThread
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ExternalControllerManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MidiProgramManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class DeviceManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class CallbackHandler
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class AudioDeviceManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class AudioFileManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class AudioThumbnailCache
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class HashMap
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class AudioFileCache
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class TimeSliceThread
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class AudioProxyGenerator
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class RenderManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MidiLearnState
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 3 instance(s) of class FlacAudioFormat
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 3 instance(s) of class OggVorbisAudioFormat
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class AiffAudioFormat
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class WavAudioFormat
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 3 instance(s) of class AudioFormatManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class EditDeleter
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class WaveInputRecordingThread
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 32 instance(s) of class QueuedBlock
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class RecordingThumbnailManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class PropertiesFile
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class PropertySet
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class TemporaryFileManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class SelectableUpdateTimer
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class Engine
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class JuceVSTWrapper
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class AudioBuffer
[... lots of other leaked objects messages that I can't put here due to message length restrictions]
*** Leaked objects detected: 34 instance(s) of class WaitableEvent
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
JUCE Assertion failure in juce_Singleton.h:50
JUCE Assertion failure in juce_Singleton.h:50
JUCE Assertion failure in juce_Singleton.h:50
JUCE Assertion failure in juce_Singleton.h:50
JUCE Assertion failure in juce_Singleton.h:50
JUCE Assertion failure in juce_Singleton.h:50
*** Leaked objects detected: 1 instance(s) of class StringPairArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 36 instance(s) of class StringArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
JUCE Assertion failure in juce_Singleton.h:50

Looks like more message thread assertions. How about this:

    void prepareToPlay (double sampleRate, int expectedBlockSize) override
    {
        if (teMembers.get() == nullptr)
        {
            auto initialiseEngine = [this]
            {
                teMembers = std::make_unique<TracktionEngineMembers>();

                // These 3 functions below used to be in the EngineInPlugin constructor
                teMembers->audioInterface.initialise({});
                setupInputs();
                create4OSCPlugin();
            };

            // Do this async to ensure it happens on the message thread
            if (MessageManager::getInstance()->isThisTheMessageThread())
            {
                initialiseEngine();
            }
            else
            {
                jassert (! MessageManager::getInstance()->currentThreadHasLockedMessageManager());
                WaitableEvent finishedSignal;
                MessageManager::callAsync ([&]
                                           {
                                               initialiseEngine();
                                               finishedSignal.signal();
                                           });
                finishedSignal.wait (-1);
            }
        }

        auto prepareEngine = [this, sampleRate, expectedBlockSize]
        {
            setLatencySamples (expectedBlockSize);
            teMembers->audioInterface.prepareToPlay (sampleRate, expectedBlockSize);
        };

        // Do this async to ensure it happens on the message thread
        if (MessageManager::getInstance()->isThisTheMessageThread())
        {
            prepareEngine();
        }
        else
        {
            jassert (! MessageManager::getInstance()->currentThreadHasLockedMessageManager());
            WaitableEvent finishedSignal;
            MessageManager::callAsync ([&]
                                       {
                                           prepareEngine();
                                           finishedSignal.signal();
                                       });
            finishedSignal.wait (-1);
        }
    }

hi, more improvements! Now I don’t seem to see any more message thread assertions. The app still quits after initialization and I see a number of detected leaked objects (I guess this is because the app does not quit gently). The output is below.

root@ffont-VirtualBox:/home/ffont# /media/sf_Shared/Sushi-x86_64-0.8.0.AppImage -d -c /media/sf_Shared/builds_linux/sushi_EngineInPluginDemo2_vst2.json 
SUSHI - Sensus Universal Sound Host Interface
Copyright 2016-2018 MIND Music Labs, Stockholm
JUCE v5.4.5
Creating Default Controllers...
Edit loaded in: 156 ms
Finding MIDI I/O
MIDI output: MIDI Output
MIDI input: MIDI Input
Audio block size: 512  Rate: 44100
Rebuilding Wave Device List...
Wave In: Input 1 (enabled): 0 (L)
Wave In: Input 2 (enabled): 1 (L)
Wave Out: Output 1 + 2 (enabled): 0 (L), 1 (R)
Default Wave Out: Output 1 + 2
Default MIDI Out: 
Default Wave In: Input 1
Default MIDI In: 
Rebuilding Wave Device List...
Wave In: Input 1 (enabled): 0 (L)
Wave In: Input 2 (enabled): 1 (L)
Wave Out: Output 1 + 2 (enabled): 0 (L), 1 (R)
Default Wave Out: Output 1 + 2
Default MIDI Out: 
Default Wave In: Input 1
Default MIDI In: 
Rebuilding Wave Device List...
Wave In: Input 1 (enabled): 0 (L)
Wave In: Input 2 (enabled): 1 (L)
Wave Out: Output 1 + 2 (enabled): 0 (L), 1 (R)
Default Wave Out: Output 1 + 2
Default MIDI Out: 
Default Wave In: Input 1
Default MIDI In: 
Failed to load Event list from Json config file
*** Leaked objects detected: 128 instance(s) of class IIRFilter
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 128 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 32 instance(s) of class MPESynthesiserVoice
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class DelayBufferBase
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class LookupTable
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class LookupTableTransform
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 3 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class FourOscPlugin
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class Reverb
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MPESynthesiser
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MPESynthesiserBase
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MPEInstrument
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MidiRPNDetector
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
Generating waves: 1565ms
*** Leaked objects detected: 1 instance(s) of class ClickMutingNode
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ClickNode
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class TrackMutingAudioNode
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class SingleInputAudioNode
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class PluginAudioNode
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 3 instance(s) of class MixerAudioNode
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 3 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 11 instance(s) of class AudioNode
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class WaveInputDeviceInstance
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class RetrospectiveRecordBuffer
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class WaveOutputDeviceInstance
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OutputDeviceInstance
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MidiInputDeviceInstanceBase
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MidiMessageSequence
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 3 instance(s) of class InputDeviceInstance
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 3 instance(s) of class ValueTreeObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class EditPlaybackContext
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MidiNoteDispatcher
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class HighResolutionTimer
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class PlayHead
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MixerThreadPool
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class WaveOutputDevice
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class Desktop
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ComponentAnimator
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MouseInputSource
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MouseInputSourceInternal
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MidiClockGenerator
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MidiTimecodeGenerator
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ALSAAudioIODeviceType
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class HostedAudioDeviceInterface
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class AudioMidiFifo
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class AbstractFifo
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class UndoTransactionTimer
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class ValueTreeObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ARADocumentHolder
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ChordTrack
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class TempoTrack
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ArrangerTrack
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class LevelMeterPlugin
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class FreezeUpdater
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class TrackOutput
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class VirtualMidiInputDevice
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class MidiInputDevice
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class SharedResourcePointer
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class MidiKeyboardState
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 3 instance(s) of class WaveInputDevice
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 8 instance(s) of class LevelMeasurer
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class AudioTrack
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MarkerTrack
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class ClipList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class ValueTreeObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class CollectionClipList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class ClipTrack
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 5 instance(s) of class ValueTreeObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 5 instance(s) of class Track
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class TrackList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ValueTreeObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class TrackCompList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ValueTreeObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class EditInputDevices
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class ObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class ValueTreeObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ValueTreeList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ValueTreeObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 72 instance(s) of class AutomationCurveSource
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 72 instance(s) of class AutomationCurve
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 72 instance(s) of class AutomatableParameter
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class VolumeAndPanPlugin
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class WindowState
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class Plugin
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class PitchSetting
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ValueTreeObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class TimeSigSetting
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class TrackItem
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ValueTreeObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ValueTreeObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 10 instance(s) of class ValueTreeObjectList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 14 instance(s) of class AutomatableEditItem
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 14 instance(s) of class AutomatableParameterTree
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 14 instance(s) of class TreeNode
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 14 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 21 instance(s) of class EditItem
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class TreeWatcher
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class TrackCompManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class RackTypeList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ParameterChangeHandler
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 6 instance(s) of class PluginList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class ButtonRepeater
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class TransportControl
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class PluginCache
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class Edit
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class UndoManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class PitchSequence
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class TempoSequence
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class EditItemCache
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class EditItemCache
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 94 instance(s) of class Selectable
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 64 instance(s) of class Random
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 131 instance(s) of class SharedObject
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ProjectManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class PluginManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class KnownPluginList
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class AudioPluginFormatManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class BackgroundJobManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 8 instance(s) of class ThreadPoolThread
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ThreadPool
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class TimerThread
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class ExternalControllerManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MidiProgramManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class DeviceManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class CallbackHandler
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class AudioDeviceManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class AudioFileManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class AudioThumbnailCache
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class HashMap
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class AudioFileCache
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class TimeSliceThread
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class AudioProxyGenerator
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class RenderManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MidiLearnState
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 3 instance(s) of class FlacAudioFormat
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 3 instance(s) of class OggVorbisAudioFormat
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class AiffAudioFormat
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class WavAudioFormat
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 3 instance(s) of class AudioFormatManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class EditDeleter
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class WaveInputRecordingThread
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 32 instance(s) of class QueuedBlock
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class RecordingThumbnailManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class PropertiesFile
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class PropertySet
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class TemporaryFileManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class SelectableUpdateTimer
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class Engine
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class JuceVSTWrapper
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 4 instance(s) of class AudioBuffer
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 75 instance(s) of class AudioBuffer
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 6 instance(s) of class MidiBuffer
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 3 instance(s) of class MemoryBlock
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 127 instance(s) of class AsyncUpdater
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class EngineInPluginDemo
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class AudioProcessor
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class AudioProcessorParameterGroup
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 2 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 27 instance(s) of class BigInteger
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 1 instance(s) of class MessageManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 15 instance(s) of class Thread
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 34 instance(s) of class WaitableEvent
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
JUCE Assertion failure in juce_Singleton.h:50
JUCE Assertion failure in juce_Singleton.h:50
JUCE Assertion failure in juce_Singleton.h:50
JUCE Assertion failure in juce_Singleton.h:50
JUCE Assertion failure in juce_Singleton.h:50
JUCE Assertion failure in juce_Singleton.h:50
*** Leaked objects detected: 1 instance(s) of class StringPairArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
*** Leaked objects detected: 36 instance(s) of class StringArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:90
JUCE Assertion failure in juce_Singleton.h:50

Maybe now this is related to my specific setup, so I should try loading the plugin with other hosts as well.

Can you run this under gdb? It looks like the app is quitting in a weird way before it gets to load the Edit.

I think the assertions are because the whole plugin is being leaked: *** Leaked objects detected: 1 instance(s) of class EngineInPluginDemo

Yes, it would be good to see if this happens in other hosts too. (Like the juce Audio Plugin Host).

This the output in gdb, does not seem to tell much :S

root@ffont-VirtualBox:/home/ffont# gdb /media/sf_Shared/Sushi-x86_64-0.8.0.AppImage
GNU gdb (Ubuntu 8.1-0ubuntu3.2) 8.1.0.20180409-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /media/sf_Shared/Sushi-x86_64-0.8.0.AppImage...(no debugging symbols found)...done.
(gdb) run -d -c /media/sf_Shared/builds_linux/sushi_EngineInPluginDemo2_vst2.json
Starting program: /media/sf_Shared/Sushi-x86_64-0.8.0.AppImage -d -c /media/sf_Shared/builds_linux/sushi_EngineInPluginDemo2_vst2.json
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
process 1622 is executing new program: /tmp/.mount_Sushi-OY10Gy/AppRun
process 1622 is executing new program: /tmp/.mount_Sushi-OY10Gy/usr/bin/sushi
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
SUSHI - Sensus Universal Sound Host Interface
Copyright 2016-2018 MIND Music Labs, Stockholm
[New Thread 0x7ffff48c7700 (LWP 1630)]
[New Thread 0x7fffeffff700 (LWP 1631)]
[New Thread 0x7fffef7fe700 (LWP 1632)]
[New Thread 0x7fffd4606700 (LWP 1633)]
[New Thread 0x7fffd3e05700 (LWP 1634)]
[New Thread 0x7fffd3604700 (LWP 1635)]
[New Thread 0x7fffd2e03700 (LWP 1636)]
[New Thread 0x7fffd2602700 (LWP 1637)]
[New Thread 0x7fffd1e01700 (LWP 1638)]
[New Thread 0x7fffd1600700 (LWP 1639)]
[New Thread 0x7fffd0dff700 (LWP 1640)]
[New Thread 0x7fffb3fff700 (LWP 1641)]
[New Thread 0x7fffb37fe700 (LWP 1642)]
[New Thread 0x7fffb2ffd700 (LWP 1643)]
[New Thread 0x7fffb27fc700 (LWP 1644)]
Creating Default Controllers...
Finding MIDI I/O
MIDI output: MIDI Output
MIDI input: MIDI Input
Audio block size: 512  Rate: 44100
Rebuilding Wave Device List...
Wave In: Input 1 (enabled): 0 (L)
Wave In: Input 2 (enabled): 1 (L)
Wave Out: Output 1 + 2 (enabled): 0 (L), 1 (R)
Default Wave Out: Output 1 + 2
Default MIDI Out: 
Default Wave In: Input 1
Default MIDI In: 
Rebuilding Wave Device List...
Wave In: Input 1 (enabled): 0 (L)
Wave In: Input 2 (enabled): 1 (L)
Wave Out: Output 1 + 2 (enabled): 0 (L), 1 (R)
Default Wave Out: Output 1 + 2
Default MIDI Out: 
Default Wave In: Input 1
Default MIDI In: 
Rebuilding Wave Device List...
Wave In: Input 1 (enabled): 0 (L)
Wave In: Input 2 (enabled): 1 (L)
Wave Out: Output 1 + 2 (enabled): 0 (L), 1 (R)
Default Wave Out: Output 1 + 2
Default MIDI Out: 
Default Wave In: Input 1
Default MIDI In: 
[New Thread 0x7fffb1753700 (LWP 1647)]
Failed to load Event list from Json config file
[Thread 0x7ffff48c7700 (LWP 1630) exited]
[Thread 0x7fffb1753700 (LWP 1647) exited]
[Thread 0x7fffb27fc700 (LWP 1644) exited]
[Thread 0x7fffb2ffd700 (LWP 1643) exited]
[Thread 0x7fffb37fe700 (LWP 1642) exited]
[Thread 0x7fffb3fff700 (LWP 1641) exited]
[Thread 0x7fffd0dff700 (LWP 1640) exited]
[Thread 0x7fffd1600700 (LWP 1639) exited]
[Thread 0x7fffd1e01700 (LWP 1638) exited]
[Thread 0x7fffd2602700 (LWP 1637) exited]
[Thread 0x7fffd2e03700 (LWP 1636) exited]
[Thread 0x7fffd3604700 (LWP 1635) exited]
[Thread 0x7fffd3e05700 (LWP 1634) exited]
[Thread 0x7fffd4606700 (LWP 1633) exited]
[Thread 0x7fffef7fe700 (LWP 1632) exited]
[Thread 0x7ffff7fc8880 (LWP 1622) exited]
[Inferior 1 (process 1622) exited with code 01]
(gdb) bt
No stack.
(gdb) 

I can’t try with other hosts right now but I’ll try to do it next week see if I get some luck. Thanks!

Ok, I’ve cleaned up the EnginePluginDemo now so that it should work correctly on Linux: https://github.com/Tracktion/tracktion_engine/commit/ffb2690c4d012a3ac325039110574084af1b29e2

I’ve tested this on Ubuntu 16.04 with the JUCE Audio Plugin Host.
I’ve also fixed the PIP so that it should build as a synth now with MIDI input without modification.

If this still isn’t working in the Elk host let me know as there might be something more subtle going on.

That’s great, thanks a lot @dave96!
I don’t have a Pi available for testing now (that’s also why I have been silent about the issue since some weeks), but hopefully I’ll be able to test it soon. I’ll also tell ELK guys and see if they can test it themselves so we have an answer to this. @stez-mind

Thanks a lot!

Hi again,
This is just to say I have not yet been able to test again on the ELK hardware, but I could test the engine in plugin demo and my own work-in-progress app (refactored to instantiate the engine like in the engine in plugin demo) in an Ubuntu Virtual Machine (with audio working) and it works fine both using AudioUnitPluginHost and ELK’s sushi host. Hurray!

Once I can finally get my Pi again to run some tests on actual ELK hardware I’ll report. I hope it is going to work just fine although to optimize it for the dual-kernel ELK thing there are some details I’ll have to look like ELK requiring a patched JUCE (not sure if this is still needed). Anyway, I’ll report here once I get some tests done, but this might not be until a month or two from now. Meanwhile I’ll start another thread with some doubts I have about how to structure my app, adding content to te engine value tree, etc.

Thanks everyone, specially to @dave96, for all the answers and time spent on this.

Hi everyone again,

I was finally able to get my rpi running with the ELK hardware and OS, and test @dave96’s changes in the tracktion engine and… it works! I was able to compile the EngineInPluginDemo project from tracktion engine (381e3220571419d726be759f305576bba2df46cc), using ELK’s modified JUCE (which is currently needed for running JUCE apps in ELK). I did some modifications to the EngineInPluginDemo to also play some background file in addition to the synth. I all works fine, including MIDI input. Awesome!!!

I think there are still some optimizations to do for ELK on the JUCE side, because ELK uses a dual-kernel strategy (much like in Bela), and tracktion needs to get some system timer information (using JUCE’s int64 Time::getHighResolutionTicks() method) which in the ELK context becomes non real-time safe. To fix this the method needs to be patched to use a timer function provided by ELK instead of the syscall (much like it is done for bela). If this is not done in this way, then the performance decreases and audio drops might happen because there are many mode switches. It should not be a hard fix and in any case it is not tracktion engine related. I’ll report in this post if I manage to fix that.

Thanks to everyone and specially to @dave96!