AriaSalvatrice / AriaModules

Aria Salvatrice's Signature Series - Cool and Nice virtual synthesizer modules
https://aria.dog/modules/
GNU General Public License v3.0
61 stars 14 forks source link

Crash on VCVRack Exit. #29

Closed Chaircrusher closed 4 years ago

Chaircrusher commented 4 years ago

I ran into this yesterday on Linux. I think it's a relatively easy fix because it's simply freeing the same memory twice. I'll build a version with debugging turned on and maybe I can suggest a patch.

Error in `./Rack': double free or corruption (out): 0x0000000002b7e880 ======= Backtrace: ========= /lib64/libc.so.6(+0x81679)[0x7fb79f461679] ./Rack(rack::engine::Module::~Module()+0x56)[0x5bb4c6] /home/kwilliams/.Rack/plugins-v1/AriaSalvatrice/plugin.so(Darius::~Darius()+0x17)[0x7fb79289ca01] ./Rack(rack::app::ModuleWidget::~ModuleWidget()+0x1f)[0x5a285f] /home/kwilliams/.Rack/plugins-v1/AriaSalvatrice/plugin.so(DariusWidget::~DariusWidget()+0x17)[0x7fb79289c931] ./Rack(rack::app::RackWidget::clear()+0x1b1)[0x5ac923] ./Rack(rack::app::RackWidget::~RackWidget()+0x19)[0x5ae80f] ./Rack(rack::widget::Widget::clearChildren()+0x11d)[0x5b556d] ./Rack(rack::widget::Widget::~Widget()+0x1c)[0x5b5594] ./Rack(rack::widget::ZoomWidget::~ZoomWidget()+0x10)[0x5b48a2] ./Rack(rack::widget::Widget::clearChildren()+0x11d)[0x5b556d] ./Rack(rack::widget::Widget::clearChildren()+0x91)[0x5b54e1] ./Rack(rack::widget::Widget::~Widget()+0x1c)[0x5b5594] ./Rack(rack::app::RackScrollWidget::~RackScrollWidget()+0x10)[0x5b1020] ./Rack(rack::widget::Widget::clearChildren()+0x11d)[0x5b556d] ./Rack(rack::widget::Widget::~Widget()+0x1c)[0x5b5594] ./Rack(rack::app::Scene::~Scene()+0x2f)[0x5a7b1f] ./Rack(rack::App::~App()+0x18)[0x56efd4] ./Rack(rack::appDestroy()+0x15)[0x56f0d1] ./Rack(main+0x509)[0x4e6359] /lib64/libc.so.6(__libc_start_main+0xf5)[0x7fb79f402505] ./Rack(_start+0x29)[0x4eb1f9]

AriaSalvatrice commented 4 years ago

Can't manage to reproduce this on Ubuntu Studio in a VM.

Chaircrusher commented 4 years ago

@AriaSalvatrice maybe you fixed it without noticing!

PS It never hurts run Rack under valgrind on Linux - it's slow as frozen snot, but it's usable if you turn the sound down, and it can alert you to all sorts of memory problems.

AriaSalvatrice commented 4 years ago

The code changed a ton since the report and the crash hasn't been reproduced, so I'll tentatively close this.

xaviershay commented 4 years ago

For future travelers, I was dealing with a similar issue in a different module and documented my trials here: https://github.com/xaviershay/vitamin-vcv-modules/issues/1#issuecomment-646888507 (tl;dr assertions on array indices are good)