kockie69 / SquinkyVCV-main

GNU General Public License v3.0
22 stars 12 forks source link

hookup clock command in sequencers crashes #14

Closed squinkylabs closed 2 years ago

squinkylabs commented 2 years ago

put a Seq++ or 4X4 into a patch put in an Impromptu Clocked or CKD pick the "hookup clock" item from the context menu of a sequencer. --> segmentation fault.

This is very not surprising - it's unsupported VCV stuff.

kockie69 commented 2 years ago

I have never used this module, so maybe I am doing something wrong. But I can't get a segmentation fault. Can you send me a patch that I can test? Or maybe I have fixed it in the meantime as I have done quite some changes....

squinkylabs commented 2 years ago

I'll check again, but I also heard from Impromptu. Are you sure you inserted an impromptu clock before you ran this comment?

squinkylabs commented 2 years ago

still 100% crash for me:

able->outputId]; (gdb) bt

0 rack::app::CableWidget::draw (this=0x1238b4653d0, args=...)

at src/app/CableWidget.cpp:276

1 0x00007ffe0bb7abc4 in rack::widget::Widget::drawChild (

this=this@entry=0x12383f6c210, child=0x1238b4653d0, args=...)
at src/widget/Widget.cpp:286

2 0x00007ffe0bb7acc4 in rack::widget::Widget::draw (

this=this@entry=0x12383f6c210, args=...) at src/widget/Widget.cpp:271

3 0x00007ffe0bfa86b6 in rack::app::CableContainer::draw (

this=0x12383f6c210, args=...) at src/app/RackWidget.cpp:67

4 0x00007ffe0bb7abc4 in rack::widget::Widget::drawChild (

this=this@entry=0x12382082f00, child=0x12383f6c210, args=...)
at src/widget/Widget.cpp:286

5 0x00007ffe0bb7acc4 in rack::widget::Widget::draw (

this=this@entry=0x12382082f00, args=...) at src/widget/Widget.cpp:271

6 0x00007ffe0bb5345a in rack::app::RackWidget::draw (this=0x12382082f00,

args=...) at src/app/RackWidget.cpp:118

7 0x00007ffe0bb7abc4 in rack::widget::Widget::drawChild (

this=this@entry=0x12382082e30, child=0x12382082f00, args=...)
at src/widget/Widget.cpp:286

8 0x00007ffe0bb7acc4 in rack::widget::Widget::draw (this=0x12382082e30,

args=...) at src/widget/Widget.cpp:271

9 0x00007ffe0bb7ae72 in rack::widget::ZoomWidget::draw (this=0x12382082e30,

args=...) at src/widget/ZoomWidget.cpp:49

10 0x00007ffe0bb7abc4 in rack::widget::Widget::drawChild (

this=this@entry=0x12382082b50, child=0x12382082e30, args=...)
at src/widget/Widget.cpp:286

11 0x00007ffe0bb7acc4 in rack::widget::Widget::draw (this=0x12382082b50,

args=...) at src/widget/Widget.cpp:271

12 0x00007ffe0bb7abc4 in rack::widget::Widget::drawChild (

this=this@entry=0x12382082a40, child=0x12382082b50, args=...)
at src/widget/Widget.cpp:286

13 0x00007ffe0bb7acc4 in rack::widget::Widget::draw (

this=this@entry=0x12382082a40, args=...) at src/widget/Widget.cpp:271

14 0x00007ffe0bb73bd2 in rack::ui::ScrollWidget::draw (this=0x12382082a40,

args=...) at src/ui/ScrollWidget.cpp:68

15 0x00007ffe0bb7abc4 in rack::widget::Widget::drawChild (

this=this@entry=0x12382082990, child=0x12382082a40, args=...)
at src/widget/Widget.cpp:286

16 0x00007ffe0bb7acc4 in rack::widget::Widget::draw (this=0x12382082990,

args=...) at src/widget/Widget.cpp:271

17 0x00007ffe0bb7edc0 in rack::window::Window::step (

this=this@entry=0x12383f94f00) at src/window/Window.cpp:487

18 0x00007ffe0bb7ef4e in rack::window::Window::run (this=0x12383f94f00)

at src/window/Window.cpp:393

19 0x00007ff67ba8114f in main (argc=, argv=)

at adapters/standalone.cpp:230
squinkylabs commented 2 years ago

btw, you don't need to add any notes are do anything fancy, I don't think. Just put the two modules in a patch and run the command.

kockie69 commented 2 years ago

I didn't use impromptu , as I don't have it in V2. So I checked with my own clock. What makes it so special that it crashes with the impromptu clock?

squinkylabs commented 2 years ago

The feature itself looks for an impromptu clock specifically. It does nothing at all if not found. If it is found it does a lot of stuff (that's in the manual). It patches three cables, and goes inside the clocks and sets it to something the seq likes. it also get the run buttons toggled into the right state so the clock agrees with the seq. You can build impromptu modules for v2.

kockie69 commented 2 years ago

I looked at this one in more detail now. If I understand correctly this functionality is not needed to keep supporting older patches. This is only to support and ease the creation of new patches. So I will remove this option from the context menu for now and update the manual to mention it will be implemented again in the future. I will move it back to my to do list

squinkylabs commented 2 years ago

yes, for sure it is just a convenience for new patches, not needed for loading old ones. Removing it is a good solution, I think.

kockie69 commented 2 years ago

This is fixed in v2.0.7

squinkylabs commented 2 years ago

nice!