bokontep / ByteBeatMachine

ByteBeatMachine plugin for VCV Rack 1.x
Other
3 stars 1 forks source link

Module browser crash #1

Open cschol opened 4 years ago

cschol commented 4 years ago

In Rack v1, when opening Module browser:

Core was generated by `./Rack -u /home/cschol/src/Rack-1.0-Home '.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  BokontepTextField::setModule (module=0x0, this=<optimized out>) at src/ModuleByteBeatMachine.cpp:166
166                                     m_module->textField = this;
[Current thread is 1 (Thread 0x7f2540591180 (LWP 25423))]
(gdb) bt
#0  0x00007f2533c0b99a in BokontepTextField::setModule(ModuleByteBeatMachine*) (module=0x0, this=<optimized out>) at src/ModuleByteBeatMachine.cpp:166
#1  0x00007f2533c0b99a in ModuleByteBeatMachineWidget::ModuleByteBeatMachineWidget(ModuleByteBeatMachine*) (this=0x5597043fd1f0, module=0x0) at src/ModuleByteBeatMachine.cpp:210
#2  0x00007f2533c0c046 in rack::plugin::Model* rack::createModel<ModuleByteBeatMachine, ModuleByteBeatMachineWidget>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::TModel::createModuleWidgetNull() (this=0x559703862080)
    at /home/cschol/src/Rack-SDK/Rack-SDK/include/helpers.hpp:35
#3  0x00005597025a270a in rack::app::ModelBox::createPreview() (this=0x559703e0bfc0) at src/app/ModuleBrowser.cpp:177
#4  0x00005597025a270a in rack::app::ModelBox::draw(rack::widget::Widget::DrawArgs const&) (this=0x559703e0bfc0, args=...) at src/app/ModuleBrowser.cpp:206
#5  0x00005597025bdde9 in rack::widget::Widget::draw(rack::widget::Widget::DrawArgs const&) (this=0x559703cba020, args=...) at src/widget/Widget.cpp:174
#6  0x00005597025bdde9 in rack::widget::Widget::draw(rack::widget::Widget::DrawArgs const&) (this=0x559703cb6bf0, args=...) at src/widget/Widget.cpp:174
#7  0x00005597025bdde9 in rack::widget::Widget::draw(rack::widget::Widget::DrawArgs const&) (this=0x559703cb6b50, args=...) at src/widget/Widget.cpp:174
#8  0x00005597025bdde9 in rack::widget::Widget::draw(rack::widget::Widget::DrawArgs const&) (this=this@entry=0x559703cb9f10, args=...) at src/widget/Widget.cpp:174
#9  0x000055970257c9ad in rack::ui::ScrollWidget::draw(rack::widget::Widget::DrawArgs const&) (this=0x559703cb9f10, args=...) at src/ui/ScrollWidget.cpp:31
#10 0x00005597025bdde9 in rack::widget::Widget::draw(rack::widget::Widget::DrawArgs const&) (this=0x559703cbefc0, args=...) at src/widget/Widget.cpp:174
#11 0x00005597025bdde9 in rack::widget::Widget::draw(rack::widget::Widget::DrawArgs const&) (this=0x559703cb64f0, args=...) at src/widget/Widget.cpp:174
#12 0x00005597025bdde9 in rack::widget::Widget::draw(rack::widget::Widget::DrawArgs const&) (this=0x559703861a10, args=...) at src/widget/Widget.cpp:174
#13 0x000055970256b5cd in rack::Window::run() (this=0x55970389dea0) at src/window.cpp:385
#14 0x00005597024e4635 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at src/main.cpp:186

This probably means that the module does not handle a nullptr for module gracefully.

See section 1.9 in https://vcvrack.com/manual/Migrate1.html.

Coirt commented 4 years ago

Someone on community reported a crash. Had a crash also when I searched "B"

https://community.vcvrack.com/t/plugin-crashes-vcv/4741/3

rubyglow commented 4 years ago

After ticking off bytebeatmachine and updating all plugins today, I also get a complete Rack crash 3 out of 4 times when I open the module browser and scroll down a bit. Removing bytebeatmachine fixes the issue completely. MacOS 10.12.6 (Sierra).

Coirt commented 4 years ago

@cschol this is very similar to an issue yourself and myself reported before v1 was released. I can't remember which repo but it had to do with "timing" if you remember that one.

cschol commented 4 years ago

Yes. The module does not handle the NULL passed to it gracefully when displayed in the plugin manager. RJModules had a similar problem.