HISE crashes on export
-
I've finally finished a project after many months and went to export the project and HISE crashes (quits unexpectedly). If I click the report button I get this reason:
Termination Reason: Namespace SIGNAL, Code 6 Abort trap: 6
Terminating Process: HISE [2186]I am able to export other projects successfully. But, not this project for some reason. Any ideas what this means or what I need to do? Anyone else ran into this error before?
Thank you in advance for your input!
-
@stmpn said in HISE crashes on export:
Any ideas what this means or what I need to do?
No idea without knowing something about your project. Give us some information :)
-
Hey @d-healey
Apologies for the delayed response! Things got a little busy.
This project (HISE v3.6.2 has over 350 presets linked to 5 stock effects (2 filters, delay, gain and a convolution reverb). The only difference in this project that I can think of is the use of an IR for reverb. No custom code other than some for the UI.
I thought maybe it had something to do with IPP, but that does not seem to be the case.
Let me know if you need more info from me.
Thanks so much for your help!
-
@stmpn Use the develop branch and see if that works.
-
3.6.2 is ancient, you'll definitely have to update to a more recent HISE version if you want stuff fixed.
-
I loaded the developer branch into Xcode but cannot run. Keep getting errors like:
The file “include_juce_graphics.mm” couldn’t be opened because you don’t have permission to view it.
When I look at the file I have permissions set to Read/Write. Tried searching the forum and web for some fixes but none works.
-
I just installed 4.0.0 as I couldn't get the develop branch to run. So Installed the 4.0.0 package and still crashing the project on export.
-
@stmpn Before you can export you need to be able to compile HISE. Did you follow these steps? - https://github.com/christophhart/HISE?tab=readme-ov-file#osx
-
After some trial and error, I figured out the cause of the crash, but not yet the why.
For this project, I have a custom lookandfeel for the preset browser. As soon as I include("PresetBrowser.js") on the oninit; and go to export, the crash happens. If I comment out that line (essentially by passing the PresetBrowser.js) then HISE will export as usual.
This leads me to believe that something on the oninit is not playing nice with the PresetBrowser.js making HISE mad and refuse to export.
Any ideas?
-
-
@stmpn if you have various versions of your plug in try to export an early version, might be a corrupted later version, it happened to me, also if you have various Hise Versions installed make sure you are using the the same version that its set in the settings otherwise won't export either, I hope this help in something.
-
Thank you for taking the time to review the code below. You do a lot for the HISE community. You've helped me so much on this project. I really appreciate it!
This is the oninit code:
Content.makeFrontInterface(960, 600); include("PresetBrowser.js"); // load all Audio Files from the AudioFiles Folder into the Pool Engine.loadAudioFilesIntoPool(); //Sampler const var Sampler1 = Synth.getChildSynth("Sampler1"); //Sample maps array const var sampleMaps = Sampler.getSampleMapList(); //ComboBox const var cmbSampleBox = Content.getComponent("cmbSampleBox"); cmbSampleBox.set ("items", sampleMaps.join("\n")); inline function oncmbSampleBoxControl(component, value) { Sampler1.asSampler().loadSampleMap(sampleMaps[value-1]); }; Content.getComponent("cmbSampleBox").setControlCallback(oncmbSampleBoxControl);
This is the PresetBrowser.js
namespace PresetBrowser { const NUM_BANKS = 5; Engine.loadImageIntoPool("*"); const laf = Content.createLocalLookAndFeel(); for (i = 0; i < NUM_BANKS; i++) laf.loadImage("{PROJECT_FOLDER}bank" + (i + 1) + ".png", "bank" + (i + 1)); laf.registerFunction("drawPresetBrowserBackground", function(g, obj) { g.fillAll(0xff0e0e0e); }); laf.registerFunction("drawPresetBrowserColumnBackground", function(g, obj) { var a = obj.area; switch (obj.columnIndex) { case 0: // Bank g.fillAll(0xff0e0e0e); break; case 1: // Category g.fillAll(0xff0e0e0e); break; case 2: // Preset g.fillAll(0xff0e0e0e); break; } }); laf.registerFunction("drawPresetBrowserListItem", function(g, obj) { var a = obj.area; g.setColour(Colours.withAlpha(0xffffffff, obj.selected ? 0.9 + (obj.hover * 0.2): 0.3 + (obj.hover * 0.2))); if (obj.columnIndex == 0) // Bank { var imgName = "bank" + (obj.rowIndex + 1); g.drawImage(imgName, a, 0, 0); } else // Category and Preset { g.setFont("Arial", 14); g.drawAlignedText(obj.text.toUpperCase(), a, "centred"); } }); const fltPresetBrowser = Content.getComponent("fltPresetBrowser"); fltPresetBrowser.setLocalLookAndFeel(laf); const SCROLLBAR_PADDING = 10; laf.registerFunction('drawScrollbar', function(g, obj) { var a = obj.handle; var pa = [ a[0] + SCROLLBAR_PADDING, a[1] + SCROLLBAR_PADDING, a[2] - SCROLLBAR_PADDING, a[3] - SCROLLBAR_PADDING, ]; g.setColour(0xff141414); g.fillRoundedRectangle(pa, 5); }); }
-
Good looking out! I actually checked and was running a different version of HISE in the settings. I updated that to the new one and still no luck exporting.
Will try going back to older version of project and see if it can export as well.
-
@stmpn said in HISE crashes on export:
switch (obj.columnIndex) { case 0: // Bank g.fillAll(0xff0e0e0e); break; case 1: // Category g.fillAll(0xff0e0e0e); break; case 2: // Preset g.fillAll(0xff0e0e0e); break; }
These colours are all the same, why do you need a switch statement?
I don't see any obvious issues there. Try commenting out different functions in that file and see if you can narrow it down.
Are you using the develop branch? Make sure you only have one copy of HISE and the HISE source code on your system.
-
ok will try commenting out and see what happens.
I am using the latest build for HISE but not dev branch. I'm able to load developer branch into Xcode via Projuicer but Xcode won't build.
-
@stmpn said in HISE crashes on export:
I am using the latest build for HISE but not dev branch
You need to build HISE from the develop branch before you will be able to compile your project.
-
Finally, got HISE to start the export process without crashing.
Problem line of code was this:
Engine.loadImageIntoPool("*");
I deleted the above and everything works as expected, except now on export I am getting an IPP error. Will search the forum for resolutions as I know I've seen this error popup in the forum already.