Lindenberg Research Announcements Thread

Adding Simple VCF works in my debug version of Rack v2.2.1 (built from source) on Win 10, but trying to delete the module from the rack crashes:

warning: HEAP[Rack.exe]:
warning: Heap block at 000001C6ECE46FE0 modified at 000001C6ECE46FF8 past requested size of 8

Thread 1 received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffee7a4a773 in ntdll!RtlRegisterSecureMemoryCacheCallback () from /c/WINDOWS/SYSTEM32/ntdll.dll
(gdb) bt
#0  0x00007ffee7a4a773 in ntdll!RtlRegisterSecureMemoryCacheCallback () from /c/WINDOWS/SYSTEM32/ntdll.dll
#1  0x00007ffee7a46dff in ntdll!RtlZeroHeap () from /c/WINDOWS/SYSTEM32/ntdll.dll
#2  0x00007ffee7a0cf5a in ntdll!memset () from /c/WINDOWS/SYSTEM32/ntdll.dll
#3  0x00007ffee7a49621 in ntdll!RtlRegisterSecureMemoryCacheCallback () from /c/WINDOWS/SYSTEM32/ntdll.dll
#4  0x00007ffee7975cc1 in ntdll!RtlGetCurrentServiceSessionId () from /c/WINDOWS/SYSTEM32/ntdll.dll
#5  0x00007ffee7975b74 in ntdll!RtlGetCurrentServiceSessionId () from /c/WINDOWS/SYSTEM32/ntdll.dll
#6  0x00007ffee79747b1 in ntdll!RtlFreeHeap () from /c/WINDOWS/SYSTEM32/ntdll.dll
#7  0x00007ffee6b69c9c in msvcrt!free () from /c/WINDOWS/System32/msvcrt.dll
#8  0x00007ffea583c5ba in plugin!_ZN12SimpleFilterD0Ev () from /c/Program Files/VCV/Rack2 Pro/plugins/LindenbergResearch/plugin.dll
#9  0x00007ffeac747eb5 in rack::app::ModuleWidget::setModule (module=0x0, this=0x1c6fa189fb0) at src/app/ModuleWidget.cpp:70
#10 rack::app::ModuleWidget::~ModuleWidget (this=0x1c6fa189fb0, __in_chrg=<optimized out>) at src/app/ModuleWidget.cpp:50
#11 0x00007ffea5844981 in plugin!_ZN18SimpleFilterWidgetD0Ev () from /c/Program Files/VCV/Rack2 Pro/plugins/LindenbergResearch/plugin.dll
#12 0x00007ffeac74e025 in rack::app::ModuleWidget::removeAction (this=this@entry=0x1c6fa189fb0) at src/app/ModuleWidget.cpp:933
#13 0x00007ffeac74f052 in rack::app::ModuleWidget::onHoverKey (this=0x1c6fa189fb0, e=...) at src/app/ModuleWidget.cpp:353
#14 0x00007ffea57b4397 in plugin!_ZN3lrt14LRModuleWidget10onHoverKeyERKN4rack6widget6Widget13HoverKeyEventE ()
   from /c/Program Files/VCV/Rack2 Pro/plugins/LindenbergResearch/plugin.dll
#15 0x00007ffeacc021ab in rack::widget::Widget::recursePositionEvent<void (rack::widget::Widget::*)(rack::widget::Widget::HoverKeyEvent const&), rack::widget::Widget::HoverKeyEvent> (e=..., f=&virtual table offset 112, this=0x1c6ecc81b00) at include/widget/Widget.hpp:197
#16 rack::widget::Widget::onHoverKey (this=0x1c6ecc81b00, e=...) at include/widget/Widget.hpp:284
#17 0x00007ffeac75afc7 in rack::widget::Widget::recursePositionEvent<void (rack::widget::Widget::*)(rack::widget::Widget::HoverKeyEvent const&), rack::widget::Widget::HoverKeyEvent> (e=..., f=&virtual table offset 112, this=0x1c6ec791630) at include/widget/Widget.hpp:197
#18 rack::widget::Widget::onHoverKey (e=..., this=0x1c6ec791630) at include/widget/Widget.hpp:284
#19 rack::widget::OpaqueWidget::onHoverKey (e=..., this=0x1c6ec791630) at include/widget/OpaqueWidget.hpp:30
#20 rack::app::RackWidget::onHoverKey (this=0x1c6ec791630, e=...) at src/app/RackWidget.cpp:176
#21 0x00007ffeacc00915 in rack::widget::Widget::recursePositionEvent<void (rack::widget::Widget::*)(rack::widget::Widget::HoverKeyEvent const&), rack::widget::Widget::HoverKeyEvent> (e=..., f=&virtual table offset 112, this=0x1c6ecbe0950) at include/widget/Widget.hpp:197
#22 rack::widget::Widget::onHoverKey (e=..., this=0x1c6ecbe0950) at include/widget/Widget.hpp:284
#23 rack::widget::ZoomWidget::onHoverKey (this=0x1c6ecbe0950, e=...) at include/widget/ZoomWidget.hpp:35
#24 0x00007ffeacc021ab in rack::widget::Widget::recursePositionEvent<void (rack::widget::Widget::*)(rack::widget::Widget::HoverKeyEvent const&), rack::widget::Widget::HoverKeyEvent> (e=..., f=&virtual table offset 112, this=0x1c6ecca5050) at include/widget/Widget.hpp:197
#25 rack::widget::Widget::onHoverKey (this=0x1c6ecca5050, e=...) at include/widget/Widget.hpp:284
#26 0x00007ffeac77c49c in rack::widget::Widget::recursePositionEvent<void (rack::widget::Widget::*)(rack::widget::Widget::HoverKeyEvent const&), rack::widget::Widget::HoverKeyEvent> (e=..., f=&virtual table offset 112, this=0x1c6eca97d80) at include/widget/Widget.hpp:197
#27 rack::widget::Widget::onHoverKey (e=..., this=0x1c6eca97d80) at include/widget/Widget.hpp:284
#28 rack::widget::OpaqueWidget::onHoverKey (e=..., this=0x1c6eca97d80) at include/widget/OpaqueWidget.hpp:30
#29 rack::ui::ScrollWidget::onHoverKey (this=0x1c6eca97d80, e=...) at src/ui/ScrollWidget.cpp:175
#30 0x00007ffeac76436d in rack::widget::Widget::recursePositionEvent<void (rack::widget::Widget::*)(rack::widget::Widget::HoverKeyEvent const&), rack::widget::Widget::--Type <RET> for more, q to quit, c to continue without paging--c
HoverKeyEvent> (e=..., f=&virtual table offset 112, this=0x1c6ecafbae0) at include/widget/Widget.hpp:197
#31 rack::widget::Widget::onHoverKey (e=..., this=0x1c6ecafbae0) at include/widget/Widget.hpp:284
#32 rack::widget::OpaqueWidget::onHoverKey (e=..., this=0x1c6ecafbae0) at include/widget/OpaqueWidget.hpp:30
#33 rack::app::Scene::onHoverKey (this=0x1c6ecafbae0, e=...) at src/app/Scene.cpp:323
#34 0x00007ffeac784a99 in rack::widget::EventState::handleKey (this=this@entry=0x1c6eca8c360, pos=..., key=key@entry=261, scancode=scancode@entry=339, action=action@entry=1, mods=mods@entry=32) at src/widget/event.cpp:334
#35 0x00007ffeac7867e9 in rack::window::keyCallback (win=<optimized out>, key=261, scancode=339, action=1, mods=<optimized out>) at src/window/Window.cpp:224
#36 0x00007ffeac7ce4b5 in windowProc (hWnd=0x903b8 <plugin!_ZN3stk5Delay5addToEdm+14264>, uMsg=256, wParam=46, lParam=22216705) at C:/_Projects/VCVRack/V2/Rack_SR/dep/glfw/src/win32_window.c:769
#37 0x00007ffee65be858 in USER32!CallWindowProcW () from /c/WINDOWS/System32/USER32.dll
#38 0x00007ffee65be4ee in USER32!CallWindowProcW () from /c/WINDOWS/System32/USER32.dll
#39 0x00007ffed6b2f0f0 in glPushClientAttrib () from /c/WINDOWS/SYSTEM32/OPENGL32.dll
#40 0x00007ffee65be858 in USER32!CallWindowProcW () from /c/WINDOWS/System32/USER32.dll
#41 0x00007ffee65be299 in USER32!DispatchMessageW () from /c/WINDOWS/System32/USER32.dll
#42 0x00007ffeac7d0a53 in _glfwPollEventsWin32 () at C:/_Projects/VCVRack/V2/Rack_SR/dep/glfw/src/win32_window.c:1981
#43 0x00007ffeac786cc9 in rack::window::Window::step (this=this@entry=0x1c6ec912a90) at src/window/Window.cpp:430
#44 0x00007ffeac787648 in rack::window::Window::run (this=0x1c6ec912a90) at src/window/Window.cpp:408
#45 0x00007ff70e9d169b in main (argc=<optimized out>, argv=<optimized out>) at adapters/standalone.cpp:244

Same issue (Simple lowpass filter), CTD when open from modules browser.

  • VCV Rack Pro v2.2.1 (as standalone).
  • Windows 10 Pro 22H2.
  • Yamaha/Steinberg ASIO driver (from UR22C).

It was compiled against an old version of Rack 2.1.x which causes a crash due to a missing value resulting in undefined behaviour. A fixed version will be available soon… Thanks for reporting!

3 Likes

Hi all,

here is the Beta 5.1 update to fix the crashing issue.

Also take a closer look at the Tube Preamp:

  • added antialiasing filter
  • normalise signal shaping
  • small UI updates

It is still alpha, I didn’t have time to finish the design, but the audio part is done, please give me some feedback, THANKS.

Here we go:

PC

Mac

have a nice weekend!

Patrick

3 Likes

I’ve had some crashes using the Windows version, with the Simple VCF. It’s not consistent, but I’m trying to reproduce it…

If I put Simple VCF in patch and close Rack, the next time I start Rack says it had crashed in the last session. That suggests the log file from the previous run isn’t getting completely written.

In another separate test, I also had a crash to desktop by trying to delete a Simple VCF.

Using Windows version.

Just had a crash trying to select Simple VCF from the module browser in a fresh patch.

From the end of log.txt:

[12.046 info src/window/Window.cpp:73 loadFile] Loaded image C:/Users/paul/Documents/Rack2/plugins/LindenbergResearch/res/compound/middleknob/Inlay.png
[12.058 info src/window/Window.cpp:50 loadFile] Loaded font C:/Users/paul/Documents/Rack2/plugins/LindenbergResearch/res/DejaVuSansMono.ttf
[15.680 info src/app/Browser.cpp:89 chooseModel] Creating module LindenbergResearch Simple lowpass filter
[15.680 info src/app/Browser.cpp:93 chooseModel] Creating module widget LindenbergResearch Simple lowpass filter
[15.696 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/paul/Documents/Rack2/plugins/LindenbergResearch/res/panels/ClassicPatina.svg
[15.714 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/paul/Documents/Rack2/plugins/LindenbergResearch/res/panels/GrungePatina.svg
[16.069 fatal adapters/standalone.cpp:49 fatalSignalHandler] Fatal signal 11. Stack trace:
44:  0x0
43:  0x0
42: _C_specific_handler 0x7ffa53f87f60
41: _chkstk 0x7ffa55832300
40: RtlRaiseException 0x7ffa557e1070
39: KiUserExceptionDispatcher 0x7ffa55830f20
38: RtlReleaseSRWLockShared 0x7ffa557b1920
37: RtlReAllocateHeap 0x7ffa557b3640
36: RtlReAllocateHeap 0x7ffa557b3640
35: realloc 0x7ffa53f79db0
34: ZN4rack10contextSetEPNS_7ContextE 0x7ff9c5f75680
33: ZN4rack10contextSetEPNS_7ContextE 0x7ff9c5f75680
32: nsvgParse 0x7ff9c5f80ff0
31: nsvgParseFromFile 0x7ff9c5f81a50
30: ZN4rack6window3Svg8loadFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE 0x7ff9c5ffc080
29: ZN4rack6window3Svg4loadERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE 0x7ff9c5ffcd20
28: ZN3lrt10ImageCache12loadSvgImageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE 0x7ff9c0c56420
27: ZN18SimpleFilterWidgetC1EP12SimpleFilter 0x7ff9c0ca8ce0
26: ZZN4rack11createModelI12SimpleFilter18SimpleFilterWidgetEEPNS_6plugin5ModelENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEN6TModel18createModuleWidgetEPNS_6engine6ModuleE 0x7ff9c0ddc160
25: ZN4rack3app11AudioButton8onActionERKNS_6widget6Widget11ActionEventE 0x7ff9c5fb0a40
24: ZN4rack3app7browser8ModelBox8onButtonERKNS_6widget6Widget11ButtonEventE 0x7ff9c6454960
23: ZN4rack6widget6Widget8onButtonERKNS1_11ButtonEventE 0x7ff9c647f6a0
22: ZN4rack6widget6Widget8onButtonERKNS1_11ButtonEventE 0x7ff9c647f6a0
21: ZN4rack6widget6Widget8onButtonERKNS1_11ButtonEventE 0x7ff9c647f6a0
20: ZN4rack2ui12ScrollWidget8onButtonERKNS_6widget6Widget11ButtonEventE 0x7ff9c5ff3c30
19: ZN4rack3app7browser7Browser8onButtonERKNS_6widget6Widget11ButtonEventE 0x7ff9c64529d0
18: ZN4rack2ui11MenuOverlay8onButtonERKNS_6widget6Widget11ButtonEventE 0x7ff9c5ff2cc0
17: ZN4rack6widget12OpaqueWidget8onButtonERKNS0_6Widget11ButtonEventE 0x7ff9c647e8c0
16: ZN4rack6widget10EventState12handleButtonENS_4math3VecEiii 0x7ff9c5ff7d90
15: ZN4rack6window3Svg4loadERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE 0x7ff9c5ffcd20
14: glfwGetWin32Monitor 0x7ff9c6040b40
13: CallWindowProcW 0x7ffa54b4e460
12: CallWindowProcW 0x7ffa54b4e460
11: glPushClientAttrib 0x7ffa18e59560
10: CallWindowProcW 0x7ffa54b4e460
9: DispatchMessageW 0x7ffa54b4e040
8: glfwPollEventsWin32 0x7ff9c6044c90
7: ZN4rack6window6Window4stepEv 0x7ff9c5ffdd20
6: ZN4rack6window6Window3runEv 0x7ff9c5ffe770
5: ZN4rack6window6Window3runEv 0x7ff9c5ffe770
4: ZN4rack6window6Window3runEv 0x7ff9c5ffe770
3: ZN4rack6window6Window3runEv 0x7ff9c5ffe770
2: ZN4rack6window6Window3runEv 0x7ff9c5ffe770
1: BaseThreadInitThunk 0x7ffa53ca74a0
0: RtlUserThreadStart 0x7ffa557e2680

This drives me nuts! I will check it tomorrow… thanks

Same… W10 Rack 2.2.1.

This may or may not be helpful but when Rack 2 first launched, I was experiencing crashes when adding OrangeLine modules from the browser. After looking into it Deiter said:

“Think its a flaw in Rack v2 that is starting to call process() on modules before the module widget has been created”

He did something to address that and afterwards they no longer crashed when adding from browser.

Ok, thanks for the hint, I will check it.

@k-chaffin

What? :wink:

Are you referring to Meander’s check for initialization before allowing process() to execute? If so, I did not originate that safeguard but got it from someone else who was not associated with VCV.

Sorry Ken, meant to tag Dieter from OrangeLine.

@Stubs

And to be clear: It is only the SimpleFilter module which crashes, right? Running as VST/AU etc.? Or Standalone? Thanks!

I am only testing standalone on Windows.

In addition to the previous problems with Simple VCF, I just put all Lindenberg modules except simple VCF into a patch, exited Rack, restarted and Rack did not open successfully, terminating without any error message.

This is the end of log.txt

[1.285 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/paul/Documents/Rack2/plugins/VCV-Recorder/res/Recorder.svg
[1.285 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Pro/res/ComponentLibrary/RoundBigBlackKnob.svg
[1.285 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Pro/res/ComponentLibrary/RoundBigBlackKnob_bg.svg
[1.286 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/paul/Documents/Rack2/plugins/VCV-Recorder/res/RecButton.svg
[1.286 info src/app/RackWidget.cpp:327 fromJson] Creating module widget LindenbergResearch Woldemar analog VCO
[1.287 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/paul/Documents/Rack2/plugins/LindenbergResearch/res/panels/VCO.svg
[1.288 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/paul/Documents/Rack2/plugins/LindenbergResearch/res/panels/Woldemar.svg
[1.301 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/paul/Documents/Rack2/plugins/LindenbergResearch/res/panels/WoldemarAged.svg
[1.365 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/paul/Documents/Rack2/plugins/LindenbergResearch/res/panels/ClassicPatina.svg

Seems that a little bug in SimpleFilter wrote a byte into memory where it shouldn’t belong to :wink:

I hope it works now as expected:

Mac

PC

Cheers, Patrick

1 Like

On Mac, Standalone, I tried the same test as PaulPiko using your latest beta just posted - adding all your modules to a patch, then quitting and restarting. I also got the crash on restart with the following log (end part):

[1.552 fatal adapters/standalone.cpp:49 fatalSignalHandler] Fatal signal 11. Stack trace:
13: Rack(fatalSignalHandler(int)+27)
12: libsystem_platform.dylib(_sigtramp+29)
11: ???(0x0+0)
10: libRack.dylib(rack::engine::Module::doProcess(rack::engine::Module::ProcessArgs const&)+143)
9: libRack.dylib(rack::engine::Engine::stepBlock(int)+1699)
8: libRack.dylib(rack::audio::Device::processBuffer(float const*, int, float*, int, int)+294)
7: libRack.dylib(rack::RtAudioDevice::rtAudioCallback(void*, void*, unsigned int, double, unsigned int, void*)+143)
6: libRack.dylib(RtApiCore::callbackEvent(unsigned int, AudioBufferList const*, AudioBufferList const*)+335)
5: libRack.dylib(callbackHandler(unsigned int, AudioTimeStamp const*, AudioBufferList const*, AudioTimeStamp const*, AudioBufferList*, AudioTimeStamp const*, void*)+21)
4: CoreAudio(HALC_ProxyIOContext::IOWorkLoop()+7391)
3: CoreAudio(invocation function for block in HALC_ProxyIOContext::HALC_ProxyIOContext(unsigned int, unsigned int)+63)
2: CoreAudio(HALB_IOThread::Entry(void*)+72)
1: libsystem_pthread.dylib(_pthread_start+125)
0: libsystem_pthread.dylib(thread_start+15)

So I tried adding modules one by one and quitting then restarting again and narrowed down the culprit to your ‘Blankpanel | Multiple’ module (black one with silver head logo). If I add that to an otherwise empty patch (other than Audio module) and restart, Rack crashes.

In fact now Rack crashes when I attempt to add that module to a patch (even though I could add it before). When Rack crashes on adding that module I get the following log:

[45.600 info src/app/Browser.cpp:93 chooseModel] Creating module widget LindenbergResearch Blankpanel | Multiple
[45.615 info src/window/Svg.cpp:28 loadFile] Loaded SVG /Users/Steve/Documents/Rack2/plugins/LindenbergResearch/res/panels/ClassicPatina.svg
[45.620 fatal adapters/standalone.cpp:49 fatalSignalHandler] Fatal signal 11. Stack trace:
8: Rack(fatalSignalHandler(int)+27)
7: libsystem_platform.dylib(_sigtramp+29)
6: ???(0x0+0)
5: libRack.dylib(rack::engine::Module::doProcess(rack::engine::Module::ProcessArgs const&)+143)
4: libRack.dylib(rack::engine::Engine::stepBlock(int)+1699)
3: libRack.dylib(rack::engine::Engine_fallbackRun(rack::engine::Engine*)+340)
2: libRack.dylib(void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(rack::engine::Engine*), rack::engine::Engine*> >(void*)+44)
1: libsystem_pthread.dylib(_pthread_start+125)
0: libsystem_pthread.dylib(thread_start+15)

Both PaulPiko’s and my logs show the crash happening after loading ClassicPatina.svg

As a final test I added all your modules except for ‘Blankpanel | Multiple’ (just to check it was the only one causing trouble) and Rack quits then reopens fine.

1 Like

Trying to insert that module from the MB crashes Rack in my case, Win 10 standalone.

Adding the Simple VCF works now :+1:t2: