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:
- Remove Link Time Optimisation tick box.
- 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