sIckozell crashes after updating to v2.7.2

It seems that after update to v2.7.2 some modules are crashing Rack. (clocker, sickoLooper)
It can be manually installed the previous version v2.7.1

Sorry for the inconvenience. I’ll check it asap.

Fabio

2 Likes

It’s like someting related to the dr_wav library. Modules crash when loading samples, or maybe when allocating memory.

build v2.7.2 on github seems to work if manually installed.

If it’s noteworthy, I built your dev branch (v2.7.3-beta1) and all seems well here. Should be OK going forward although you are using a pretty old version of dr_wav (from 2018)

1 Like

Since it works with local builds and with builds made by the Github Actions workflow, this is very likely caused by this Rack toolchain issue

This is the stack trace it gives me: (I used a self-compiled Rack build to get it, but it crashes the same way with the official builds)

Stack trace
#0  0x00007ff9a22949e6 in ntdll!RtlWaitOnAddress ()
    from C:\Windows\SYSTEM32\ntdll.dll
#1  0x00007ff9a225fcb4 in ntdll!RtlEnterCriticalSection ()
    from C:\Windows\SYSTEM32\ntdll.dll
#2  0x00007ff9a225fae2 in ntdll!RtlEnterCriticalSection ()
    from C:\Windows\SYSTEM32\ntdll.dll
#3  0x00007ff99fe97f47 in ucrtbase!fread_s ()
    from C:\Windows\System32\ucrtbase.dll
#4  0x00007ff99fe97ee8 in ucrtbase!fread ()
    from C:\Windows\System32\ucrtbase.dll
#5  0x00007ff8f48a906d in plugin!drwav_init ()
    from G:\prog\CPlusPlus\Projects\_VCVPlugins\ZZ_VCVRack\plugins\SickoCV\plugin.dll
#6  0x00007ff8f48affc9 in plugin!drwav_open_and_read_file_f32 ()
    from G:\prog\CPlusPlus\Projects\_VCVPlugins\ZZ_VCVRack\plugins\SickoCV\plugin.dll
#7  0x00007ff8f48ed8b1 in plugin!_ZN17PM8SoloMuteButtonC2Ev ()
    from G:\prog\CPlusPlus\Projects\_VCVPlugins\ZZ_VCVRack\plugins\SickoCV\plugin.dll
#8  0x00007ff8f4b74589 in plugin!_ZNSt17_Function_handlerIFvvEZN18SickoPlayerDisplay17createContextMenuEvEUlvE_E9_M_invokeERKSt9_Any_data ()
    from G:\prog\CPlusPlus\Projects\_VCVPlugins\ZZ_VCVRack\plugins\SickoCV\plugin.dll
#9  0x00007ff8f4bd1089 in plugin!_ZZN4rack14createMenuItemINS_2ui8MenuItemEEEPT_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_St8functionIFvvEEbbEN4Item8onActionERKNS_6widget6Widget11ActionEventE ()
    from G:\prog\CPlusPlus\Projects\_VCVPlugins\ZZ_VCVRack\plugins\SickoCV\plugin.dll
#10 0x00007ff8eb966a85 in rack::ui::MenuItem::doAction (this=0x125d23e0, consume=<optimized out>)
    at src/ui/MenuItem.cpp:93
#11 0x00007ff8eb96db61 in rack::widget::EventState::handleButton (this=0x2a6aeb0, pos=..., button=0, action=0, mods=32)
    at src/widget/event.cpp:238
#12 0x00007ff8eb972f4e in rack::window::mouseButtonCallback (win=<optimized out>, button=0, action=0, mods=32)
    at src/window/Window.cpp:161
#13 0x00007ff8eb9b59da in windowProc (hWnd=0x13a148a, uMsg=514, wParam=<optimized out>, lParam=<optimized out>)
    at G:/prog/CPlusPlus/Projects/_VCVPlugins/ZZ_VCVRack/dep/glfw/src/win32_window.c:813
#14 0x00007ff9a148ef5c in USER32!CallWindowProcW ()
    from C:\Windows\System32\user32.dll
#15 0x00007ff9a148e9de in USER32!CallWindowProcW ()
    from C:\Windows\System32\user32.dll
#16 0x00007ff92a1cf1f0 in glPushClientAttrib ()
    from C:\Windows\SYSTEM32\opengl32.dll
#17 0x00007ff9a148ef5c in USER32!CallWindowProcW ()
    from C:\Windows\System32\user32.dll
#18 0x00007ff9a148e684 in USER32!DispatchMessageW ()
    from C:\Windows\System32\user32.dll
#19 0x00007ff8eb9b8ab3 in _glfwPollEventsWin32 ()
    at G:/prog/CPlusPlus/Projects/_VCVPlugins/ZZ_VCVRack/dep/glfw/src/win32_window.c:1981
#20 0x00007ff8eb973509 in rack::window::Window::step (this=this@entry=0x2b49cd0)
    at src/window/Window.cpp:443
#21 0x00007ff8eb973ed8 in rack::window::Window::run (this=0x2b49cd0)
    at src/window/Window.cpp:421
#22 0x00007ff7f0b92d1a in main (argc=2, argv=0xa07d50)
    at adapters/standalone.cpp:275
2 Likes

Yes, I think it’s that. Opened an issue to solve this problem.

I updated dr_wav library in v2.7.3-beta2

Maybe something is going better

It would be great if @phantombeta could check the stack trace :slight_smile:

I don’t have a way to create a build that reproduces the dr_wav crash, the stack trace I got was using the library build.

If I build against the new toolchain through a fork of your repo (with either the main or dev branches), it crashes in the module browser with the following stack trace:

Stack trace
#0  0x00007ff9a232f353 in ntdll!RtlIsZeroMemory () from C:\Windows\SYSTEM32\ntdll.dll
#1  0x00007ff9a2338112 in ntdll!RtlpNtSetValueKey () from C:\Windows\SYSTEM32\ntdll.dll
#2  0x00007ff9a23383fa in ntdll!RtlpNtSetValueKey () from C:\Windows\SYSTEM32\ntdll.dll
#3  0x00007ff9a233e081 in ntdll!RtlpNtSetValueKey () from C:\Windows\SYSTEM32\ntdll.dll
#4  0x00007ff9a22d7952 in ntdll!memset () from C:\Windows\SYSTEM32\ntdll.dll
#5  0x00007ff9a22547b1 in ntdll!RtlFreeHeap () from C:\Windows\SYSTEM32\ntdll.dll
#6  0x00007ff99fe8f05b in ucrtbase!_free_base () from C:\Windows\System32\ucrtbase.dll
#7  0x00007ff9237a740f in plugin!_ZN12AdMiniWidgetC1EP6AdMini () from G:\prog\CPlusPlus\Projects\_VCVPlugins\ZZ_VCVRack\plugins\SickoCV\plugin.dll
#8  0x00007ff9239eabd4 in plugin!_ZZN4rack11createModelI6AdMini12AdMiniWidgetEEPNS_6plugin5ModelENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEN6TModel18createModuleWidgetEPNS_6engine6ModuleE ()
   from G:\prog\CPlusPlus\Projects\_VCVPlugins\ZZ_VCVRack\plugins\SickoCV\plugin.dll
#9  0x00007ff8ed37d444 in rack::app::browser::ModelBox::createPreview (this=0x29b6980) at src/app/Browser.cpp:207
#10 rack::app::browser::ModelBox::draw (this=0x29b6980, args=...) at src/app/Browser.cpp:219
#11 0x00007ff8ecd414e8 in rack::widget::Widget::drawChild (this=this@entry=0xa57790, child=0x29b6980, args=..., layer=layer@entry=0) at src/widget/Widget.cpp:311
#12 0x00007ff8ecd41602 in rack::widget::Widget::draw (this=0xa57790, args=...) at src/widget/Widget.cpp:280
#13 0x00007ff8ecd414e8 in rack::widget::Widget::drawChild (this=this@entry=0xa92cb0, child=0xa57790, args=..., layer=layer@entry=0) at src/widget/Widget.cpp:311
#14 0x00007ff8ecd41602 in rack::widget::Widget::draw (this=0xa92cb0, args=...) at src/widget/Widget.cpp:280
#15 0x00007ff8ecd414e8 in rack::widget::Widget::drawChild (this=this@entry=0xa934d0, child=0xa92cb0, args=..., layer=layer@entry=0) at src/widget/Widget.cpp:311
#16 0x00007ff8ecd41602 in rack::widget::Widget::draw (this=0xa934d0, args=...) at src/widget/Widget.cpp:280
#17 0x00007ff8ecd414e8 in rack::widget::Widget::drawChild (this=this@entry=0xae4960, child=0xa934d0, args=..., layer=layer@entry=0) at src/widget/Widget.cpp:311
#18 0x00007ff8ecd41602 in rack::widget::Widget::draw (this=this@entry=0xae4960, args=...) at src/widget/Widget.cpp:280
#19 0x00007ff8ecd37fef in rack::ui::ScrollWidget::draw (this=0xae4960, args=...) at src/ui/ScrollWidget.cpp:68
#20 0x00007ff8ecd414e8 in rack::widget::Widget::drawChild (this=this@entry=0x2938840, child=0xae4960, args=..., layer=layer@entry=0) at src/widget/Widget.cpp:311
#21 0x00007ff8ecd41602 in rack::widget::Widget::draw (this=0x2938840, args=...) at src/widget/Widget.cpp:280
#22 0x00007ff8ecd414e8 in rack::widget::Widget::drawChild (this=this@entry=0x2830850, child=0x2938840, args=..., layer=layer@entry=0) at src/widget/Widget.cpp:311
#23 0x00007ff8ecd41602 in rack::widget::Widget::draw (this=0x2830850, args=...) at src/widget/Widget.cpp:280
#24 0x00007ff8ecd414e8 in rack::widget::Widget::drawChild (this=this@entry=0x29802d0, child=0x2830850, args=..., layer=layer@entry=0) at src/widget/Widget.cpp:311
#25 0x00007ff8ecd41602 in rack::widget::Widget::draw (this=0x29802d0, args=...) at src/widget/Widget.cpp:280
#26 0x00007ff8ecd43c16 in rack::window::Window::step (this=this@entry=0x29c7a60) at src/window/Window.cpp:512
#27 0x00007ff8ecd43ed8 in rack::window::Window::run (this=0x29c7a60) at src/window/Window.cpp:421
#28 0x00007ff7f0b92d1a in main (argc=2, argv=0xa07c50) at adapters/standalone.cpp:275

This is consistent with the bug report in the toolchain’s repo.

(builds made with the new toolchain here: dev main)

Yes, updating to v2.7.3 should fix the issue

1 Like

Could you provide a link to that bug? Kudos to the VCV team for figuring this out! I got bit by that this release. I used to get bit by it quite often a few years ago. The “work around”? don’t use the c++ runtime! Super great that they developed a fix for this.

2 Likes

Tx. Yeah, that’s exactly what happened to me years ago.