ALARM ALARM - I have big problem I think....
-
@Hisenberb said in ALARM ALARM - I have big problem I think....:
I just wanted to chime in. I am a beginner with HISE but I have experienced a similar issue which I think is related to the Offset from Faust's cubic distortion code.
well I'm using the cubicNLDist code - so whats the problem with(and solution ) for this that you found?
Actually I DONt use it everywhere, and its crashing everywhere - so Idont think this is likely to be it...
nOpe that aint it...removed the Dist code and it still crashes,,,
-
Well, XCode may not have given us much info. but at least one crash here seems to have reported something more meaningful(hopefully) it seems to be something in scriptNode(duh!) , perhaps something in NodeBase.cpp?:
------------------------------------ Process: pluginval [5886] Path: /private/var/folders/*/pluginval.app/Contents/MacOS/pluginval Identifier: com.Tracktion.pluginval Version: 1.0.3 (1.0.3) Code Type: ARM-64 (Native) Parent Process: launchd [1] User ID: 501 Date/Time: 2023-09-14 13:34:25.8799 +0100 OS Version: macOS 12.6.5 (21G531) Report Version: 12 Anonymous UUID: 8A518DFE-DF99-D520-8601-98829CE648C5 Time Awake Since Boot: 6800 seconds System Integrity Protection: enabled Crashed Thread: 0 JUCE Message Thread Dispatch queue: com.apple.main-thread Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000001e04 Exception Codes: 0x0000000000000001, 0x0000000000001e04 Exception Note: EXC_CORPSE_NOTIFY Termination Reason: Namespace SIGNAL, Code 11 Segmentation fault: 11 Terminating Process: exc handler [5886] VM Region Info: 0x1e04 is not in any region. Bytes before following region: 105553518911996 REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL UNUSED SPACE AT START ---> MALLOC_NANO (reserved) 600018000000-600020000000 [128.0M] rw-/rwx SM=NUL ...(unallocated) Thread 0 Crashed:: JUCE Message Thread Dispatch queue: com.apple.main-thread 0 segFaulting Debug 0x15e5b44a8 juce::ArrayBase<scriptnode::Parameter*, juce::DummyCriticalSection>::size() const + 12 (juce_ArrayBase.h:201) 1 segFaulting Debug 0x15e46edc8 juce::ReferenceCountedArray<scriptnode::Parameter, juce::DummyCriticalSection>::size() const + 24 (juce_ReferenceCountedArray.h:164) 2 segFaulting Debug 0x15e46eda4 scriptnode::NodeBase::getNumParameters() const + 32 (NodeBase.cpp:365) 3 segFaulting Debug 0x15e206f38 scriptnode::DspNetwork::NetworkParameterHandler::getNumParameters() const + 32 (DspNetwork.h:585) 4 segFaulting Debug 0x15e117fdc scriptnode::DspNetwork::NetworkParameterHandler::getParameter(int) const + 40 (DspNetwork.h:593) 5 segFaulting Debug 0x15e4847a0 scriptnode::DspNetwork::ProjectNodeHolder::setEnabled(bool) + 352 (DspNetwork.cpp:2200) 6 segFaulting Debug 0x15e482d00 scriptnode::DspNetwork::DspNetwork(hise::ProcessorWithScriptingContent*, juce::ValueTree, bool, snex::ExternalDataHolder*) + 3780 (DspNetwork.cpp:143) 7 segFaulting Debug 0x15e4860b0 scriptnode::DspNetwork::DspNetwork(hise::ProcessorWithScriptingContent*, juce::ValueTree, bool, snex::ExternalDataHolder*) + 64 (DspNetwork.cpp:68) 8 segFaulting Debug 0x15e48d6d8 scriptnode::DspNetwork::Holder::restoreNetworks(juce::ValueTree const&) + 692 (DspNetwork.cpp:1597) 9 segFaulting Debug 0x15e105bf0 hise::JavascriptProcessor::restoreScript(juce::ValueTree const&) + 76 (ScriptProcessor.cpp:1598) 10 segFaulting Debug 0x15e112ce0 hise::JavascriptMasterEffect::restoreFromValueTree(juce::ValueTree const&) + 52 (ScriptProcessorModules.cpp:819) 11 segFaulting Debug 0x15d9a8a70 hise::Processor::restoreFromValueTree(juce::ValueTree const&) + 1364 (Processor.cpp:171) 12 segFaulting Debug 0x15d9a8a70 hise::Processor::restoreFromValueTree(juce::ValueTree const&) + 1364 (Processor.cpp:171) 13 segFaulting Debug 0x15d9e4484 hise::ModulatorSynth::restoreFromValueTree(juce::ValueTree const&) + 824 (ModulatorSynth.cpp:146) 14 segFaulting Debug 0x15d9f00f4 hise::ModulatorSynthChain::restoreFromValueTree(juce::ValueTree const&) + 168 (ModulatorSynthChain.cpp:388) 15 segFaulting Debug 0x15de2bd88 hise::FrontendProcessor::createPreset(juce::ValueTree const&) + 128 (FrontEndProcessor.cpp:412) 16 segFaulting Debug 0x15de2ba50 hise::FrontendProcessor::FrontendProcessor(juce::ValueTree&, juce::AudioDeviceManager*, juce::AudioProcessorPlayer*, juce::MemoryInputStream*, juce::MemoryInputStream*, juce::MemoryInputStream*, juce::MemoryInputStream*, juce::ValueTree*, juce::ValueTree*) + 2520 (FrontEndProcessor.cpp:356) 17 segFaulting Debug 0x15de2a608 hise::FrontendProcessor::FrontendProcessor(juce::ValueTree&, juce::AudioDeviceManager*, juce::AudioProcessorPlayer*, juce::MemoryInputStream*, juce::MemoryInputStream*, juce::MemoryInputStream*, juce::MemoryInputStream*, juce::ValueTree*, juce::ValueTree*) + 120 (FrontEndProcessor.cpp:249) 18 segFaulting Debug 0x15de2a134 hise::FrontendFactory::createPluginWithAudioFiles(juce::AudioDeviceManager*, juce::AudioProcessorPlayer*) + 432 (FrontEndProcessor.cpp:65) 19 segFaulting Debug 0x15d8934c4 createPluginFilter() + 20 (Plugin.cpp:22) 20 segFaulting Debug 0x15d8367f0 juce::createPluginFilterOfType(juce::AudioProcessor::WrapperType) + 28 (juce_CreatePluginFilter.h:39) 21 segFaulting Debug 0x15d8364e8 juce::JuceVST3Component::JuceVST3Component(Steinberg::Vst::IHostApplication*) + 300 (juce_VST3_Wrapper.cpp:2210) 22 segFaulting Debug 0x15d8363ac juce::JuceVST3Component::JuceVST3Component(Steinberg::Vst::IHostApplication*) + 36 (juce_VST3_Wrapper.cpp:2212) 23 segFaulting Debug 0x15d82a074 juce::createComponentInstance(Steinberg::Vst::IHostApplication*) + 36 (juce_VST3_Wrapper.cpp:3677) 24 segFaulting Debug 0x15d832b5c juce::JucePluginFactory::createInstance(char const*, char const*, void**) + 340 (juce_VST3_Wrapper.cpp:3813) 25 pluginval 0x104ad3b44 juce::DescriptionFactory::findDescriptionsAndPerform(juce::File const&) + 1048 26 pluginval 0x104ad3398 juce::VST3PluginFormat::findAllTypesForFile(juce::OwnedArray<juce::PluginDescription, juce::DummyCriticalSection>&, juce::String const&) + 280 27 pluginval 0x104ad8400 juce::KnownPluginList::scanAndAddFile(juce::String const&, bool, juce::OwnedArray<juce::PluginDescription, juce::DummyCriticalSection>&, juce::AudioPluginFormat&) + 692 28 pluginval 0x104ada880 juce::PluginDirectoryScanner::scanNextFile(bool, juce::String&) + 360 29 pluginval 0x104b0e048 juce::PluginListComponent::Scanner::timerCallback() + 304 30 pluginval 0x104a9dd14 juce::Timer::TimerThread::callTimers() + 212 31 pluginval 0x104aa1240 juce::MessageQueue::deliverNextMessage() + 60 32 pluginval 0x104aa11d0 juce::MessageQueue::runLoopCallback() + 44 33 CoreFoundation 0x1a4bd8f64 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28 34 CoreFoundation 0x1a4bd8eb0 __CFRunLoopDoSource0 + 208 35 CoreFoundation 0x1a4bd8bb0 __CFRunLoopDoSources0 + 268 36 CoreFoundation 0x1a4bd7530 __CFRunLoopRun + 828 37 CoreFoundation 0x1a4bd6a54 CFRunLoopRunSpecific + 600 38 HIToolbox 0x1ad81a338 RunCurrentEventLoopInMode + 292 39 HIToolbox 0x1ad819fc4 ReceiveNextEventCommon + 324 40 HIToolbox 0x1ad819e68 _BlockUntilNextEventMatchingListInModeWithFilter + 72 41 AppKit 0x1a773e4b8 _DPSNextEvent + 860 42 AppKit 0x1a773cdb0 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1328 43 AppKit 0x1a772ef7c -[NSApplication run] + 596 44 pluginval 0x104a953d4 juce::JUCEApplicationBase::main() + 188 45 pluginval 0x104a952c8 juce::JUCEApplicationBase::main(int, char const**) + 88 46 dyld 0x10536d08c start + 520
-
@Lindon Does it happen with the AU or just the VST?
-
@d-healey when I tested the AU it happened there too...
-
@Lindon Are you using a frozen DspNetwork? If yes, try replacing it with a HardcodedFX module, might be more stable.
-
@Christoph-Hart said in ALARM ALARM - I have big problem I think....:
@Lindon Are you using a frozen DspNetwork? If yes, try replacing it with a HardcodedFX module, might be more stable.
pls downlaod the snippet I posted above to see I am using a hardcoded dspnetwork.
-
@Lindon now Im getting very confused.....
I get my minimal project to compile and not crash pluginval, I then load my "real" project and compile that - it makes pluginval fail...I go back to my minimal project and re-compile - now its failing....the more I do the more unstable it gets
-
@Lindon ...and.....I think @Hisenberb may be correct..its the non linear distortion effect in Faust.
I deleted all reference to distortion from my main project - removing code headers in two places as well as cpp files and removed the script node from the compiled DLL and the project builds and loads in pluginval....
Now to invent a non linear distortion .... to replace the one in Faust
@sletz I think this is now over to you.....
-
@Lindon what is the Faust DSP code ?
-
@sletz very simple I'm afraid:
// Faust Source File: FaustDistCode // Created with HISE on 2023-05-03 import("stdfaust.lib"); //drive drive = hslider("Drive", 0.2, 0, 1, 0.01); //offset offset = hslider("Offset", 0.2, 0, 1, 0.01); process = _,_ : ef.cubicnl_nodc(drive,offset),ef.cubicnl_nodc(drive,offset) : _,_;
-
pls downlaod the snippet I posted above to see I am using a hardcoded dspnetwork.
The crash report you posted says something different. You'll definitely initialising a DspNetwork from a script FX and it crashes at the parameter initialisation.
-
@Christoph-Hart said in ALARM ALARM - I have big problem I think....:
pls downlaod the snippet I posted above to see I am using a hardcoded dspnetwork.
The crash report you posted says something different. You'll definitely initialising a DspNetwork from a script FX and it crashes at the parameter initialisation.
well download the snippet I posted and you will see Im not doing that - ..or I dont think I am....
-
@Lindon heres a screen shot - no code no widgets nothing except these HardcodedFX
-
@Lindon Print that on your T-Shirt:
:)
-
@Christoph-Hart said in ALARM ALARM - I have big problem I think....:
@Lindon Print that on your T-Shirt:
:)
hmm, thers enough on my t-shirt already - but hey ho one more thing wont harm...
-
@Christoph-Hart said in ALARM ALARM - I have big problem I think....:
@Lindon Print that on your T-Shirt:
:)
So just so we are clear - the bypassed ScriptFX is this Faust NLDist thing, so are you saying:
- its this NLDist thing - which generally is my finding..
or
- I cant have a bypassed scriptNode version of something if I have also got a compiled version running in a HardCodedFX
-
@Lindon Having a non-compiled faust node in a compiled plugin is a nononononononono even if you have bypassed it (which doesn't change anything except for skipping the rendering).
- Develop the faust code
- Export it to a hardcoded FX
- Remove the scriptnode network that you've used for developing the faust code and kill every person that saw you do it.
- Export and enjoy a working plugin.
-
@Christoph-Hart said in ALARM ALARM - I have big problem I think....:
Having a non-compiled faust node in a compiled plugin is a nononononononono
Maybe it would be good to add this to the export sanity checks
-
@Christoph-Hart said in ALARM ALARM - I have big problem I think....:
@Lindon Having a non-compiled faust node in a compiled plugin is a nononononononono even if you have bypassed it (which doesn't change anything except for skipping the rendering).
- Develop the faust code
- Export it to a hardcoded FX
- Remove the scriptnode network that you've used for developing the faust code and kill every person that saw you do it.
- Export and enjoy a working plugin.
Okay after quite a bit of cleaning up - this advice certainly helped got to a consistent and reliable compile that also passes pluginval, and after some fiddling, auval so thanks for this
and
@sletz - you can ignore me about the non linear distortion(thankfully) as it seems to be working fine now...
-
@Lindon So in the end were you able to compile your project successfully with the Faust Distortion's Offset control? I wouldn't mind seeing how you did this. If not I found another solution where I created a separate Faust node for phase offset that, once I find it, I can share with you.