NYSTHI v2.4.23

Duplicate and undo Simpliciter works when a clip is loaded too.

1 Like

great info !

I have a very similar issue with what I isolated to be mix8, which I was using to try out a drum track.

Crashed both Rack 2.0.0 and 2.0.1

Easy to reproduce in Cakewalk 2021.11 on Win10

  • Add an instance of mix8 to VCV Rack VST (as an instrument)
  • Save and close the project
  • Re-open the project
  • LibRack.dll crashes and takes the DAW with it.

In 2.0.1, I swapped the mix8 instance by a MindMeldJr and it saved/reloaded without pain.

2 Likes

Hello @GretchenV can you test this release ? Please…

thank you Antonio

I have noticed that Progammer sequencer does not store potentiometer values, even if you save the project and reopen it. Hope it helps with the port, nice job already!

v2.0.9 Mix8 crashes for me the same way v2.0.8 Simpliciter did

Nope, it still crashes.

[0.201 info src/patch.cpp:361 loadAutosave] Loading autosave C:/Users/renev/AppData/Local/Temp/rack-autosave-Wnac/patch.json [0.203 info src/patch.cpp:507 fromJson] Patch was made with Rack v2.0.0, current Rack version is v2.0.1 [0.203 info src/engine/Module.cpp:173 fromJson] Patch created with Core v2.0.0, currently using v2.0.1. [0.223 info src/engine/Module.cpp:173 fromJson] Patch created with NYSTHI v2.0.6, currently using v2.0.9. [0.223 info src/engine/Module.cpp:173 fromJson] Patch created with Core v2.0.0, currently using v2.0.1. [0.224 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/VCV-Drums/res/Kick.svg [0.225 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/VCV-Drums/res/DrumButton.svg [0.225 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/VCV-Drums/res/DrumButton_1.svg [0.226 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/VCV-Drums/res/Snare.svg [0.227 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/VCV-Drums/res/ClosedHat.svg [0.228 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/VCV-Drums/res/OpenHat.svg [0.229 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/VCV-Drums/res/Rim.svg [0.230 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/NYSTHI/res/mix8.svg [0.477 info src/network.cpp:147 requestJson] Requesting JSON GET https://api.vcvrack.com/user [0.855 info src/network.cpp:147 requestJson] Requesting JSON GET https://api.vcvrack.com/library/manifests?version=2 [1.590 info src/network.cpp:147 requestJson] Requesting JSON GET https://api.vcvrack.com/modules

at this point I surrender
going to ask to remove nysthi from the lib 2.0

the VST is undebuggable without a debugging host

thank you

When I load the patch from autosave using the standalone it works fine and this what the log then says:

[0.259 info adapters/standalone.cpp:194 main] Initializing context
[0.260 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Pro/res/ComponentLibrary/Rail.svg
[0.313 info src/window/Window.cpp:307 Window] Window content scale: 1.250000
[0.523 info src/window/Window.cpp:361 Window] Renderer: Intel Intel(R) UHD Graphics
[0.523 info src/window/Window.cpp:362 Window] OpenGL: 4.6.0 - Build 27.20.100.8280
[0.563 info src/window/Window.cpp:43 loadFile] Loaded font C:/Program Files/VCV/Rack2Pro/res/fonts/DejaVuSans.ttf
[0.620 info src/network.cpp:147 requestJson] Requesting JSON GET https://api.vcvrack.com/user
[0.998 info src/network.cpp:147 requestJson] Requesting JSON GET https://api.vcvrack.com/library/manifests?version=2
[1.721 info src/network.cpp:147 requestJson] Requesting JSON GET https://api.vcvrack.com/modules
[9.033 info src/patch.cpp:350 hasAutosave] Loading autosave C:/Users/renev/OneDrive/Documenten/Rack2/autosave/patch.json
[9.034 info src/patch.cpp:361 loadAutosave] Loading autosave C:/Users/renev/OneDrive/Documenten/Rack2/autosave/patch.json
[9.056 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/Fundamental/res/Scope.svg
[9.056 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Pro/res/ComponentLibrary/ScrewSilver.svg
[9.056 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Pro/res/ComponentLibrary/VCVButton_0.svg
[9.056 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Pro/res/ComponentLibrary/VCVButton_1.svg
[9.057 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Pro/res/ComponentLibrary/RoundBlackKnob.svg
[9.057 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Pro/res/ComponentLibrary/RoundBlackKnob_bg.svg
[9.057 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Pro/res/ComponentLibrary/PJ301M.svg
[9.057 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Pro/res/Core/Audio2.svg
[9.057 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Pro/res/ComponentLibrary/RoundLargeBlackKnob.svg
[9.058 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Pro/res/ComponentLibrary/RoundLargeBlackKnob_bg.svg
[9.058 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/VCV-Drums/res/Kick.svg
[9.059 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/VCV-Drums/res/DrumButton.svg
[9.059 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/VCV-Drums/res/DrumButton_1.svg
[9.059 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Pro/res/ComponentLibrary/Trimpot.svg
[9.059 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Pro/res/ComponentLibrary/Trimpot_bg.svg
[9.061 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/VCV-Drums/res/Snare.svg
[9.062 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/VCV-Drums/res/ClosedHat.svg
[9.063 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/VCV-Drums/res/OpenHat.svg
[9.064 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/VCV-Drums/res/Rim.svg
[9.065 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/NYSTHI/res/mix8.svg
[9.065 info src/window/Window.cpp:43 loadFile] Loaded font C:/Users/renev/OneDrive/Documenten/Rack2/plugins/NYSTHI/res/fonts/LEDCalculator.ttf
[9.065 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/NYSTHI/res/ctrls/pyer/colored_pj301m_styled/PJ301M_18_IN.svg
[9.066 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/NYSTHI/res/ctrls/pyer/colored_pj301m_styled/PJ301M_15_OU.svg
[9.066 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/NYSTHI/res/ctrls/pyer/colored_pj301m_styled/PJ301M_18_INCV.svg
[9.066 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/NYSTHI/res/ctrls/jojo/jojoWhiteKnob15fg.svg
[9.066 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/NYSTHI/res/ctrls/jojo/jojoWhiteKnob15bg.svg
[9.066 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/NYSTHI/res/ctrls/nyTapperUp16.svg
[9.066 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/NYSTHI/res/ctrls/nyTapperDown16.svg
[9.066 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/NYSTHI/res/ctrls/leds/led10.svg
[9.067 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/NYSTHI/res/ctrls/pyer/colored_pj301m_styled/PJ301M_15_INPULSE.svg
[9.068 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/NYSTHI/res/ctrls/pyer/colored_pj301m_styled/PJ301M_18_OU.svg
[9.069 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/NYSTHI/res/ctrls/nyTapperUp12.svg
[9.069 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/NYSTHI/res/ctrls/nyTapperDown12.svg
[9.069 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/renev/OneDrive/Documenten/Rack2/plugins/NYSTHI/res/ctrls/leds/led6.svg
[9.069 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Pro/res/Core/MIDI_Gate.svg
[9.070 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Pro/res/ComponentLibrary/Plug.svg
[9.070 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Pro/res/ComponentLibrary/PlugPort.svg
[9.070 info adapters/standalone.cpp:237 main] Running window
[9.092 info src/window/Window.cpp:43 loadFile] Loaded font C:/Program Files/VCV/Rack2Pro/res/fonts/ShareTechMono-Regular.ttf
[9.092 info src/window/Window.cpp:43 loadFile] Loaded font C:/Program Files/VCV/Rack2Pro/res/fonts/Nunito-Bold.ttf
[15.002 info src/patch.cpp:221 saveAutosave] Saving autosave C:/Users/renev/OneDrive/Documenten/Rack2/autosave/patch.json
[15.005 info src/settings.cpp:437 save] Saving settings C:/Users/renev/OneDrive/Documenten/Rack2/settings.json
[30.002 info src/patch.cpp:221 saveAutosave] Saving autosave C:/Users/renev/OneDrive/Documenten/Rack2/autosave/patch.json
[30.005 info src/settings.cpp:437 save] Saving settings C:/Users/renev/OneDrive/Documenten/Rack2/settings.json
[36.487 info adapters/standalone.cpp:239 main] Stopped window
[36.487 info adapters/standalone.cpp:250 main] Destroying context
[36.505 info src/patch.cpp:221 saveAutosave] Saving autosave C:/Users/renev/OneDrive/Documenten/Rack2/autosave/patch.json
[36.536 info src/settings.cpp:437 save] Saving settings C:/Users/renev/OneDrive/Documenten/Rack2/settings.json
[36.537 info adapters/standalone.cpp:258 main] Destroying environment
[36.547 info adapters/standalone.cpp:270 main] Destroying logger

The c00000005 exception hints at a buffer overrun. I am a software developer but not on my home systems :wink:

Might help contacting @Richie for this one

@Richie is there a different behaviour between plugin open in VST and open in a full RACK app ?

I have a report (statistical report) that my modules not using CUSTOM displays are working
and modules with custom displays are crashing

generally modules with custom displays they have a reference to the original “module” and of course they use it only if the “module” exists

is this different in a VST ?

@Vortico can you help Antonio get this done by any chance?

One difference between loading Rack plugins in the VST and standalone is that the DAW might load and immediately unload the VST, which will in turn load and immediately unload the Rack plugins. Anything that relies on having time to do stuff, or relies on starting a thread that has chance to do some work, or relies on the painting code being run, might find it’s expectations aren’t met in the VST environment.

About debugging a plugin under the VST - you should be able to do that, no problem. Either configure your debugger to start the DAW, or attach to the DAW after startup (which won’t work if the crash is on startup, but worst case you could always put a sleep() in). You might find that the DAW uses a separate program to scan VSTs, so it’s that that you’ll need to debug.

I find Reaper to be the most sensibly-behaved DAW for this sort of thing.

don’t understand how a load and discharge can create a problem

the only way to create a problem is by calling 2 times the Widget creation passing a wrong “module” (the dead one from first load) in the second call

just guessing

I can reproduce your crash, and it’s failing in Window::loadFont() during the call to createModuleWidget(). The stack trace looks like this:

> 	libRack.dll!rack::window::Window::loadFont(this, filename)
 	plugin.dll!00007ffac5ba4ab6()
 	plugin.dll!00007ffac5e0b51d()
	libRack.dll!rack::app::RackWidget::fromJson(this, rootJ)

where RackWidget::fromJson is calling your plugin’s createModuleWidget().

I can’t be sure what the cause of the crash is, but the migration guide does advise against “load and store a Font or Image in a widget’s constructor”. I don’t think you should expect a crash, but it does seem like you’re going against the grain…

2 Likes

You need to load fonts inside the draw call. This was mentioned in the V2 migration guide and I experienced the exact same issue with my modules

it’s everywhere a load font never utilized, relic

example:

   std::shared_ptr<Font> font;
    bignumber_full_display() {
        font = APP->window->loadFont(ny_initer::resource_full_path("fonts/LEDCalculator.ttf"));
    };

and I don’t understand how can crash

but when I use the font, for example in the draw I have a:

        font = APP->window->loadFont(ny_initer::resource_full_path("fonts/LEDCalculator.ttf"));
        if(font)
        {
            nvgFontFaceId(vg, font->handle);
bla bla bla

as specified in the porting to v2 doc

1 Like

I’m not sure about this but when I made these changes to my module, I put the

std::shared_ptr<Font> font;

inside the draw() function also rather than at the widget level.

Can people having crashes with NYSTHI check if an update to VCV Rack 2.0.1 solves some of these issues?