HISE plugins crasshing DAWs
-
@d-healey PluginVal results, I don't see anything useful just yet:
pluginval v0.2.7 - JUCE v5.4.7 Started validating: /Library/Audio/Plug-Ins/Components/HiseDebug.component Random seed: 0x721da5 Validation started: 22 Nov 2024 10:38:36am Strictness level: 5 ----------------------------------------------------------------- Starting test: pluginval / Scan for known types: /Library/Audio/Plug-Ins/Components/HiseDebug.component... *** FAILED: VALIDATION CRASHED 0 pluginval 0x0000000100c6a610 _ZN4juce11SystemStats17getStackBacktraceEv + 64 1 pluginval 0x0000000100be9836 _ZN12_GLOBAL__N_119getCrashLogContentsEv + 38 2 pluginval 0x0000000100be9624 _ZN12_GLOBAL__N_111handleCrashEPv + 20 3 pluginval 0x0000000100c6a84d _ZN4juceL11handleCrashEi + 13 4 libsystem_platform.dylib 0x00007ff8014b3e9d _sigtramp + 29 5 ??? 0x0000000109919380 0x0 + 4455502720 6 HiseDebug 0x000000011365fcfc DemoProjectAUFactory + 7485244 7 HiseDebug 0x000000011373eb39 DemoProjectAUFactory + 8398201 8 HiseDebug 0x00000001134f44d6 DemoProjectAUFactory + 5996310 9 HiseDebug 0x0000000113605017 DemoProjectAUFactory + 7113303 10 HiseDebug 0x000000011300b46c DemoProjectAUFactory + 847532 11 HiseDebug 0x000000011300b46c DemoProjectAUFactory + 847532 12 HiseDebug 0x00000001130433ad DemoProjectAUFactory + 1076717 13 HiseDebug 0x0000000113076f7a DemoProjectAUFactory + 1288634 14 HiseDebug 0x00000001132867d0 DemoProjectAUFactory + 3449360 15 HiseDebug 0x0000000112f2a8fb DemoProjectAUEntry + 8971 16 HiseDebug 0x0000000112f3c64e DemoProjectAUFactory + 142 17 HiseDebug 0x0000000112f464ab DemoProjectAUFactory + 40683 18 AudioToolboxCore 0x00007ff8036a0f56 _ZN11APComponent11newInstanceEjbU13block_pointerFvP28OpaqueAudioComponentInstanceiE + 2270 19 AudioToolboxCore 0x00007ff8037effb3 _ZL11instantiateP20OpaqueAudioComponentjbU13block_pointerFvP28OpaqueAudioComponentInstanceiE + 335 20 AudioToolboxCore 0x00007ff8037f05c8 __AudioComponentInstanceNew_block_invoke + 88 21 AudioToolboxCore 0x00007ff803617a5d Synchronously + 87 22 AudioToolboxCore 0x00007ff8037f039e AudioComponentInstanceNew + 207 23 pluginval 0x0000000100c1cbbc _ZN4juce21AudioUnitPluginFormat20createPluginInstanceERKNS_17PluginDescriptionEdiNSt3__18functionIFvNS4_10unique_ptrINS_19AudioPluginInstanceENS4_14default_deleteIS7_EEEERKNS_6StringEEEE + 1180 24 pluginval 0x0000000100c0fae9 _ZN4juce17AudioPluginFormat29createInstanceFromDescriptionERKNS_17PluginDescriptionEdiRNS_6StringE + 297 25 pluginval 0x0000000100c1c555 _ZN4juce21AudioUnitPluginFormat19findAllTypesForFileERNS_10OwnedArrayINS_17PluginDescriptionENS_20DummyCriticalSectionEEERKNS_6StringE + 261 26 pluginval 0x0000000100c1e501 _ZN4juce15KnownPluginList14scanAndAddFileERKNS_6StringEbRNS_10OwnedArrayINS_17PluginDescriptionENS_20DummyCriticalSectionEEERNS_17AudioPluginFormatE + 849 27 pluginval 0x0000000100c1ea6d _ZN4juce15KnownPluginList29scanAndAddDragAndDroppedFilesERNS_24AudioPluginFormatManagerERKNS_11StringArrayERNS_10OwnedArrayINS_17PluginDescriptionENS_20DummyCriticalSectionEEE + 765 28 pluginval 0x0000000100bf4986 _ZNSt3__110__function6__funcIZN11PluginTests7runTestEvE3$_0NS_9allocatorIS3_EEFvvEEclEv + 70 29 pluginval 0x0000000100ca9bc9 _ZN4juce12MessageQueue21runLoopSourceCallbackEPv + 57 30 CoreFoundation 0x00007ff8015638a0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 31 CoreFoundation 0x00007ff801563842 __CFRunLoopDoSource0 + 157 32 CoreFoundation 0x00007ff801563619 __CFRunLoopDoSources0 + 203 33 CoreFoundation 0x00007ff80156223c __CFRunLoopRun + 960 34 CoreFoundation 0x00007ff80156184c CFRunLoopRunSpecific + 550 35 HIToolbox 0x00007ff80d071ec3 RunCurrentEventLoopInMode + 292 36 HIToolbox 0x00007ff80d0778a4 ReceiveNextEventCommon + 646 37 HIToolbox 0x00007ff80d077a42 _BlockUntilNextEventMatchingListInModeWithFilter + 66 38 AppKit 0x00007ff804de5b7f _DPSNextEvent + 902 39 AppKit 0x00007ff80581a6b4 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1290 40 AppKit 0x00007ff804dd6c59 -[NSApplication run] + 610 41 pluginval 0x0000000100ca43b0 _ZN4juce19JUCEApplicationBase4mainEv + 144 42 pluginval 0x0000000100ca4303 _ZN4juce19JUCEApplicationBase4mainEiPPKc + 83 43 dyld 0x00000002011e22cd start + 1805 Binary Images: 0x100be2000 pluginval 0x7ff8014b0000 libsystem_platform.dylib 0x112f26000 HiseDebug 0x7ff803599000 AudioToolboxCore 0x7ff8014e8000 CoreFoundation 0x7ff80cf82000 HIToolbox 0x7ff804da6000 AppKit
-
@HISEnberg So the next thing is to recompile your project (and networks) as debug builds. Build the standalone version and run it in xcode and use xcode's debugging tools to try and find the source of the issue.
-
Hmm the build succeeded at first, with a warning flag to update the mac deployment target from 10.13 to 15.
So i updated this in XCode and I started receiving this error:
/Users/ernest/HISE/JUCE/modules/juce_gui_basics/native/juce_mac_Windowing.mm:688:33 'CGWindowListCreateImage' is unavailable: obsoleted in macOS 15.0 - Please use ScreenCaptureKit instead.
So I checked the projucer and the macOS deployment target setting is defaulted to 10.13, however apparently the minimum supported version is 10.7
I will try to rebuild HISE from 10.7 to see what happens and will reply here with any updates. Thanks for the debugging tips @d-healey .
-
@HISEnberg said in HISE plugins crasshing DAWs:
with a warning flag to update the mac deployment target from 10.13 to 15.
Ignore warnings.
-
@d-healey thanks. Usually I do, but in this scenario the project builds, but the application still crashes when I open it. XCode isnt giving me any errors during the build process
-
@HISEnberg said in HISE plugins crasshing DAWs:
but the application still crashes when I open it
Are you opening it within xcode's debugger?
-
@HISEnberg All plugins crash for me if scriptnode is involved. Everything I ever did only ever worked when the scriptfx is compiled into a DLL and then removed from the project and used as HardcodedFX.
-
@Morphoice interesting! It shouldn't matter if it's scriptfx or hardcoded but I am going to try it.
@d-healey no I haven't done this before so I will try again
-
@HISEnberg I too thought it shouldn't matter, but it was only ever when I kicked the scriptfx node that anything started working at all after compilation... I'm not sure if this is how it's supposed to be but that's the workflow I adapted to get anything done for weeks now
-
@HISEnberg Are you sure that it is macOS specific? What about Windows?
Might be related:
https://forum.hise.audio/topic/2826/debugging-with-reaper/23?_=1732328738621
https://forum.hise.audio/topic/3677/multi-instance-daw-crash-issue-guide?_=1732328397399
-
@HISEnberg said in HISE plugins crasshing DAWs:
So something is buggy, I will start going back a few commits but this very simple delay plugin is causing my DAWs to crash.
If someone is kind enough to take the time to compile this project and let me know their results I will appreciate it!
I compiled this project and I had no problems to load it in to Logic, Ableton Live or Reaper, on Mac OS
-
-
@d-healey Okay now I am running debug standalone builds in XCode and using the debugger. This is based off of the master branch of HISE. Here is what I am seeing:
/Users/.../HISE/JUCE/modules/juce_core/containers/juce_ArrayBase.h
-
@HISEnberg Try going back a bit through the stack trace and see if you can find out the function that is calling that function, keep working your way back until you get to something meaningful and then step through the code bit by bit and see if any variables have unexpected values.
-
@d-healey unfortunately for me I wasn't able to discover much of value. As far as I can tell,
numUsed
might be pointing to an invalid memory address or uninitialized memory. The ArrayBase object is either improperly constructed or has been corrupted. This is as far as I could get. -
@Morphoice I am thinking it could be what you mentioned here, something fishy about using the Script Fx node. I experienced the same issues on Windows.
I just recompiled my wonderful delay example I posted her, moved it into a hardcoded fx node and it actually opened for me and works inside of Ableton.
-
@HISEnberg i had this issue aswell when saving scriptnodes.
I think i fixed it by deleting the saved scriptnode and recompiling without the saved node again.
I guess you tried that already but there is definitely some error potential when saving scriptnodes instead of them being saved by HISE project.
-
@Straticah Right, interesting. Is this causing the plugins to crash, or the HISE project to fail? Everything works fine for me inside of HISE, it's just compiled plugins that won't work
This is a pretty serious issue for me at the moment, I was surprised to find the issue has only come up for a few developers so far.
@Christoph-Hart I hate to bug you without having more information for you, but I thought you should be aware that I am experiencing consistent crashes across platforms/DAWs with scriptnode based projects. The hardcoded slot seems to be somewhat more stable but I haven't looked into this too much.
This is true on both the develop and master branch, I've rebuilt hise quite a number of times today.
David was kind enough to lead me in debugging in XCode but I couldn't find much useful information past what I have posted above. I'll post more if I can find anything.
-
@HISEnberg the HISE compilation worked fine. Its just when you open it in your DAW it gets an error and shows no UI at all. Cleaning build directory, deleting all saved scriptnodes (if there are any inside the
DspNetworks\Networks
folder) and compiling dlls (without saving nodes - only project).Usually this fixed it for me most of the time. I only had this issue when using multiple saved or compiled nodes inside other nodes or when going from hardcodedFX back to scriptnode.
Question, do you save the scriptnode before compiling and this might cause the error?
-
@HISEnberg super weird. i'm trying a few experiments with the scriptnodes turned off, on, different nodes and report back, but so far it looks like whenever there is scriptfx it crashes... I remember weeks ago I read somewhere that scriptnodes always have to be compiled into a DLL and used as hardcoded in order to work properly but I could be mistaken as many people stated it would work just as fine without... is there an official statement from christoph somewhere?