Debug vs Release



  • What's the difference between debug plugin and release plugin? I'm sure I knew at one point but can't figure it now.



  • From what I understand, the main difference is when compiled in debug mode, additional files are created that allow you to step through the code when its running.
    The release version has optimized code which reduces the size of your dll and restricts access to the data inside while running.



  • This and Release builds are way faster so you definitely don‘t want to ship Debug builds as product - that‘s why they called Debug 🙂



  • @christoph-hart Well I built a debug version of my plugin and noticed it doesn't have a problem that the release version does have, how should I debug this?



  • Yeah, that rarely happens, most of the times it's a multithreading issue that is masked by the slowness of the Debug build and only appears with the optimised version.

    What you can do is to enable Debug symbols for the optimised version: in the Projucer, enable the Debug Mode tick box in the Linux Makefile - Release configuration, resave and rebuild (it will still optimise). Maybe the segfault message is more meaningful then.



  • Also you might want to check this marvellous piece of software:

    https://github.com/Tracktion/pluginval/releases

    It's a plugin validator from one of the more active members of the JUCE community which should catch weird behaviour and initialisation crashes. HEXERACT runs smoothly on the strictest level (10), but maybe there's something fishy on Linux.



  • @christoph-hart Thanks. I'll check out that software now. I just did a release build with Debug enabled, the segfault has been replaced by this

    [17654.291460] traps: reaper[21097] general protection ip:7fb3ec32fafa sp:7ffd7e53e068 error:0 in libc-2.27.so[7fb3ec1a1000+1e7000]
    


  • Whoa, that is spooky, no idea what this means. The next step would be trying to remove the optimizations one after another until you end up with the Debug configuration in this order:

    1. Remove Link Time Optimisation tick box.
    2. Decrease the compiler optimizations one by one from -O3 to -O0.

    Also can you hook up a debugger like gdb to reaper when it scans?



  • @christoph-hart I shall try all those things and report back. I'm building pluginval at the mo too



  • Pluginval won't run or build for me (waiting for the dev to get back to me about the issue).

    In the meantime I ran Reaper from the console and did a rescan of the plugins. This is going to be a long post of console output! I think the important part is the core dump bit right at the end.

    First of all I get this:

    JUCE v5.2.0
    Loading embedded image data
    Loading embedded impulse responses
    Loading embedded other data
    Creating Frontend Processor
    Initialising MainController
    Checking license
    Load images
    Load embedded audio files
    Load samplemaps
    Restoring main container
    JUCE Assertion failure in LockHelpers.cpp:147
    JUCE Assertion failure in LockHelpers.cpp:223
    JUCE Assertion failure in LockHelpers.cpp:147
    JUCE Assertion failure in LockHelpers.cpp:223
    JUCE Assertion failure in LFOModulator.h:249
    JUCE Assertion failure in LFOModulator.h:249
    JUCE Assertion failure in LockHelpers.cpp:147
    JUCE Assertion failure in LockHelpers.cpp:223
    JUCE Assertion failure in LockHelpers.cpp:147
    JUCE Assertion failure in LockHelpers.cpp:223
    JUCE Assertion failure in LockHelpers.cpp:147
    JUCE Assertion failure in LockHelpers.cpp:223
    JUCE Assertion failure in LockHelpers.cpp:147
    JUCE Assertion failure in LockHelpers.cpp:223
    JUCE Assertion failure in LockHelpers.cpp:147
    JUCE Assertion failure in LockHelpers.cpp:223
    JUCE Assertion failure in LockHelpers.cpp:147
    JUCE Assertion failure in LockHelpers.cpp:223
    

    Then I get this, repeated over and over (I won't include all repetitions):

    JUCE Assertion failure in ModulatorSamplerData.cpp:219
    JUCE Assertion failure in ModulatorSamplerSound.cpp:559
    JUCE Assertion failure in ModulatorSamplerSound.cpp:559
    JUCE Assertion failure in ModulatorSamplerSound.cpp:559
    JUCE Assertion failure in ModulatorSamplerSound.cpp:559
    JUCE Assertion failure in ModulatorSamplerSound.cpp:559
    JUCE Assertion failure in ModulatorSamplerSound.cpp:559
    JUCE Assertion failure in ModulatorSamplerSound.cpp:559
    JUCE Assertion failure in ModulatorSamplerSound.cpp:559
    JUCE Assertion failure in LockHelpers.cpp:147
    JUCE Assertion failure in LockHelpers.cpp:223
    

    Next I get this:

    JUCE Assertion failure in LockHelpers.cpp:147
    JUCE Assertion failure in LockHelpers.cpp:223
    JUCE Assertion failure in LockHelpers.cpp:147
    JUCE Assertion failure in LockHelpers.cpp:223
    JUCE Assertion failure in LockHelpers.cpp:147
    JUCE Assertion failure in LockHelpers.cpp:223
    JUCE Assertion failure in LockHelpers.cpp:147
    JUCE Assertion failure in LockHelpers.cpp:223
    JUCE Assertion failure in LockHelpers.cpp:147
    JUCE Assertion failure in LockHelpers.cpp:223
    JUCE Assertion failure in LockHelpers.cpp:147
    JUCE Assertion failure in LockHelpers.cpp:223
    JUCE Assertion failure in LockHelpers.cpp:147
    JUCE Assertion failure in LockHelpers.cpp:223
    Compiling all scripts
    

    And this

    JUCE Assertion failure in ScriptingApi.cpp:1943
    JUCE Assertion failure in ScriptingApi.cpp:1943
    JUCE Assertion failure in ScriptingApi.cpp:1943
    JUCE Assertion failure in LockHelpers.cpp:147
    JUCE Assertion failure in LockHelpers.cpp:223
    JUCE Assertion failure in ScriptingApi.cpp:1943
    JUCE Assertion failure in ScriptingApi.cpp:1943
    JUCE Assertion failure in ScriptingApi.cpp:1943
    

    And those LockHelper lines are again repeated over and over.

    Then:

    JUCE Assertion failure in LockHelpers.cpp:223
    Adding plugin parameters
    JUCE Assertion failure in LockHelpers.cpp:147
    JUCE Assertion failure in LockHelpers.cpp:223
    JUCE Assertion failure in LockHelpers.cpp:147
    JUCE Assertion failure in LockHelpers.cpp:223
    Restoring global settings
    Setting disk mode
    Samples are validated. Skipping reference check
    Loading samples
    

    Then I get this huge block before Reaper closes

    JUCE Assertion failure in MainControllerHelpers.cpp:349
    *** Leaked objects detected: 3 instance(s) of class MidiList
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 2 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 11 instance(s) of class ScriptButton
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 3 instance(s) of class ScriptingSynth
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 2 instance(s) of class ScriptingMidiProcessor
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 2 instance(s) of class ScriptingModulator
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 5 instance(s) of class PathObject
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 12 instance(s) of class ExternalFileData
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 175 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 175 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 592 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 3816 instance(s) of class Statement
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 39 instance(s) of class Object
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 3 instance(s) of class ScriptFloatingTile
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 7 instance(s) of class ScriptTable
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 8 instance(s) of class ScriptComboBox
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 38 instance(s) of class ScriptPanel
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 38 instance(s) of class GraphicsObject
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 95 instance(s) of class ScriptComponent
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 1028 instance(s) of class ModulatorState
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 3 instance(s) of class SimpleEnvelope
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 810 instance(s) of class StreamingSamplerSound
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 810 instance(s) of class FileReader
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 270 instance(s) of class ModulatorSamplerSound
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 9 instance(s) of class MemoryMappedFile
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 9 instance(s) of class MemoryMappedAudioFormatReader
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 18 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 3 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 3 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 831 instance(s) of class AudioFormatReader
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 320 instance(s) of class MultiMicModulatorSamplerVoice
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 320 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 10 instance(s) of class ProcessorValueConverter
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 320 instance(s) of class ModulatorSamplerVoice
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 3 instance(s) of class AudioThumbnailCache
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 3 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 3 instance(s) of class TimeSliceThread
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 3 instance(s) of class SampleMap
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 3 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 3 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 1 instance(s) of class VelocityModulator
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 2 instance(s) of class SliderPackProcessor
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 27 instance(s) of class LookupTableProcessor
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 27 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 16 instance(s) of class DownsampledSmoother
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 199 instance(s) of class DebugInformation
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 5 instance(s) of class Colours
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 5 instance(s) of class Console
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 8 instance(s) of class SelectedItemSet<SelectableItemType>
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 5 instance(s) of class Synth
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 5 instance(s) of class SelectedItemSet<SelectableItemType>
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 5 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 5 instance(s) of class Engine
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 5 instance(s) of class Message
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 5 instance(s) of class Content
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 4 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 191 instance(s) of class ApiClass
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 5 instance(s) of class HiseJavascriptEngine
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 5 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 5 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 5 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 1081 instance(s) of class SynthesiserSound
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 576 instance(s) of class ModulatorSynthVoice
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 1856 instance(s) of class SynthesiserVoice
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 1 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 34 instance(s) of class ModChainWithBuffer
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 39 instance(s) of class ModulatorChain
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 39 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 39 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 39 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 43 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 48 instance(s) of class PolyphonyManager
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 66 instance(s) of class Modulator
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 66 instance(s) of class Modulation
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 2 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 16 instance(s) of class MacroControlData
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 16 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 2 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 6 instance(s) of class ModulatorSynth
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 6 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 6 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 6 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 6 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 6 instance(s) of class HardcodedScriptFactoryType
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 6 instance(s) of class MidiProcessorFactoryType
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 152 instance(s) of class FactoryType
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 11 instance(s) of class MidiProcessor
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 92 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 97 instance(s) of class Path
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 6 instance(s) of class Synthesiser
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 6 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 290 instance(s) of class SafeChangeBroadcaster
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 290 instance(s) of class FlagTimer
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 290 instance(s) of class AsyncBroadcaster
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 35 instance(s) of class CodeDocument
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 35 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 8 instance(s) of class TimerPimpl
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 10 instance(s) of class MidiBuffer
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 7839 instance(s) of class AudioBuffer
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 5 instance(s) of class LibraryLoader
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 1 instance(s) of class StaticDspFactory
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 5 instance(s) of class SharedResourcePointer
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 586 instance(s) of class DynamicObject
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 35 instance(s) of class UndoManager
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 70 instance(s) of class OwnedArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 414 instance(s) of class AsyncUpdater
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 9 instance(s) of class FileInputStream
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 2673 instance(s) of class BigInteger
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 2337 instance(s) of class SharedObject
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 9 instance(s) of class MemoryInputStream
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 18 instance(s) of class InputStream
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 18 instance(s) of class MemoryBlock
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 3 instance(s) of class Thread
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 1558 instance(s) of class WaitableEvent
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    *** Leaked objects detected: 831 instance(s) of class StringPairArray
    JUCE Assertion failure in juce_LeakedObjectDetector.h:88
    Segmentation fault (core dumped)
    

    So I used gdb to get the backtrace from the core dump, and here is the output:

    Reading symbols from /opt/REAPER/reaper...(no debugging symbols found)...done.
    [New LWP 13106]
    [New LWP 13471]
    [New LWP 13472]
    [New LWP 13480]
    [New LWP 13476]
    [New LWP 13478]
    [New LWP 13479]
    [New LWP 13481]
    [New LWP 13477]
    [New LWP 13474]
    [New LWP 13487]
    [New LWP 13550]
    [New LWP 13548]
    [New LWP 13485]
    [New LWP 13484]
    [New LWP 13549]
    [New LWP 13475]
    [New LWP 13473]
    [New LWP 13486]
    [New LWP 13483]
    [New LWP 13482]
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
    Core was generated by `/opt/REAPER/reaper'.
    Program terminated with signal SIGSEGV, Segmentation fault.
    #0  __memmove_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:231
    231	../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: No such file or directory.
    [Current thread is 1 (Thread 0x7fcc2f783d00 (LWP 13106))]
    (gdb) bt
    #0  0x00007fcc2e2bdafa in __memmove_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:231
    #1  0x646165726874093a in  ()
    #2  0x6172656e6c757620 in  ()
    #3  0x0000000000656c62 in  ()
    #4  0x00007fffac2fe6a0 in  ()
    #5  0x00000000000008d0 in  ()
    #6  0x00007fcbea772e56 in juce::File::readLines(juce::StringArray&) const () at /home/dave/.vst/Sofia Woodwinds.so
    #7  0x00007fcbea34f0c2 in juce::readPosixConfigFileValue(char const*, char const*) () at /home/dave/.vst/Sofia Woodwinds.so
    #8  0x00007fcbea34f24f in juce::juce_isRunningUnderDebugger() () at /home/dave/.vst/Sofia Woodwinds.so
    #9  0x00007fcbea35f958 in juce::LeakedObjectDetector<juce::StringPairArray>::LeakCounter::~LeakCounter() ()
        at /home/dave/.vst/Sofia Woodwinds.so
    #10 0x00007fcc2e172615 in __cxa_finalize (d=0x7fcbeb40dd60) at cxa_finalize.c:83
    #11 0x00007fcbea252cd3 in __do_global_dtors_aux () at /home/dave/.vst/Sofia Woodwinds.so
    #12 0x00007fffac2ff430 in  ()
    #13 0x00007fcc2f59dc7c in _dl_close_worker (map=<optimised out>, force=<optimised out>) at dl-close.c:288
    

    Is any of this of any use?



  • Seems like REAPER is doing something weird with the threading when testing plugins. Also all those memory leaks are superspooky, either the program gets killed midway or the cleanup code should delete all those object so I have no idea how this could happen.

    Have you heard anything like this from non-Linux users?

    One thing that I am doing differently in HEXERACT is that the initial plugin state has no samples loaded. You might want to try this too - add an empty sample map to your instrument selector combobox and make this the default state. It could be possible that during initialisation, REAPER kicks off the sample loading on another thread and deletes the plugin shortly after validating it leaving the sample loading thread dangling.

    If the plugin stops crashing we‘re at least one clue closer to fixing this.



  • @christoph-hart I haven't had any reports from non-Linux users, I'll see if I can get my brother to test it for me. I'll try your suggestion re the empty sample map and report back



  • @d-healey I tried the empty sample maps but it produced the same result. I also tried loading the plugin in Ardour and it was immediately added to its VST blacklist, no further info though

    [INFO]: VST Blacklist:
    /home/dave/.vst/Sofia Woodwinds.so
    

    So I decided to try something else. I made a new project with just a sinewave generator and a keyboard on the GUI. I exported as a VSTi, set the debug flag, and got Reaper to scan it, instant crash again. Here is the result of the core dump:

    Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
    Core was generated by `/opt/REAPER/reaper'.
    Program terminated with signal SIGABRT, Aborted.
    #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
    51	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
    [Current thread is 1 (Thread 0x7f7249d91d00 (LWP 22680))]
    (gdb) bt
    #0  0x00007f724877be97 in __GI_raise (sig=sig@entry=6)
        at ../sysdeps/unix/sysv/linux/raise.c:51
    #1  0x00007f724877d801 in __GI_abort () at abort.c:79
    #2  0x00007f72487c6897 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7f72488f3b9a "%s\n") at ../sysdeps/posix/libc_fatal.c:181
    #3  0x00007f72487cd90a in malloc_printerr (str=str@entry=0x7f72488f53f0 "malloc_consolidate(): invalid chunk size") at malloc.c:5350
    #4  0x00007f72487cdbae in malloc_consolidate (av=av@entry=0x7f7248b28c40 <main_arena>) at malloc.c:4441
    #5  0x00007f72487d17d8 in _int_malloc (av=av@entry=0x7f7248b28c40 <main_arena>, bytes=bytes@entry=2049) at malloc.c:3703
    #6  0x00007f72487d28f5 in _int_realloc (av=av@entry=0x7f7248b28c40 <main_arena>, oldp=oldp@entry=0x2278af0, oldsize=oldsize@entry=272, nb=nb@entry=2064)
        at malloc.c:4570
    #7  0x00007f72487d5f9b in __GI___libc_realloc (oldmem=0x2278b00, bytes=2048)
        at malloc.c:3230
    #8  0x00007f7204db9945 in juce::MemoryBlock::setSize(unsigned long, bool) ()
        at /home/dave/.vst/test.so
    #9  0x00007f7204dba8a4 in juce::MemoryOutputStream::prepareToWrite(unsigned long) () at /home/dave/.vst/test.so
    #10 0x00007f720515d11b in juce::MemoryOutputStream::write(void const*, unsigned long) [clone .localalias.140] [clone .lto_priv.6797] ()
        at /home/dave/.vst/test.so
    ---Type <return> to continue, or q <return> to quit---
    #11 0x00007f7204d7e768 in juce::OutputStream::writeFromInputStream(juce::InputStream&, long long) () at /home/dave/.vst/test.so
    #12 0x00007f7204d802a4 in juce::operator<<(juce::OutputStream&, juce::InputStream&) () at /home/dave/.vst/test.so
    #13 0x00007f7204db9ce9 in juce::InputStream::readEntireStreamAsString() ()
        at /home/dave/.vst/test.so
    #14 0x00007f7204dc7c0b in juce::File::loadFileAsString() const ()
        at /home/dave/.vst/test.so
    #15 0x00007f7204dc7e40 in juce::File::readLines(juce::StringArray&) const ()
        at /home/dave/.vst/test.so
    #16 0x00007f72049a40c2 in juce::readPosixConfigFileValue(char const*, char const*) () at /home/dave/.vst/test.so
    #17 0x00007f72049a424f in juce::juce_isRunningUnderDebugger() ()
        at /home/dave/.vst/test.so
    #18 0x00007f72049b4a28 in juce::LeakedObjectDetector<juce::StringArray>::LeakCounter::~LeakCounter() () at /home/dave/.vst/test.so
    #19 0x00007f7248780615 in __cxa_finalize (d=0x7f7205a2fd60)
        at cxa_finalize.c:83
    #20 0x00007f72048a7cd3 in __do_global_dtors_aux () at /home/dave/.vst/test.so
    #21 0x00007ffd29de26c0 in  ()
    #22 0x00007f7249babc7c in _dl_close_worker (map=<optimised out>, force=<optimised out>) at dl-close.c:288
    
    

    I'm kind of glad this simpler one has the same issue because it means there are less variables to deal with 🙂



  • @d-healey Tested on Windows, everything seems to be fine, got this output in the console
    'reaper.exe' (Win32): Loaded 'C:\Users\Julie\Downloads\test\Binaries\Compiled\VST\test x64.dll'. Module was built without symbols.



  • This post is deleted!


  • I think I'm getting somewhere! It's the floating tile. I removed the floating keyboard tile from my simple test project and the problem disappears. I also noticed in the build output there are some warnings about floatingTiles so maybe that will be of help in fixing this.

    Compiling include_hi_lac.cpp
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:71:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from ../../Source/Plugin.cpp:2:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h: In member function ‘void hise::SharedPoolBase<DataType>::loadAllFilesFromProjectFolder()’:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h:691:38: warning: invalid use of incomplete type ‘class hise::MainController’
       auto fileList = getMainController()->getCurrentFileHandler().getFileList(type, false, true);
                                          ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:58:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from ../../Source/Plugin.cpp:2:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/UtilityClasses.h:39:7: note: forward declaration of ‘class hise::MainController’
     class MainController;
           ^~~~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:71:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from ../../Source/Plugin.cpp:2:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h: In member function ‘hise::SharedPoolBase<DataType>::ManagedPtr hise::SharedPoolBase<DataType>::loadFromReference(hise::PoolReference, hise::PoolHelpers::LoadingType)’:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h:819:26: warning: invalid use of incomplete type ‘class hise::MainController’
           getMainController()->getDebugLogger().logMessage(r.getReferenceString() + " wasn't found.");
                              ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:58:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from ../../Source/Plugin.cpp:2:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/UtilityClasses.h:39:7: note: forward declaration of ‘class hise::MainController’
     class MainController;
           ^~~~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:71:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from ../../Source/Plugin.cpp:2:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h:881:24: warning: invalid use of incomplete type ‘class hise::MainController’
         getMainController()->getDebugLogger().logMessage(r.getReferenceString() + " wasn't found.");
                            ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:58:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from ../../Source/Plugin.cpp:2:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/UtilityClasses.h:39:7: note: forward declaration of ‘class hise::MainController’
     class MainController;
           ^~~~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:71:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_core/hi_core.cpp:13,
                     from ../../JuceLibraryCode/include_hi_core.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h: In member function ‘void hise::SharedPoolBase<DataType>::loadAllFilesFromProjectFolder()’:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h:691:38: warning: invalid use of incomplete type ‘class hise::MainController’
       auto fileList = getMainController()->getCurrentFileHandler().getFileList(type, false, true);
                                          ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:58:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_core/hi_core.cpp:13,
                     from ../../JuceLibraryCode/include_hi_core.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/UtilityClasses.h:39:7: note: forward declaration of ‘class hise::MainController’
     class MainController;
           ^~~~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:71:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_core/hi_core.cpp:13,
                     from ../../JuceLibraryCode/include_hi_core.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h: In member function ‘hise::SharedPoolBase<DataType>::ManagedPtr hise::SharedPoolBase<DataType>::loadFromReference(hise::PoolReference, hise::PoolHelpers::LoadingType)’:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h:819:26: warning: invalid use of incomplete type ‘class hise::MainController’
           getMainController()->getDebugLogger().logMessage(r.getReferenceString() + " wasn't found.");
                              ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:58:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_core/hi_core.cpp:13,
                     from ../../JuceLibraryCode/include_hi_core.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/UtilityClasses.h:39:7: note: forward declaration of ‘class hise::MainController’
     class MainController;
           ^~~~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:71:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_core/hi_core.cpp:13,
                     from ../../JuceLibraryCode/include_hi_core.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h:881:24: warning: invalid use of incomplete type ‘class hise::MainController’
         getMainController()->getDebugLogger().logMessage(r.getReferenceString() + " wasn't found.");
                            ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:58:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_core/hi_core.cpp:13,
                     from ../../JuceLibraryCode/include_hi_core.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/UtilityClasses.h:39:7: note: forward declaration of ‘class hise::MainController’
     class MainController;
           ^~~~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:71:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_dsp/hi_dsp.cpp:33,
                     from ../../JuceLibraryCode/include_hi_dsp.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h: In member function ‘void hise::SharedPoolBase<DataType>::loadAllFilesFromProjectFolder()’:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h:691:38: warning: invalid use of incomplete type ‘class hise::MainController’
       auto fileList = getMainController()->getCurrentFileHandler().getFileList(type, false, true);
                                          ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:58:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_dsp/hi_dsp.cpp:33,
                     from ../../JuceLibraryCode/include_hi_dsp.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/UtilityClasses.h:39:7: note: forward declaration of ‘class hise::MainController’
     class MainController;
           ^~~~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:71:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_dsp/hi_dsp.cpp:33,
                     from ../../JuceLibraryCode/include_hi_dsp.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h: In member function ‘hise::SharedPoolBase<DataType>::ManagedPtr hise::SharedPoolBase<DataType>::loadFromReference(hise::PoolReference, hise::PoolHelpers::LoadingType)’:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h:819:26: warning: invalid use of incomplete type ‘class hise::MainController’
           getMainController()->getDebugLogger().logMessage(r.getReferenceString() + " wasn't found.");
                              ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:58:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_dsp/hi_dsp.cpp:33,
                     from ../../JuceLibraryCode/include_hi_dsp.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/UtilityClasses.h:39:7: note: forward declaration of ‘class hise::MainController’
     class MainController;
           ^~~~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:71:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_dsp/hi_dsp.cpp:33,
                     from ../../JuceLibraryCode/include_hi_dsp.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h:881:24: warning: invalid use of incomplete type ‘class hise::MainController’
         getMainController()->getDebugLogger().logMessage(r.getReferenceString() + " wasn't found.");
                            ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:58:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_dsp/hi_dsp.cpp:33,
                     from ../../JuceLibraryCode/include_hi_dsp.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/UtilityClasses.h:39:7: note: forward declaration of ‘class hise::MainController’
     class MainController;
           ^~~~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:71:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.cpp:33,
                     from ../../JuceLibraryCode/include_hi_components.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h: In member function ‘void hise::SharedPoolBase<DataType>::loadAllFilesFromProjectFolder()’:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h:691:38: warning: invalid use of incomplete type ‘class hise::MainController’
       auto fileList = getMainController()->getCurrentFileHandler().getFileList(type, false, true);
                                          ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:58:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.cpp:33,
                     from ../../JuceLibraryCode/include_hi_components.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/UtilityClasses.h:39:7: note: forward declaration of ‘class hise::MainController’
     class MainController;
           ^~~~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:71:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.cpp:33,
                     from ../../JuceLibraryCode/include_hi_components.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h: In member function ‘hise::SharedPoolBase<DataType>::ManagedPtr hise::SharedPoolBase<DataType>::loadFromReference(hise::PoolReference, hise::PoolHelpers::LoadingType)’:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h:819:26: warning: invalid use of incomplete type ‘class hise::MainController’
           getMainController()->getDebugLogger().logMessage(r.getReferenceString() + " wasn't found.");
                              ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:58:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.cpp:33,
                     from ../../JuceLibraryCode/include_hi_components.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/UtilityClasses.h:39:7: note: forward declaration of ‘class hise::MainController’
     class MainController;
           ^~~~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:71:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.cpp:33,
                     from ../../JuceLibraryCode/include_hi_components.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h:881:24: warning: invalid use of incomplete type ‘class hise::MainController’
         getMainController()->getDebugLogger().logMessage(r.getReferenceString() + " wasn't found.");
                            ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:58:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.cpp:33,
                     from ../../JuceLibraryCode/include_hi_components.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/UtilityClasses.h:39:7: note: forward declaration of ‘class hise::MainController’
     class MainController;
           ^~~~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/floating_layout/FloatingLayout.h:55:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:88,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from ../../Source/Plugin.cpp:2:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/floating_layout/MiscFloatingPanelTypes.h: In member function ‘void hise::GenericPanel<ContentType>::resized()’:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/floating_layout/MiscFloatingPanelTypes.h:634:40: warning: invalid use of incomplete type ‘class hise::FloatingTile’
       component->setBounds(getParentShell()->getContentBounds());
                                            ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:74:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from ../../Source/Plugin.cpp:2:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExpansionHandler.h:39:7: note: forward declaration of ‘class hise::FloatingTile’
     class FloatingTile;
           ^~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/floating_layout/FloatingLayout.h:55:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:88,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_core/hi_core.cpp:13,
                     from ../../JuceLibraryCode/include_hi_core.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/floating_layout/MiscFloatingPanelTypes.h: In member function ‘void hise::GenericPanel<ContentType>::resized()’:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/floating_layout/MiscFloatingPanelTypes.h:634:40: warning: invalid use of incomplete type ‘class hise::FloatingTile’
       component->setBounds(getParentShell()->getContentBounds());
                                            ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:74:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_core/hi_core.cpp:13,
                     from ../../JuceLibraryCode/include_hi_core.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExpansionHandler.h:39:7: note: forward declaration of ‘class hise::FloatingTile’
     class FloatingTile;
           ^~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/floating_layout/FloatingLayout.h:55:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:88,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_dsp/hi_dsp.cpp:33,
                     from ../../JuceLibraryCode/include_hi_dsp.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/floating_layout/MiscFloatingPanelTypes.h: In member function ‘void hise::GenericPanel<ContentType>::resized()’:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/floating_layout/MiscFloatingPanelTypes.h:634:40: warning: invalid use of incomplete type ‘class hise::FloatingTile’
       component->setBounds(getParentShell()->getContentBounds());
                                            ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:74:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_dsp/hi_dsp.cpp:33,
                     from ../../JuceLibraryCode/include_hi_dsp.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExpansionHandler.h:39:7: note: forward declaration of ‘class hise::FloatingTile’
     class FloatingTile;
           ^~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/floating_layout/FloatingLayout.h:55:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:88,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.cpp:33,
                     from ../../JuceLibraryCode/include_hi_components.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/floating_layout/MiscFloatingPanelTypes.h: In member function ‘void hise::GenericPanel<ContentType>::resized()’:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/floating_layout/MiscFloatingPanelTypes.h:634:40: warning: invalid use of incomplete type ‘class hise::FloatingTile’
       component->setBounds(getParentShell()->getContentBounds());
                                            ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:74:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.cpp:33,
                     from ../../JuceLibraryCode/include_hi_components.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExpansionHandler.h:39:7: note: forward declaration of ‘class hise::FloatingTile’
     class FloatingTile;
           ^~~~~~~~~~~~
    Compiling include_hi_modules.cpp
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:71:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_frontend/hi_frontend.cpp:36,
                     from ../../JuceLibraryCode/include_hi_frontend.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h: In member function ‘void hise::SharedPoolBase<DataType>::loadAllFilesFromProjectFolder()’:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h:691:38: warning: invalid use of incomplete type ‘class hise::MainController’
       auto fileList = getMainController()->getCurrentFileHandler().getFileList(type, false, true);
                                          ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:58:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_frontend/hi_frontend.cpp:36,
                     from ../../JuceLibraryCode/include_hi_frontend.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/UtilityClasses.h:39:7: note: forward declaration of ‘class hise::MainController’
     class MainController;
           ^~~~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:71:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_frontend/hi_frontend.cpp:36,
                     from ../../JuceLibraryCode/include_hi_frontend.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h: In member function ‘hise::SharedPoolBase<DataType>::ManagedPtr hise::SharedPoolBase<DataType>::loadFromReference(hise::PoolReference, hise::PoolHelpers::LoadingType)’:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h:819:26: warning: invalid use of incomplete type ‘class hise::MainController’
           getMainController()->getDebugLogger().logMessage(r.getReferenceString() + " wasn't found.");
                              ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:58:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_frontend/hi_frontend.cpp:36,
                     from ../../JuceLibraryCode/include_hi_frontend.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/UtilityClasses.h:39:7: note: forward declaration of ‘class hise::MainController’
     class MainController;
           ^~~~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:71:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_frontend/hi_frontend.cpp:36,
                     from ../../JuceLibraryCode/include_hi_frontend.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h:881:24: warning: invalid use of incomplete type ‘class hise::MainController’
         getMainController()->getDebugLogger().logMessage(r.getReferenceString() + " wasn't found.");
                            ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:58:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_frontend/hi_frontend.cpp:36,
                     from ../../JuceLibraryCode/include_hi_frontend.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/UtilityClasses.h:39:7: note: forward declaration of ‘class hise::MainController’
     class MainController;
           ^~~~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/floating_layout/FloatingLayout.h:55:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:88,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_frontend/hi_frontend.cpp:36,
                     from ../../JuceLibraryCode/include_hi_frontend.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/floating_layout/MiscFloatingPanelTypes.h: In member function ‘void hise::GenericPanel<ContentType>::resized()’:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/floating_layout/MiscFloatingPanelTypes.h:634:40: warning: invalid use of incomplete type ‘class hise::FloatingTile’
       component->setBounds(getParentShell()->getContentBounds());
                                            ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:74:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_frontend/hi_frontend.cpp:36,
                     from ../../JuceLibraryCode/include_hi_frontend.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExpansionHandler.h:39:7: note: forward declaration of ‘class hise::FloatingTile’
     class FloatingTile;
           ^~~~~~~~~~~~
    Compiling include_hi_sampler.cpp
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:71:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_modules/hi_modules.cpp:2,
                     from ../../JuceLibraryCode/include_hi_modules.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h: In member function ‘void hise::SharedPoolBase<DataType>::loadAllFilesFromProjectFolder()’:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h:691:38: warning: invalid use of incomplete type ‘class hise::MainController’
       auto fileList = getMainController()->getCurrentFileHandler().getFileList(type, false, true);
                                          ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:58:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_modules/hi_modules.cpp:2,
                     from ../../JuceLibraryCode/include_hi_modules.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/UtilityClasses.h:39:7: note: forward declaration of ‘class hise::MainController’
     class MainController;
           ^~~~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:71:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_modules/hi_modules.cpp:2,
                     from ../../JuceLibraryCode/include_hi_modules.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h: In member function ‘hise::SharedPoolBase<DataType>::ManagedPtr hise::SharedPoolBase<DataType>::loadFromReference(hise::PoolReference, hise::PoolHelpers::LoadingType)’:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h:819:26: warning: invalid use of incomplete type ‘class hise::MainController’
           getMainController()->getDebugLogger().logMessage(r.getReferenceString() + " wasn't found.");
                              ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:58:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_modules/hi_modules.cpp:2,
                     from ../../JuceLibraryCode/include_hi_modules.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/UtilityClasses.h:39:7: note: forward declaration of ‘class hise::MainController’
     class MainController;
           ^~~~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:71:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_modules/hi_modules.cpp:2,
                     from ../../JuceLibraryCode/include_hi_modules.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h:881:24: warning: invalid use of incomplete type ‘class hise::MainController’
         getMainController()->getDebugLogger().logMessage(r.getReferenceString() + " wasn't found.");
                            ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:58:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_modules/hi_modules.cpp:2,
                     from ../../JuceLibraryCode/include_hi_modules.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/UtilityClasses.h:39:7: note: forward declaration of ‘class hise::MainController’
     class MainController;
           ^~~~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/floating_layout/FloatingLayout.h:55:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:88,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_modules/hi_modules.cpp:2,
                     from ../../JuceLibraryCode/include_hi_modules.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/floating_layout/MiscFloatingPanelTypes.h: In member function ‘void hise::GenericPanel<ContentType>::resized()’:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/floating_layout/MiscFloatingPanelTypes.h:634:40: warning: invalid use of incomplete type ‘class hise::FloatingTile’
       component->setBounds(getParentShell()->getContentBounds());
                                            ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:74:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_modules/hi_modules.cpp:2,
                     from ../../JuceLibraryCode/include_hi_modules.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExpansionHandler.h:39:7: note: forward declaration of ‘class hise::FloatingTile’
     class FloatingTile;
           ^~~~~~~~~~~~
    Compiling include_hi_scripting.cpp
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:71:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_sampler/hi_sampler.cpp:35,
                     from ../../JuceLibraryCode/include_hi_sampler.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h: In member function ‘void hise::SharedPoolBase<DataType>::loadAllFilesFromProjectFolder()’:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h:691:38: warning: invalid use of incomplete type ‘class hise::MainController’
       auto fileList = getMainController()->getCurrentFileHandler().getFileList(type, false, true);
                                          ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:58:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_sampler/hi_sampler.cpp:35,
                     from ../../JuceLibraryCode/include_hi_sampler.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/UtilityClasses.h:39:7: note: forward declaration of ‘class hise::MainController’
     class MainController;
           ^~~~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:71:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_sampler/hi_sampler.cpp:35,
                     from ../../JuceLibraryCode/include_hi_sampler.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h: In member function ‘hise::SharedPoolBase<DataType>::ManagedPtr hise::SharedPoolBase<DataType>::loadFromReference(hise::PoolReference, hise::PoolHelpers::LoadingType)’:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h:819:26: warning: invalid use of incomplete type ‘class hise::MainController’
           getMainController()->getDebugLogger().logMessage(r.getReferenceString() + " wasn't found.");
                              ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:58:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_sampler/hi_sampler.cpp:35,
                     from ../../JuceLibraryCode/include_hi_sampler.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/UtilityClasses.h:39:7: note: forward declaration of ‘class hise::MainController’
     class MainController;
           ^~~~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:71:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_sampler/hi_sampler.cpp:35,
                     from ../../JuceLibraryCode/include_hi_sampler.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h:881:24: warning: invalid use of incomplete type ‘class hise::MainController’
         getMainController()->getDebugLogger().logMessage(r.getReferenceString() + " wasn't found.");
                            ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:58:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_sampler/hi_sampler.cpp:35,
                     from ../../JuceLibraryCode/include_hi_sampler.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/UtilityClasses.h:39:7: note: forward declaration of ‘class hise::MainController’
     class MainController;
           ^~~~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/floating_layout/FloatingLayout.h:55:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:88,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_sampler/hi_sampler.cpp:35,
                     from ../../JuceLibraryCode/include_hi_sampler.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/floating_layout/MiscFloatingPanelTypes.h: In member function ‘void hise::GenericPanel<ContentType>::resized()’:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/floating_layout/MiscFloatingPanelTypes.h:634:40: warning: invalid use of incomplete type ‘class hise::FloatingTile’
       component->setBounds(getParentShell()->getContentBounds());
                                            ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:74:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_sampler/hi_sampler.cpp:35,
                     from ../../JuceLibraryCode/include_hi_sampler.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExpansionHandler.h:39:7: note: forward declaration of ‘class hise::FloatingTile’
     class FloatingTile;
           ^~~~~~~~~~~~
    Compiling include_hi_streaming.cpp
    Compiling include_hi_tools.cpp
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:71:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_scripting/hi_scripting.cpp:35,
                     from ../../JuceLibraryCode/include_hi_scripting.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h: In member function ‘void hise::SharedPoolBase<DataType>::loadAllFilesFromProjectFolder()’:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h:691:38: warning: invalid use of incomplete type ‘class hise::MainController’
       auto fileList = getMainController()->getCurrentFileHandler().getFileList(type, false, true);
                                          ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:58:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_scripting/hi_scripting.cpp:35,
                     from ../../JuceLibraryCode/include_hi_scripting.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/UtilityClasses.h:39:7: note: forward declaration of ‘class hise::MainController’
     class MainController;
           ^~~~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:71:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_scripting/hi_scripting.cpp:35,
                     from ../../JuceLibraryCode/include_hi_scripting.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h: In member function ‘hise::SharedPoolBase<DataType>::ManagedPtr hise::SharedPoolBase<DataType>::loadFromReference(hise::PoolReference, hise::PoolHelpers::LoadingType)’:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h:819:26: warning: invalid use of incomplete type ‘class hise::MainController’
           getMainController()->getDebugLogger().logMessage(r.getReferenceString() + " wasn't found.");
                              ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:58:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_scripting/hi_scripting.cpp:35,
                     from ../../JuceLibraryCode/include_hi_scripting.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/UtilityClasses.h:39:7: note: forward declaration of ‘class hise::MainController’
     class MainController;
           ^~~~~~~~~~~~~~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:71:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_scripting/hi_scripting.cpp:35,
                     from ../../JuceLibraryCode/include_hi_scripting.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExternalFilePool.h:881:24: warning: invalid use of incomplete type ‘class hise::MainController’
         getMainController()->getDebugLogger().logMessage(r.getReferenceString() + " wasn't found.");
                            ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:58:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_scripting/hi_scripting.cpp:35,
                     from ../../JuceLibraryCode/include_hi_scripting.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/UtilityClasses.h:39:7: note: forward declaration of ‘class hise::MainController’
     class MainController;
           ^~~~~~~~~~~~~~
    Compiling include_hi_zstd_1.cpp
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/floating_layout/FloatingLayout.h:55:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:88,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_scripting/hi_scripting.cpp:35,
                     from ../../JuceLibraryCode/include_hi_scripting.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/floating_layout/MiscFloatingPanelTypes.h: In member function ‘void hise::GenericPanel<ContentType>::resized()’:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/floating_layout/MiscFloatingPanelTypes.h:634:40: warning: invalid use of incomplete type ‘class hise::FloatingTile’
       component->setBounds(getParentShell()->getContentBounds());
                                            ^~
    In file included from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/hi_core.h:74:0,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core.h:309,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/hi_dsp.h:55,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_components/hi_components.h:57,
                     from ../../JuceLibraryCode/JuceHeader.h:17,
                     from /media/dave/Work 1/HISE Development Builds/HISE/hi_scripting/hi_scripting.cpp:35,
                     from ../../JuceLibraryCode/include_hi_scripting.cpp:9:
    /media/dave/Work 1/HISE Development Builds/HISE/hi_components/../hi_dsp/../hi_core/hi_core/ExpansionHandler.h:39:7: note: forward declaration of ‘class hise::FloatingTile’
     class FloatingTile;
           ^~~~~~~~~~~~
    


  • Aww man, this is getting really annoying. Googling the type of warning leads into weird C++ template issues for g++, but I am pretty sure that I don't violate the rules for using incomplete classes in templates, however I found one link that could explain the memory leaks.

    I'll throw on my virtual machine and see whether I can reproduce this. Does this happen on your normal build machine too, or is this problem new since you were time-travelling to the older Linux distro?



  • @christoph-hart It's on my normal build and Ubuntu 18, I haven't tested on the earlier one, I just used that to build the plugin. I can try it if it would be useful. A user reported the same issue when scanning the plugin in carla, I've asked him to send me the core dump to analyse. I tried in carla and although I didn't get the crash or a core dump I did get all those assertions and LockHelpers.cpp things.



  • Hmm, I checked the assertion locations and somehow it fails to detect the different threads which are normally identified by their handle.

    I've added another assertion / logging that fires if the threads can't be detected. Can you rebuild your plugin and check this?

    I've also removed the one incomplete pointer warning in the floating tile code, but it this removes the crash, I might as well stop coding and start a black magic cult as this will require similar amounts of logic.



  • @christoph-hart Downloading now, will report back soon


 

2
Online

353
Users

1.1k
Topics

7.5k
Posts