Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Negative playspeed crashes ardour #2

Closed
nathan-stewart opened this issue Aug 20, 2018 · 1 comment
Closed

Negative playspeed crashes ardour #2

nathan-stewart opened this issue Aug 20, 2018 · 1 comment

Comments

@nathan-stewart
Copy link

If the playback speed slider is pulled to zero or negative, Ardour will crash:

ardour 4bc96f65cd9fee415292ecc59f06a31a3ac87fdb
repitch.lv2 149dc68809df326dbe6fe6fd3435db0252435e2b

Thread 18 "ardour-5.12.0" received signal SIGABRT, Aborted.
[Switching to Thread 0x7f3732d71700 (LWP 13451)]
0x00007f377a3e5428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
54 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 0x00007f377a3e5428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1 0x00007f377a3e702a in __GI_abort () at abort.c:89
#2 0x00007f377ad3784d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3 0x00007f377ad356b6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007f377ad35701 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5 0x00007f377ad35919 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007f377927d90a in RubberBand::Resamplers::D_SRC::resample(float const* const restrict*, float* const restrict*, int, float, bool) () from /usr/lib/x86_64-linux-gnu/librubberband.so.2
#7 0x00007f377927d173 in RubberBand::Resampler::resample(float const* const restrict*, float* const restrict*, int, float, bool) () from /usr/lib/x86_64-linux-gnu/librubberband.so.2
#8 0x00007f3779270f5e in RubberBand::RubberBandStretcher::Impl::consumeChannel(unsigned long, float const* const*, unsigned long, unsigned long, bool) () from /usr/lib/x86_64-linux-gnu/librubberband.so.2
#9 0x00007f3779287bcf in RubberBand::RubberBandStretcher::Impl::process(float const* const*, unsigned long, bool) () from /usr/lib/x86_64-linux-gnu/librubberband.so.2
#10 0x00007f36ff5f9461 in ?? () from /usr/local/lib/lv2/repitch.lv2/repitch.so
#11 0x00007f37823112c5 in lilv_instance_run (instance=0x4099420, sample_count=256) at /usr/include/lilv-0/lilv/lilv.h:1660
#12 0x00007f37823220ee in ARDOUR::LV2Plugin::run (this=0x408ae80, nframes=256, sync_work=false) at ../libs/ardour/lv2_plugin.cc:3088
#13 0x00007f378231fd91 in ARDOUR::LV2Plugin::connect_and_run (this=0x408ae80, bufs=..., start=474801, end=474801, speed=2.2204460492503131e-16, in_map=..., out_map=..., nframes=256, offset=0)
at ../libs/ardour/lv2_plugin.cc:2738
#14 0x00007f37820a01cc in ARDOUR::PluginInsert::connect_and_run (this=0x4089660, bufs=..., start=474801, end=474801, speed=2.2204460492503131e-16, nframes=256, offset=0, with_auto=true)
at ../libs/ardour/plugin_insert.cc:963
#15 0x00007f37820a1eaa in ARDOUR::PluginInsert::automate_and_run (this=0x4089660, bufs=..., start=474801, end=474801, speed=2.2204460492503131e-16, nframes=256) at ../libs/ardour/plugin_insert.cc:1222
#16 0x00007f37820a1bc1 in ARDOUR::PluginInsert::run (this=0x4089660, bufs=..., start_frame=474801, end_frame=474801, speed=2.2204460492503131e-16, nframes=256) at ../libs/ardour/plugin_insert.cc:1184
#17 0x00007f3782132cf4 in ARDOUR::Route::process_output_buffers (this=0x40696f0, bufs=..., start_frame=474801, end_frame=474801, nframes=256, declick=0, gain_automation_ok=true) at ../libs/ardour/route.cc:460
#18 0x00007f3782133dc0 in ARDOUR::Route::passthru (this=0x40696f0, bufs=..., start_frame=474801, end_frame=474801, nframes=256, declick=0) at ../libs/ardour/route.cc:618
#19 0x00007f37821464cc in ARDOUR::Route::roll (this=0x40696f0, nframes=256, start_frame=474801, end_frame=474801, declick=0) at ../libs/ardour/route.cc:3588
#20 0x00007f3781d388e9 in ARDOUR::Graph::process_one_route (this=0x37f6010, route=0x40696f0) at ../libs/ardour/graph.cc:611
#21 0x00007f3781d3e330 in ARDOUR::GraphNode::process (this=0x4069b90) at ../libs/ardour/graphnode.cc:79
#22 0x00007f3781d36c85 in ARDOUR::Graph::run_one (this=0x37f6010) at ../libs/ardour/graph.cc:420
#23 0x00007f3781d36eca in ARDOUR::Graph::helper_thread (this=0x37f6010) at ../libs/ardour/graph.cc:438
#24 0x00007f3781d3da2d in boost::_mfi::mf0<void, ARDOUR::Graph>::operator() (this=0x7f3732d70c58, p=0x37f6010) at /usr/include/boost/bind/mem_fn_template.hpp:49
#25 0x00007f3781d3d146 in boost::_bi::list1<boost::_bi::valueARDOUR::Graph* >::operator()<boost::_mfi::mf0<void, ARDOUR::Graph>, boost::_bi::list0> (this=0x7f3732d70c68, f=..., a=...)
at /usr/include/boost/bind/bind.hpp:253
#26 0x00007f3781d3c5d6 in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::Graph>, boost::_bi::list1<boost::_bi::valueARDOUR::Graph* > >::operator() (this=0x7f3732d70c58)
at /usr/include/boost/bind/bind.hpp:893
#27 0x00007f3781d3bdd0 in boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::Graph>, boost::_bi::list1<boost::_bi::valueARDOUR::Graph* > >, void>::invoke (function_obj_ptr=...) at /usr/include/boost/function/function_template.hpp:159
#28 0x0000000000711e5f in boost::function0::operator() (this=0x7f3732d70c50) at /usr/include/boost/function/function_template.hpp:773
#29 0x00007f375a6fed44 in ARDOUR::JACKAudioBackend::_start_process_thread (arg=0x2897560) at ../libs/backends/jack/jack_audiobackend.cc:936
#30 0x00007f377bb576ba in start_thread (arg=0x7f3732d71700) at pthread_create.c:333
#31 0x00007f377a4b741d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

@x42
Copy link
Owner

x42 commented Aug 20, 2018

This is a bug with Ardour, processing zero samples at non-zero speed.

start=474801, end=474801, speed=2.2204460492503131e-16

Can you double check Ardour > Menu > Help > About? The git revision that you reference does not match line numbers in the backtrace. e.g.

#12 0x00007f37823220ee in ARDOUR::LV2Plugin::run (this=0x408ae80, nframes=256, sync_work=false) at ../libs/ardour/lv2_plugin.cc:3088

You mention ardour 4bc96f65cd9fee415292ecc59f06a31a3ac87fdb but https://github.com/Ardour/ardour/blob/4bc96f65cd9fee415292ecc59f06a31a3ac87fdb/libs/ardour/lv2_plugin.cc#L3088 is an empty line.

It seems you're still running 5.12 or have not re-configured Ardour correctly since.

PS. it's not actually negative speed that is the issue, but the transition near zero from positive to negative.

@x42 x42 closed this as completed in edffa42 Aug 20, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants