Validate plugin parameters freezes Hise
-
@Christoph-Hart Definitely strange because even when removing all plugin parameter properties (
isPluginParameter
,isMetaParameter
&pluginParameterName
) I still have the issue...The XML is clean of any related properties
A blank project validates successfully...
-
@ustk Can you upload the project that crashes?
-
@Christoph-Hart Yup! -> PM
-
@ustk I've found an issue with some thread deadlocks when recompiling the scripts caused by some LAF functions (eg.
createPresetBrowserIcons
), but not sure if that fixes your issue too.But I can validate the plugin parameters here now without crash - you're talking about the Export -> Validate plugin parameters function, right?
-
@Christoph-Hart Cool you found something
finger crossed it was related to the Logic hard crash issue... But it was definitely related to this one: https://forum.hise.audio/topic/11895/createpresetbrowsericons-giving-a-high-crash-count?_=1754664135122
Yeah we're definitely talking about the same validation process
-
@Christoph-Hart It's still freezing, having plugin parameters or not... (I threw the build folder for a clean 2nd build, same...)
-
@Christoph-Hart Oh... it works with the debug build, it's the release that freezes
-
@ustk See if a particular optimisation level triggers the issue
-
@d-healey It didn't, I tried no optimisation at all to mimic a debug but it still freezes
-
@ustk yeah my guess is that it's still a deadlocking issue, but because the debug build / running under debugger is slower, it doesn't create the multithreading scenario that leads to the crash (or the probability of the crash goes down). The only option is to smash that compile button in Debug mode until you get the issue.
-
@Christoph-Hart But does it relates to the parameter validation or the LAF? or both? or any?
-
@Christoph-Hart Oh wait... It was working in debug because I didn't recompiled my DLL (which is btw annoying when switching from release to debug to release...).
Now they are recompiled and the projects loads entirely in debug, the parameter validation freezes here too... -
@Christoph-Hart I'm hitting this on parameter validation. (Freq is a NaN for some reason, I checked my networks, nothing fancy, all value are set between 750 and 7500 throughout the whole parameter chain)
-
@Christoph-Hart So I removed the last biquad and replaced it with an SVF so the assertion disappeared.
Now I get this one, signing the end of my debugging skills... -
@ustk It looks like there are so many different things.
The last one was because ofhasTail
set in the networks. Once disabled the assertion goes away. But it's still freezing on parameter validation, and this time no crash to tell what is happening -
Gotcha!!! the culprit is:
const var global_LAF = Engine.createGlobalScriptLookAndFeel(); global_LAF.registerFunction("getAlertWindowMarkdownStyleData", function(obj) { obj.font = "Regular"; obj.fontSize = 16.0; obj.textColour = fontColour; return obj; });
Interfering with the parameter validation result message of Hise:
Quick recap:
- biquad freq is NaN for whatever reason
- hasTail assertion
- getAlertWindowMarkdownStyleData interference
-
@ustk Excellent detective work!
-
@ustk good catch but are you using the latest version? Because I swapped the ScopedReadLock at callDefinedFunction with a ScopedTryReadLock so that it doesn't deadlock when another thread holds the write lock, but your call stack still implies that it uses the ScopedReadLock.
The other things are noise.
-
@Christoph-Hart yep definitely the last after deleting the build folder for a clean new build
-
@ustk yeah, I'm the idiot, I forgot to include the line with the actual fix in the commit...
Try again now, it should now work correctly. If it still keeps freezing in Release mode I'll take another look.