# Monolith bug? crashes host

• I've been trying to track down compilation errors for a while now. Sometimes my projects open correctly in host software, sometimes they don't.. and I think I have pinpointed monolith as the culprit. I created a very simple project containing 1 sample and one control knob. Everything exports correctly and it works in all Hosts. If I right click the sample map -> save as XML + -> save as monolith, the newly compiled project crashes my vst hosts. (this is the correct way to make a monolith, right?)
I created a debug version of the Test project and here's what I find in the Call Stack of VS2017:

``````TEST_Debug_x64.dll!juce::File::parseAbsolutePath(const juce::String & p) Line 134
at c:\program files\hise-master\juce\modules\juce_core\files\juce_file.cpp(134)

TEST_Debug_x64.dll!juce::File::File(const juce::String & fullPathName) Line 29
at c:\program files\hise-master\juce\modules\juce_core\files\juce_file.cpp(29)

TEST_Debug_x64.dll!juce::File::getChildFile(juce::StringRef relativePath) Line 466
at c:\program files\hise-master\juce\modules\juce_core\files\juce_file.cpp(466)

TEST_Debug_x64.dll!hise::HiseSettings::Data::getFileForSetting(const juce::Identifier & id) Line 368
at c:\program files\hise-master\hi_core\hi_core\hisesettings.cpp(368)

TEST_Debug_x64.dll!hise::HiseSettings::Data::loadSettingsFromFile(const juce::Identifier & id) Line 395
at c:\program files\hise-master\hi_core\hi_core\hisesettings.cpp(395)

at c:\program files\hise-master\hi_core\hi_core\hisesettings.cpp(384)

TEST_Debug_x64.dll!hise::HiseSettings::Data::Data(hise::MainController * mc_) Line 360
at c:\program files\hise-master\hi_core\hi_core\hisesettings.cpp(360)

TEST_Debug_x64.dll!hise::GlobalSettingManager::initData(hise::MainController * mc) Line 109
at c:\program files\hise-master\hi_core\hi_core\standaloneprocessor.h(109)

TEST_Debug_x64.dll!hise::FrontendProcessor::FrontendProcessor(juce::ValueTree & synthData, juce::AudioDeviceManager * manager, juce::AudioProcessorPlayer * callback_, juce::ValueTree * imageData_, juce::ValueTree * impulseData, juce::ValueTree * externalFiles, juce::ValueTree * __formal) Line 121
at c:\program files\hise-master\hi_frontend\frontend\frontendprocessor.cpp(121)

TEST_Debug_x64.dll!createPluginFilter() Line 12
at c:\users\me\documents\test\binaries\source\plugin.cpp(12)

TEST_Debug_x64.dll!createPluginFilterOfType(juce::AudioProcessor::WrapperType type) Line 165
at c:\program files\hise-master\juce\modules\juce_audio_plugin_client\utility\juce_pluginutilities.cpp(165)

TEST_Debug_x64.dll!`anonymous namespace'::pluginEntryPoint(__int64(*)(VstEffectInterface *, int, int, __int64, void *, float) audioMaster) Line 2128
at c:\program files\hise-master\juce\modules\juce_audio_plugin_client\vst\juce_vst_wrapper.cpp(2128)

TEST_Debug_x64.dll!VSTPluginMain(__int64(*)(VstEffectInterface *, int, int, __int64, void *, float) audioMaster) Line 2201
at c:\program files\hise-master\juce\modules\juce_audio_plugin_client\vst\juce_vst_wrapper.cpp(2201)
``````

@Christoph-Hart I also just noticed that if I use the Tools -> Convert all samples to monolith + samplemap, it only creates the monolith. No sample map is created.

• I should also add that I'm using VST multichannel version 1.5.1 650

• If I "continue" past the errors, the plug will load. Once I trigger that sample, I get this list of errors:

``````TEST_Debug_x64.dll!hise::ModulatorSamplerVoice::calculateBlock(int startSample, int numSamples) Line 100
at c:\program files\hise-master\hi_sampler\sampler\modulatorsamplervoice.cpp(100)

TEST_Debug_x64.dll!hise::ModulatorSynthVoice::renderNextBlock(juce::AudioBuffer<float> & outputBuffer, int startSample, int numSamples) Line 1264
at c:\program files\hise-master\hi_dsp\modules\modulatorsynth.cpp(1264)

TEST_Debug_x64.dll!hise::ModulatorSynth::renderVoice(int startSample, int numThisTime) Line 478
at c:\program files\hise-master\hi_dsp\modules\modulatorsynth.cpp(478)

TEST_Debug_x64.dll!hise::ModulatorSynth::renderNextBlockWithModulators(juce::AudioBuffer<float> & outputBuffer, const hise::HiseEventBuffer & inputMidiBuffer) Line 377
at c:\program files\hise-master\hi_dsp\modules\modulatorsynth.cpp(377)

TEST_Debug_x64.dll!hise::ModulatorSampler::renderNextBlockWithModulators(juce::AudioBuffer<float> & outputAudio, const hise::HiseEventBuffer & inputMidi) Line 296
at c:\program files\hise-master\hi_sampler\sampler\modulatorsampler.h(296)

TEST_Debug_x64.dll!hise::ModulatorSynthChain::renderNextBlockWithModulators(juce::AudioBuffer<float> & buffer, const hise::HiseEventBuffer & inputMidiBuffer) Line 251
at c:\program files\hise-master\hi_dsp\modules\modulatorsynthchain.cpp(251)

TEST_Debug_x64.dll!hise::MainController::processBlockCommon(juce::AudioBuffer<float> & buffer, juce::MidiBuffer & midiMessages) Line 728
at c:\program files\hise-master\hi_core\hi_core\maincontroller.cpp(728)

TEST_Debug_x64.dll!hise::DelayedRenderer::processWrapped(juce::AudioBuffer<float> & buffer, juce::MidiBuffer & midiMessages) Line 851
at c:\program files\hise-master\hi_core\hi_core\maincontrollerhelpers.cpp(851)

TEST_Debug_x64.dll!hise::FrontendProcessor::processBlock(juce::AudioBuffer<float> & buffer, juce::MidiBuffer & midiMessages) Line 45
at c:\program files\hise-master\hi_frontend\frontend\frontendprocessor.cpp(45)

TEST_Debug_x64.dll!JuceVSTWrapper::internalProcessReplacing<float>(float * * inputs, float * * outputs, int numSamples, JuceVSTWrapper::VstTempBuffers<float> & tmpBuffers) Line 466
at c:\program files\hise-master\juce\modules\juce_audio_plugin_client\vst\juce_vst_wrapper.cpp(466)

TEST_Debug_x64.dll!JuceVSTWrapper::processReplacing(float * * inputs, float * * outputs, int sampleFrames) Line 525
at c:\program files\hise-master\juce\modules\juce_audio_plugin_client\vst\juce_vst_wrapper.cpp(525)

TEST_Debug_x64.dll!JuceVSTWrapper::processReplacingCB(VstEffectInterface * vstInterface, float * * inputs, float * * outputs, int sampleFrames) Line 530
at c:\program files\hise-master\juce\modules\juce_audio_plugin_client\vst\juce_vst_wrapper.cpp(530)
```````

• It Crashes on a Mac as well, when doing a Batch conversion - Convert all Samples option. It works for a while then crashes in between.

• Bump!

• I need more info to find the issue here. This conversion dialogue is not build for robustness so it's likely that there's some crash when the input doesn't match the expectation.

Ideally you would run it in Debug mode in Xcode and give me the crash location, then I can help.

• Please try again with the recent version. 1.5.0 is 5 months old and it's no use debugging a deprecated version.

• You should probably remove the ability to Download the Latest Version verbiage from the website, as that is not quite accurate. It would be good to have a way to download the latest after you build.

• Attached is the crash report for version 1.6.0. The newest version seems to crash faster than even the older one.

• Can you try it with the Debug version? The crash log doesn't contain any symbols, which is weird, because even the Release version of HISE should have the symbols enabled.

Running it in Xcode should also point you directly to the faulty line.

• Attached is the Debug Crash Log

• Still nothing on this. Can't do Batch convert with HLAC with a large amount of samples. I was able to get non HLAC to work, but have not been able to convert batch without crashing it.

• So far nothing has been done with this and still cannot consistently do a Batch convert without crashing. I have to do things one by one, which is extremely tedious with thousands of samples.