View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0007036 | ardour | bugs | public | 2016-09-19 00:22 | 2016-09-22 12:23 |
Reporter | anemal | Assigned To | |||
Priority | high | Severity | crash | Reproducibility | always |
Status | confirmed | Resolution | open | ||
Platform | x86_64 | OS | Gentoo | OS Version | 13.0 |
Product Version | 5.3 | ||||
Summary | 0007036: "Remove last capture" causes ardour to freeze | ||||
Description | "Remove last capture" opens the confirmation dialog. On clicking "yes" causes ardour to freeze. The confirmation dialog is still visible. However, ardour can immediately be killed with SIGTERM. After recovering from crash, the recorded region is still there. | ||||
Steps To Reproduce | 1. Record something 2. Choose "Remove last capture" from the menu or press appropriate key binding. 3. Click on "yes" | ||||
Tags | No tags attached. | ||||
|
I can't reproduce this with 5.3(official linux 32-bit build) or 5.3.138 build. Are you using an official build from ardour.org? Is there anything else that you think might be relevant to reproduce this issue? I was using 10 or so tracks and recording for a few minutes, then stopping the transport and selecting remove last capture from the menu and it is always successful here(unless transport is rolling) |
|
Since I'm on Gentoo Ardour is built from source. The exact version is 5.3.0 downloaded from (http://fossies.org/linux/misc/Ardour-5.3.0.tar.bz2) It is built for 64bit with the cpuflags x86_3dnow, x86_mmx and x86_sse. I tried to study the output of ardour in the console, when the freeze occurs. However, there is no message. But I found that it is somehow related to the session I was using: I created a new empty session and in this new session, the error did not occur. Even after loading some of the same plugins as in the old session, there was no error. However, in the old session it freezes again. Then, in this old session I deleted all plugins. There was nothing left except of the tracks, busses and regions. But still it froze after removing the last capture. Does it help to provide the *.ardour file? Here is the full dependency graph: * dependency graph for media-sound/ardour-5.3 `-- media-sound/ardour-5.3 ~amd64 `-- dev-cpp/glibmm-2.46.4 (>=dev-cpp/glibmm-2.32.0) amd64 `-- dev-cpp/gtkmm-2.24.4-r3 (>=dev-cpp/gtkmm-2.16) amd64 `-- dev-cpp/libgnomecanvasmm-2.26.0-r1 (>=dev-cpp/libgnomecanvasmm-2.26) amd64 `-- dev-libs/boost-1.56.0-r1 (dev-libs/boost) amd64 `-- dev-libs/glib-2.46.2-r3 (>=dev-libs/glib-2.10.1) amd64 `-- dev-libs/libsigc++-2.6.2 (dev-libs/libsigc++) amd64 `-- dev-libs/libxml2-2.9.4 (>=dev-libs/libxml2-2.6) amd64 `-- dev-libs/libxslt-1.1.29 (dev-libs/libxslt) amd64 `-- gnome-base/libgnomecanvas-2.30.3-r1 (>=gnome-base/libgnomecanvas-2) amd64 `-- media-libs/alsa-lib-1.1.2 (media-libs/alsa-lib) ~amd64 `-- media-libs/aubio-0.4.1 (media-libs/aubio) amd64 `-- media-libs/flac-1.3.1-r1 (media-libs/flac) amd64 `-- media-libs/freetype-2.6.3-r1 (media-libs/freetype) amd64 `-- media-libs/libart_lgpl-2.3.21-r2 (media-libs/libart_lgpl) amd64 `-- media-libs/liblo-0.28 (media-libs/liblo) ~amd64 `-- media-libs/liblrdf-0.5.0 (>=media-libs/liblrdf-0.4.0-r20) amd64 `-- media-libs/libsamplerate-0.1.8-r1 (>=media-libs/libsamplerate-0.1) amd64 `-- media-libs/libsndfile-1.0.26 (>=media-libs/libsndfile-1.0.18) amd64 `-- media-libs/libsoundtouch-1.9.2 (>=media-libs/libsoundtouch-1.6.0) ~amd64 `-- media-libs/raptor-2.0.14 (media-libs/raptor) amd64 `-- media-libs/rubberband-1.8.1-r1 (>=media-libs/rubberband-1.6.0) ~amd64 `-- media-libs/taglib-1.9.1-r2 (>=media-libs/taglib-1.7) amd64 `-- media-libs/vamp-plugin-sdk-2.6-r1 (media-libs/vamp-plugin-sdk) ~amd64 `-- net-misc/curl-7.50.3 (net-misc/curl) amd64 `-- sci-libs/fftw-3.3.4 (sci-libs/fftw) amd64 [threads] `-- virtual/libusb-0-r2 (virtual/libusb) amd64 `-- x11-libs/cairo-1.14.6 (x11-libs/cairo) amd64 `-- x11-libs/gtk+-2.24.30 (>=x11-libs/gtk+-2.8.1) amd64 `-- x11-libs/pango-1.38.1 (x11-libs/pango) amd64 `-- virtual/jack-0 (virtual/jack) amd64 `-- media-libs/slv2-0.6.6 (>=media-libs/slv2-0.6.1) amd64 `-- media-libs/lilv-0.22.0 (media-libs/lilv) ~amd64 `-- media-libs/sratom-0.4.6 (media-libs/sratom) amd64 `-- dev-libs/sord-0.14.0 (dev-libs/sord) ~amd64 `-- media-libs/suil-0.8.2 (>=media-libs/suil-0.6.10) ~amd64 `-- media-libs/lv2-1.12.0 (>=media-libs/lv2-1.4.0) ~amd64 `-- dev-lang/python-2.7.10-r1 (>=dev-lang/python-2.7.5-r2) amd64 [threads(+)] `-- media-sound/jack-audio-connection-kit-0.121.3-r1 (>=media-sound/jack-audio-connection-kit-0.120) amd64 `-- sys-devel/gettext-0.19.7 (sys-devel/gettext) amd64 `-- virtual/pkgconfig-0-r1 (virtual/pkgconfig) amd64 `-- app-doc/doxygen-1.8.11-r2 (app-doc/doxygen) amd64 [dot] |
|
Can you please try to reproduce the issue with a nightly build from nightly.ardour.org to eliminate the possibility that it is an issue with your build. If you are still able to reproduce with a nightly build then yes, please attach the session file to this report so we can try to reproduce it. |
|
|
|
With the nightly build, after loading the session, the audio backend immediately zombifies. I uploaded the mysongname.ardour file. For anonymity reasons I changed the variable name in line 2 and the path of my home directory. |
|
I can reproduce this issue using the Session you have attached with official 5.3 version(linux 32 bit) and a build of 5.3.139 On both Fedora 21 and AV Linux(2016.8.30 64-bit) There are multi-threading issues with at least one of the plugins used in this Session(gx_amp.so) and I had to disable all plugins to even get the Session to open consistently. It looks like the version of FFTW you are using(3.3.4) is not thread safe: http://www.fftw.org/doc/Thread-safety.html so it would not surprise me if you had issues with other plugins that use that library. But in saying that, I can reproduce the issue with Remove last capture after disabling all plugins. Ardour seems to be caught in some sort of endless loop as even after 10 minutes it didn't complete the Remove last capture operation. I'm attaching a backtrace after sending a SIGINT in gdb while ardour is "frozen", perhaps a developer with more experience in that part of the code will see the issue. |
|
ardour-5.3.139-bug7036-bt.txt (34,626 bytes)
[Thread 0x921d0b40 (LWP 1612) exited] [Thread 0xa7b0bb40 (LWP 1600) exited] actually writing state to /home/timbyr/ardour-test-sessions/test-5.3-bug7036/mysongname.tmp renaming state to /home/timbyr/ardour-test-sessions/test-5.3-bug7036/mysongname.pending saved state in 870.5 ms actually writing state to /home/timbyr/ardour-test-sessions/test-5.3-bug7036/mysongname.tmp renaming state to /home/timbyr/ardour-test-sessions/test-5.3-bug7036/mysongname.ardour saved state in 769.2 ms ^Ccaught signal - shutting down. Program received signal SIGINT, Interrupt. 0xb7567691 in boost::shared_ptr<ARDOUR::PlaylistSource>::~shared_ptr (this=0xbfffc360, __in_chrg=<optimized out>) at /usr/include/boost/smart_ptr/shared_ptr.hpp:328 328 template<class T> class shared_ptr (gdb) t a a bt Thread 39 (Thread 0xa830cb40 (LWP 1611)): #0 0xffffffff in __kernel_vsyscall () #1 0xffffffff in syscall () at ../sysdeps/unix/sysv/linux/i386/syscall.S:29 #2 0xffffffff in g_cond_wait () at /lib/libglib-2.0.so.0 #3 0xffffffff in Glib::Threads::Cond::wait(Glib::Threads::Mutex&) () at /lib/libglibmm-2.4.so.1 #4 0xffffffff in ArdourCanvas::WaveView::drawing_thread() () at ../libs/canvas/wave_view.cc:1565 #5 0x08923759 in sigc::pointer_functor0<void>::operator()() const (this=0xc5c59e4) at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:77 #6 0x089211d0 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator()() const (this=0xc5c59e0) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:256 #7 0x0891e370 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it(sigc::internal::slot_rep*) (rep=0xc5c59c8) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103 #8 0xffffffff in call_thread_entry_slot () at /lib/libglibmm-2.4.so.1 #9 0xffffffff in g_thread_proxy () at /lib/libglib-2.0.so.0 #10 0xffffffff in start_thread (arg=0xa830cb40) at pthread_create.c:310 #11 0xffffffff in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122 Thread 38 (Thread 0xac2ffb40 (LWP 1610)): #0 0xffffffff in __kernel_vsyscall () #1 0xffffffff in nanosleep () at ../sysdeps/unix/syscall-template.S:81 #2 0xffffffff in g_usleep () at /lib/libglib-2.0.so.0 #3 0xffffffff in Glib::usleep(unsigned long) () at /lib/libglibmm-2.4.so.1 #4 0xffffffff in ARDOUR::AutomationWatch::thread() (this=0xc18a0e0) at ../libs/ardour/automation_watch.cc:153 #5 0xffffffff in boost::_mfi::mf0<void, ARDOUR::AutomationWatch>::operator()(ARDOUR::AutomationWatch*) const (this=0xb1d0f30, p=0xc18a0e0) at /usr/include/boost/bind/mem_fn_template.hpp:49 #6 0xffffffff in boost::_bi::list1<boost::_bi::value<ARDOUR::AutomationWatch*> >::operator()<boost::_mfi::mf0<void, ARDOUR::AutomationWatch>, boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf0<void, ARDOUR::AutomationWatch>&, boost::_bi::list0&, int) (this=0xb1d0f38, f=..., a=...) at /usr/include/boost/bind/bind.hpp:253 #7 0xffffffff in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AutomationWatch>, boost::_bi::list1<boost::_bi::value<ARDOUR::AutomationWatch*> > >::operator()() (this=0xb1d0f30) at /usr/include/boost/bind/bind_template.hpp:20 #8 0xffffffff in sigc::adaptor_functor<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AutomationWatch>, boost::_bi::list1<boost::_bi::value<ARDOUR::AutomationWatch*> > > >::operator()() const (this=0xb1d0f30) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:256 #9 0xffffffff in sigc::internal::slot_call0<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AutomationWatch>, boost::_bi::list1<boost::_bi::value<ARDOUR::AutomationWatch*> > >, void>::call_it(sigc::internal::slot_rep*) (rep=0xb1d0f18) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103 #10 0xffffffff in call_thread_entry_slot () at /lib/libglibmm-2.4.so.1 #11 0xffffffff in g_thread_proxy () at /lib/libglib-2.0.so.0 #12 0xffffffff in start_thread (arg=0xac2ffb40) at pthread_create.c:310 #13 0xffffffff in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122 Thread 37 (Thread 0xab244b40 (LWP 1609)): #0 0xffffffff in __kernel_vsyscall () #1 0xffffffff in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S:187 #2 0xffffffff in ARDOUR::Session::auto_connect_thread_run() (this=0xa8bff78) at ../libs/ardour/session.cc:7060 #3 0xffffffff in ARDOUR::Session::auto_connect_thread(void*) (arg=0xa8bff78) at ../libs/ardour/session.cc:7014 #4 0xffffffff in start_thread (arg=0xab244b40) at pthread_create.c:310 #5 0xffffffff in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122 Thread 36 (Thread 0xaaa43b40 (LWP 1608)): #0 0xffffffff in __kernel_vsyscall () #1 0xffffffff in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S:187 #2 0xffffffff in ARDOUR::Session::emit_thread_run() (this=0xa8bff78) at ../libs/ardour/session_process.cc:1316 #3 0xffffffff in ARDOUR::Session::emit_thread(void*) (arg=0xa8bff78) at ../libs/ardour/session_process.cc:1305 #4 0xffffffff in start_thread (arg=0xaaa43b40) at pthread_create.c:310 #5 0xffffffff in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122 Thread 34 (Thread 0xa6220b40 (LWP 1606)): #0 0xffffffff in __kernel_vsyscall () ---Type <return> to continue, or q <return> to quit--- #1 0xffffffff in poll () at ../sysdeps/unix/syscall-template.S:81 #2 0xffffffff in g_poll () at /lib/libglib-2.0.so.0 #3 0xffffffff in g_main_context_iterate.isra () at /lib/libglib-2.0.so.0 #4 0xffffffff in g_main_loop_run () at /lib/libglib-2.0.so.0 #5 0xffffffff in Glib::MainLoop::run() () at /lib/libglibmm-2.4.so.1 #6 0xffffffff in BaseUI::main_thread() (this=0xd72e1f0) at ../libs/pbd/base_ui.cc:86 #7 0xffffffff in sigc::bound_mem_functor0<void, BaseUI>::operator()() const (this=0xd72e594) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787 #8 0xffffffff in sigc::adaptor_functor<sigc::bound_mem_functor0<void, BaseUI> >::operator()() const (this=0xd72e590) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:256 #9 0xffffffff in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, BaseUI>, void>::call_it(sigc::internal::slot_rep*) (rep=0xd72e578) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103 #10 0xffffffff in call_thread_entry_slot () at /lib/libglibmm-2.4.so.1 #11 0xffffffff in g_thread_proxy () at /lib/libglib-2.0.so.0 #12 0xffffffff in start_thread (arg=0xa6220b40) at pthread_create.c:310 #13 0xffffffff in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122 Thread 33 (Thread 0xa631fc40 (LWP 1605)): #0 0xffffffff in __kernel_vsyscall () #1 0xffffffff in poll () at ../sysdeps/unix/syscall-template.S:81 #2 0xffffffff in CrossThreadChannel::poll_for_request() (this=0x94abff0) at ../libs/pbd/crossthread.posix.cc:75 #3 0xffffffff in CrossThreadChannel::receive(char&, bool) (this=0x94abff0, msg=@0xa631eeaf: 0 '\000', wait=true) at ../libs/pbd/crossthread.posix.cc:96 #4 0xffffffff in ARDOUR::Butler::thread_work() (this=0x94abf88) at ../libs/ardour/butler.cc:175 #5 0xffffffff in ARDOUR::Butler::_thread_work(void*) (arg=0x94abf88) at ../libs/ardour/butler.cc:156 #6 0xffffffff in fake_thread_start(void*) (arg=0xd72e040) at ../libs/pbd/pthread_utils.cc:101 #7 0xffffffff in start_thread (arg=0xa631fc40) at pthread_create.c:310 #8 0xffffffff in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122 Thread 32 (Thread 0xa6ad71c0 (LWP 1604)): #0 0xffffffff in __kernel_vsyscall () #1 0xffffffff in sem_wait@@GLIBC_2.1 () at ../sysdeps/unix/sysv/linux/i386/i486/sem_wait.S:79 #2 0xffffffff in PBD::Semaphore::wait() (this=0xc8a8898) at /home/timbyr/Data/devel/ardour/ardour-build-scripts/BUILD/master-debug-tests/libs/pbd/pbd/semutils.h:61 #3 0xffffffff in ARDOUR::Graph::restart_cycle() (this=0xc8a8828) at ../libs/ardour/graph.cc:261 #4 0xffffffff in ARDOUR::Graph::dec_ref() (this=0xc8a8828) at ../libs/ardour/graph.cc:248 #5 0xffffffff in ARDOUR::GraphNode::finish(int) (this=0xf786014, chain=1) at ../libs/ardour/graphnode.cc:71 #6 0xffffffff in ARDOUR::Graph::run_one() (this=0xc8a8828) at ../libs/ardour/graph.cc:401 #7 0xffffffff in ARDOUR::Graph::helper_thread() (this=0xc8a8828) at ../libs/ardour/graph.cc:418 #8 0xffffffff in boost::_mfi::mf0<void, ARDOUR::Graph>::operator()(ARDOUR::Graph*) const (this=0xa6ad6790, p=0xc8a8828) at /usr/include/boost/bind/mem_fn_template.hpp:49 #9 0xffffffff in boost::_bi::list1<boost::_bi::value<ARDOUR::Graph*> >::operator()<boost::_mfi::mf0<void, ARDOUR::Graph>, boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf0<void, ARDOUR::Graph>&, boost::_bi::list0&, int) (this=0xa6ad6798, f=..., a=...) at /usr/include/boost/bind/bind.hpp:253 #10 0xffffffff in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::Graph>, boost::_bi::list1<boost::_bi::value<ARDOUR::Graph*> > >::operator()() (this=0xa6ad6790) at /usr/include/boost/bind/bind_template.hpp:20 #11 0xffffffff in boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::Graph>, boost::_bi::list1<boost::_bi::value<ARDOUR::Graph*> > >, void>::invoke(boost::detail::function::function_buffer&) (function_obj_ptr=...) at /usr/include/boost/function/function_template.hpp:153 #12 0x082c9853 in boost::function0<void>::operator()() const (this=0xa6ad678c) at /usr/include/boost/function/function_template.hpp:767 #13 0xffffffff in ARDOUR::AlsaAudioBackend::alsa_process_thread(void*) (arg=0xc8b0ae0) at ../libs/backends/alsa/alsa_audiobackend.cc:1109 #14 0xffffffff in start_thread (arg=0xa6ad71c0) at pthread_create.c:310 #15 0xffffffff in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122 Thread 31 (Thread 0xa6af01c0 (LWP 1603)): #0 0xffffffff in __kernel_vsyscall () #1 0xffffffff in sem_wait@@GLIBC_2.1 () at ../sysdeps/unix/sysv/linux/i386/i486/sem_wait.S:79 #2 0xffffffff in PBD::Semaphore::wait() (this=0xc8a8888) at /home/timbyr/Data/devel/ardour/ardour-build-scripts/BUILD/master-debug-tests/libs/pbd/pbd/semutils.h:61 #3 0xffffffff in ARDOUR::Graph::run_one() (this=0xc8a8828) at ../libs/ardour/graph.cc:387 #4 0xffffffff in ARDOUR::Graph::helper_thread() (this=0xc8a8828) at ../libs/ardour/graph.cc:418 #5 0xffffffff in boost::_mfi::mf0<void, ARDOUR::Graph>::operator()(ARDOUR::Graph*) const (this=0xa6aef790, p=0xc8a8828) at /usr/include/boost/bind/mem_fn_template.hpp:49 ---Type <return> to continue, or q <return> to quit--- #6 0xffffffff in boost::_bi::list1<boost::_bi::value<ARDOUR::Graph*> >::operator()<boost::_mfi::mf0<void, ARDOUR::Graph>, boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf0<void, ARDOUR::Graph>&, boost::_bi::list0&, int) (this=0xa6aef798, f=..., a=...) at /usr/include/boost/bind/bind.hpp:253 #7 0xffffffff in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::Graph>, boost::_bi::list1<boost::_bi::value<ARDOUR::Graph*> > >::operator()() (this=0xa6aef790) at /usr/include/boost/bind/bind_template.hpp:20 #8 0xffffffff in boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::Graph>, boost::_bi::list1<boost::_bi::value<ARDOUR::Graph*> > >, void>::invoke(boost::detail::function::function_buffer&) (function_obj_ptr=...) at /usr/include/boost/function/function_template.hpp:153 #9 0x082c9853 in boost::function0<void>::operator()() const (this=0xa6aef78c) at /usr/include/boost/function/function_template.hpp:767 #10 0xffffffff in ARDOUR::AlsaAudioBackend::alsa_process_thread(void*) (arg=0xc8b0ae0) at ../libs/backends/alsa/alsa_audiobackend.cc:1109 #11 0xffffffff in start_thread (arg=0xa6af01c0) at pthread_create.c:310 #12 0xffffffff in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122 Thread 30 (Thread 0xa6b091c0 (LWP 1602)): #0 0xffffffff in __kernel_vsyscall () #1 0xffffffff in sem_wait@@GLIBC_2.1 () at ../sysdeps/unix/sysv/linux/i386/i486/sem_wait.S:79 #2 0xffffffff in PBD::Semaphore::wait() (this=0xc8a8888) at /home/timbyr/Data/devel/ardour/ardour-build-scripts/BUILD/master-debug-tests/libs/pbd/pbd/semutils.h:61 #3 0xffffffff in ARDOUR::Graph::run_one() (this=0xc8a8828) at ../libs/ardour/graph.cc:387 #4 0xffffffff in ARDOUR::Graph::main_thread() (this=0xc8a8828) at ../libs/ardour/graph.cc:457 #5 0xffffffff in boost::_mfi::mf0<void, ARDOUR::Graph>::operator()(ARDOUR::Graph*) const (this=0xa6b08790, p=0xc8a8828) at /usr/include/boost/bind/mem_fn_template.hpp:49 #6 0xffffffff in boost::_bi::list1<boost::_bi::value<ARDOUR::Graph*> >::operator()<boost::_mfi::mf0<void, ARDOUR::Graph>, boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf0<void, ARDOUR::Graph>&, boost::_bi::list0&, int) (this=0xa6b08798, f=..., a=...) at /usr/include/boost/bind/bind.hpp:253 #7 0xffffffff in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::Graph>, boost::_bi::list1<boost::_bi::value<ARDOUR::Graph*> > >::operator()() (this=0xa6b08790) at /usr/include/boost/bind/bind_template.hpp:20 #8 0xffffffff in boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::Graph>, boost::_bi::list1<boost::_bi::value<ARDOUR::Graph*> > >, void>::invoke(boost::detail::function::function_buffer&) (function_obj_ptr=...) at /usr/include/boost/function/function_template.hpp:153 #9 0x082c9853 in boost::function0<void>::operator()() const (this=0xa6b0878c) at /usr/include/boost/function/function_template.hpp:767 #10 0xffffffff in ARDOUR::AlsaAudioBackend::alsa_process_thread(void*) (arg=0xc8a6d40) at ../libs/backends/alsa/alsa_audiobackend.cc:1109 #11 0xffffffff in start_thread (arg=0xa6b091c0) at pthread_create.c:310 #12 0xffffffff in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122 Thread 20 (Thread 0xac4221c0 (LWP 1592)): #0 0xffffffff in __kernel_vsyscall () #1 0xffffffff in __GI_ppoll (fds=0xc777368, nfds=2, timeout=0xac4215a8, sigmask=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:56 #2 0xffffffff in Alsa_pcmi::pcm_wait() (this=0xc777308) at ../libs/backends/alsa/zita-alsa-pcmi.cc:178 #3 0xffffffff in ARDOUR::AlsaAudioBackend::main_process_thread() (this=0x95a2e28) at ../libs/backends/alsa/alsa_audiobackend.cc:1890 #4 0xffffffff in pthread_process(void*) (arg=0x95a2e28) at ../libs/backends/alsa/alsa_audiobackend.cc:794 #5 0xffffffff in start_thread (arg=0xac4221c0) at pthread_create.c:310 #6 0xffffffff in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122 Thread 19 (Thread 0xabafeb40 (LWP 1591)): #0 0xffffffff in __kernel_vsyscall () #1 0xffffffff in select () at ../sysdeps/unix/syscall-template.S:81 #2 0xffffffff in PBD::SystemExec::output_interposer() (this=0xc771f98) at ../libs/pbd/system_exec.cc:926 #3 0xffffffff in interposer_thread(void*) (arg=0xc771f98) at ../libs/pbd/system_exec.cc:333 #4 0xffffffff in start_thread (arg=0xabafeb40) at pthread_create.c:310 #5 0xffffffff in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122 Thread 9 (Thread 0xaccffb40 (LWP 1574)): #0 0xffffffff in __kernel_vsyscall () #1 0xffffffff in poll () at ../sysdeps/unix/syscall-template.S:81 #2 0xffffffff in g_poll () at /lib/libglib-2.0.so.0 #3 0xffffffff in g_main_context_iterate.isra () at /lib/libglib-2.0.so.0 #4 0xffffffff in g_main_context_iteration () at /lib/libglib-2.0.so.0 #5 0xffffffff in glib_worker_main () at /lib/libglib-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #6 0xffffffff in g_thread_proxy () at /lib/libglib-2.0.so.0 #7 0xffffffff in start_thread (arg=0xaccffb40) at pthread_create.c:310 #8 0xffffffff in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122 Thread 8 (Thread 0xad650b40 (LWP 1573)): #0 0xffffffff in __kernel_vsyscall () #1 0xffffffff in poll () at ../sysdeps/unix/syscall-template.S:81 #2 0xffffffff in g_poll () at /lib/libglib-2.0.so.0 #3 0xffffffff in g_main_context_iterate.isra () at /lib/libglib-2.0.so.0 #4 0xffffffff in g_main_loop_run () at /lib/libglib-2.0.so.0 #5 0xffffffff in gdbus_shared_thread_func () at /lib/libgio-2.0.so.0 #6 0xffffffff in g_thread_proxy () at /lib/libglib-2.0.so.0 #7 0xffffffff in start_thread (arg=0xad650b40) at pthread_create.c:310 #8 0xffffffff in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122 Thread 7 (Thread 0xae434b40 (LWP 1572)): #0 0xffffffff in __kernel_vsyscall () #1 0xffffffff in syscall () at ../sysdeps/unix/sysv/linux/i386/syscall.S:29 #2 0xffffffff in g_cond_wait () at /lib/libglib-2.0.so.0 #3 0xffffffff in Glib::Threads::Cond::wait(Glib::Threads::Mutex&) () at /lib/libglibmm-2.4.so.1 #4 0xffffffff in ARDOUR::AudioEngine::do_devicelist_update() (this=0x93f0598) at ../libs/ardour/audioengine.cc:560 #5 0xffffffff in boost::_mfi::mf0<void, ARDOUR::AudioEngine>::operator()(ARDOUR::AudioEngine*) const (this=0x936dc90, p=0x93f0598) at /usr/include/boost/bind/mem_fn_template.hpp:49 #6 0xffffffff in boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> >::operator()<boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf0<void, ARDOUR::AudioEngine>&, boost::_bi::list0&, int) (this=0x936dc98, f=..., a=...) at /usr/include/boost/bind/bind.hpp:253 #7 0xffffffff in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> > >::operator()() (this=0x936dc90) at /usr/include/boost/bind/bind_template.hpp:20 #8 0xffffffff in sigc::adaptor_functor<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> > > >::operator()() const (this=0x936dc90) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:256 #9 0xffffffff in sigc::internal::slot_call0<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> > >, void>::call_it(sigc::internal::slot_rep*) (rep=0x936dc78) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103 #10 0xffffffff in call_thread_entry_slot () at /lib/libglibmm-2.4.so.1 #11 0xffffffff in g_thread_proxy () at /lib/libglib-2.0.so.0 #12 0xffffffff in start_thread (arg=0xae434b40) at pthread_create.c:310 #13 0xffffffff in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122 Thread 6 (Thread 0xaec35b40 (LWP 1571)): #0 0xffffffff in __kernel_vsyscall () #1 0xffffffff in syscall () at ../sysdeps/unix/sysv/linux/i386/syscall.S:29 #2 0xffffffff in g_cond_wait () at /lib/libglib-2.0.so.0 #3 0xffffffff in Glib::Threads::Cond::wait(Glib::Threads::Mutex&) () at /lib/libglibmm-2.4.so.1 #4 0xffffffff in ARDOUR::AudioEngine::do_reset_backend() (this=0x93f0598) at ../libs/ardour/audioengine.cc:525 #5 0xffffffff in boost::_mfi::mf0<void, ARDOUR::AudioEngine>::operator()(ARDOUR::AudioEngine*) const (this=0x93f0528, p=0x93f0598) at /usr/include/boost/bind/mem_fn_template.hpp:49 #6 0xffffffff in boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> >::operator()<boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf0<void, ARDOUR::AudioEngine>&, boost::_bi::list0&, int) (this=0x93f0530, f=..., a=...) at /usr/include/boost/bind/bind.hpp:253 #7 0xffffffff in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> > >::operator()() (this=0x93f0528) at /usr/include/boost/bind/bind_template.hpp:20 #8 0xffffffff in sigc::adaptor_functor<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> > > >::operator()() const (this=0x93f0528) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:256 #9 0xffffffff in sigc::internal::slot_call0<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> > >, void>::call_it(sigc::internal::slot_rep*) (rep=0x93f0510) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103 #10 0xffffffff in call_thread_entry_slot () at /lib/libglibmm-2.4.so.1 #11 0xffffffff in g_thread_proxy () at /lib/libglib-2.0.so.0 #12 0xffffffff in start_thread (arg=0xaec35b40) at pthread_create.c:310 ---Type <return> to continue, or q <return> to quit--- #13 0xffffffff in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122 Thread 5 (Thread 0xafdfeb40 (LWP 1570)): #0 0xffffffff in __kernel_vsyscall () #1 0xffffffff in syscall () at ../sysdeps/unix/sysv/linux/i386/syscall.S:29 #2 0xffffffff in g_cond_wait () at /lib/libglib-2.0.so.0 #3 0xffffffff in Glib::Threads::Cond::wait(Glib::Threads::Mutex&) () at /lib/libglibmm-2.4.so.1 #4 0xffffffff in ARDOUR::Analyser::work() () at ../libs/ardour/analyser.cc:87 #5 0xffffffff in analyser_work() () at ../libs/ardour/analyser.cc:52 #6 0x08923759 in sigc::pointer_functor0<void>::operator()() const (this=0x91e647c) at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:77 #7 0x089211d0 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator()() const (this=0x91e6478) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:256 #8 0x0891e370 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it(sigc::internal::slot_rep*) (rep=0x91e6460) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103 #9 0xffffffff in call_thread_entry_slot () at /lib/libglibmm-2.4.so.1 #10 0xffffffff in g_thread_proxy () at /lib/libglib-2.0.so.0 #11 0xffffffff in start_thread (arg=0xafdfeb40) at pthread_create.c:310 #12 0xffffffff in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122 Thread 4 (Thread 0xb05ffb40 (LWP 1569)): #0 0xffffffff in __kernel_vsyscall () #1 0xffffffff in syscall () at ../sysdeps/unix/sysv/linux/i386/syscall.S:29 #2 0xffffffff in g_cond_wait () at /lib/libglib-2.0.so.0 #3 0xffffffff in Glib::Threads::Cond::wait(Glib::Threads::Mutex&) () at /lib/libglibmm-2.4.so.1 #4 0xffffffff in peak_thread_work() () at ../libs/ardour/source_factory.cc:71 #5 0x08923759 in sigc::pointer_functor0<void>::operator()() const (this=0x91eef34) at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:77 #6 0x089211d0 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator()() const (this=0x91eef30) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:256 #7 0x0891e370 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it(sigc::internal::slot_rep*) (rep=0x91eef18) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103 #8 0xffffffff in call_thread_entry_slot () at /lib/libglibmm-2.4.so.1 #9 0xffffffff in g_thread_proxy () at /lib/libglib-2.0.so.0 #10 0xffffffff in start_thread (arg=0xb05ffb40) at pthread_create.c:310 #11 0xffffffff in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122 Thread 3 (Thread 0xb0f49b40 (LWP 1568)): #0 0xffffffff in __kernel_vsyscall () #1 0xffffffff in syscall () at ../sysdeps/unix/sysv/linux/i386/syscall.S:29 #2 0xffffffff in g_cond_wait () at /lib/libglib-2.0.so.0 #3 0xffffffff in Glib::Threads::Cond::wait(Glib::Threads::Mutex&) () at /lib/libglibmm-2.4.so.1 #4 0xffffffff in peak_thread_work() () at ../libs/ardour/source_factory.cc:71 #5 0x08923759 in sigc::pointer_functor0<void>::operator()() const (this=0x92a14ec) at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:77 #6 0x089211d0 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator()() const (this=0x92a14e8) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:256 #7 0x0891e370 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it(sigc::internal::slot_rep*) (rep=0x92a14d0) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103 #8 0xffffffff in call_thread_entry_slot () at /lib/libglibmm-2.4.so.1 #9 0xffffffff in g_thread_proxy () at /lib/libglib-2.0.so.0 #10 0xffffffff in start_thread (arg=0xb0f49b40) at pthread_create.c:310 #11 0xffffffff in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122 Thread 2 (Thread 0xb174ab40 (LWP 1567)): #0 0xffffffff in __kernel_vsyscall () #1 0xffffffff in nanosleep () at ../sysdeps/unix/syscall-template.S:81 #2 0xffffffff in g_usleep () at /lib/libglib-2.0.so.0 #3 0xffffffff in Glib::usleep(unsigned long) () at /lib/libglibmm-2.4.so.1 #4 0x08bd10c6 in gui_event_loop(void*) (ptr=0x0) at ../gtk2_ardour/linux_vst_gui_support.cc:475 #5 0xffffffff in start_thread (arg=0xb174ab40) at pthread_create.c:310 #6 0xffffffff in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122 ---Type <return> to continue, or q <return> to quit--- Thread 1 (Thread 0xb19a9940 (LWP 1566)): #0 0xffffffff in boost::shared_ptr<ARDOUR::PlaylistSource>::~shared_ptr() (this=0xbfffc360, __in_chrg=<optimized out>) at /usr/include/boost/smart_ptr/shared_ptr.hpp:328 #1 0xffffffff in ARDOUR::Region::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe5bb390, source=..., shallow=false) at ../libs/ardour/region.cc:1607 #2 0xffffffff in ARDOUR::Playlist::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe5b8550, src=..., shallow=false) at ../libs/ardour/playlist.cc:2685 #3 0xffffffff in ARDOUR::Region::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe5c9468, source=..., shallow=false) at ../libs/ardour/region.cc:1606 #4 0xffffffff in ARDOUR::Playlist::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe5c8f50, src=..., shallow=false) at ../libs/ardour/playlist.cc:2685 #5 0xffffffff in ARDOUR::Region::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe5e97e0, source=..., shallow=false) at ../libs/ardour/region.cc:1590 #6 0xffffffff in ARDOUR::Playlist::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe5e92c8, src=..., shallow=false) at ../libs/ardour/playlist.cc:2685 #7 0xffffffff in ARDOUR::Region::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe5f72c8, source=..., shallow=false) at ../libs/ardour/region.cc:1590 #8 0xffffffff in ARDOUR::Playlist::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe5f6d20, src=..., shallow=false) at ../libs/ardour/playlist.cc:2685 #9 0xffffffff in ARDOUR::Region::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe63d790, source=..., shallow=false) at ../libs/ardour/region.cc:1590 #10 0xffffffff in ARDOUR::Playlist::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe63d270, src=..., shallow=false) at ../libs/ardour/playlist.cc:2685 #11 0xffffffff in ARDOUR::Region::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe64e238, source=..., shallow=false) at ../libs/ardour/region.cc:1590 #12 0xffffffff in ARDOUR::Playlist::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe64dc78, src=..., shallow=false) at ../libs/ardour/playlist.cc:2685 #13 0xffffffff in ARDOUR::Region::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe65b2b0, source=..., shallow=false) at ../libs/ardour/region.cc:1606 #14 0xffffffff in ARDOUR::Playlist::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe6584e8, src=..., shallow=false) at ../libs/ardour/playlist.cc:2685 #15 0xffffffff in ARDOUR::Region::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe665cb8, source=..., shallow=false) at ../libs/ardour/region.cc:1606 #16 0xffffffff in ARDOUR::Playlist::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe662ef0, src=..., shallow=false) at ../libs/ardour/playlist.cc:2685 #17 0xffffffff in ARDOUR::Region::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe6a3790, source=..., shallow=false) at ../libs/ardour/region.cc:1606 #18 0xffffffff in ARDOUR::Playlist::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe69ccc8, src=..., shallow=false) at ../libs/ardour/playlist.cc:2685 #19 0xffffffff in ARDOUR::Region::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe6b1cd0, source=..., shallow=false) at ../libs/ardour/region.cc:1606 #20 0xffffffff in ARDOUR::Playlist::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe6b17a0, src=..., shallow=false) at ../libs/ardour/playlist.cc:2685 #21 0xffffffff in ARDOUR::Region::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe6c3718, source=..., shallow=false) at ../libs/ardour/region.cc:1590 #22 0xffffffff in ARDOUR::Playlist::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe6c3200, src=..., shallow=false) at ../libs/ardour/playlist.cc:2685 #23 0xffffffff in ARDOUR::Region::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe6d1240, source=..., shallow=false) at ../libs/ardour/region.cc:1606 #24 0xffffffff in ARDOUR::Playlist::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe6d0b18, src=..., shallow=false) at ../libs/ardour/playlist.cc:2685 #25 0xffffffff in ARDOUR::Region::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe6e2c80, source=..., shallow=false) at ../libs/ardour/region.cc:1606 #26 0xffffffff in ARDOUR::Playlist::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe6e2768, src=..., shallow=false) at ../libs/ardour/playlist.cc:2685 #27 0xffffffff in ARDOUR::Region::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe70dfd8, source=..., shallow=false) at ../libs/ardour/region.cc:1606 #28 0xffffffff in ARDOUR::Playlist::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe70dac0, src=..., shallow=false) at ../libs/ardour/playlist.cc:2685 #29 0xffffffff in ARDOUR::Region::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe7219d0, source=..., shallow=false) at ../libs/ardour/region.cc:1590 #30 0xffffffff in ARDOUR::Playlist::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe7214b8, src=..., shallow=false) at ../libs/ardour/playlist.cc:2685 #31 0xffffffff in ARDOUR::Region::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe731498, source=..., shallow=false) at ../libs/ardour/region.cc:1590 #32 0xffffffff in ARDOUR::Playlist::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe730f68, src=..., shallow=false) at ../libs/ardour/playlist.cc:2685 #33 0xffffffff in ARDOUR::Region::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe742eb0, source=..., shallow=false) at ../libs/ardour/region.cc:1606 #34 0xffffffff in ARDOUR::Playlist::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe742998, src=..., shallow=false) at ../libs/ardour/playlist.cc:2685 #35 0xffffffff in ARDOUR::Region::uses_source(boost::shared_ptr<ARDOUR::Source const>, bool) const (this=0xe74c1e0, source=..., shallow=false) at ../libs/ardour/region.cc:1590 #36 0xffffffff in ARDOUR::RegionFactory::get_regions_using_source(boost::shared_ptr<ARDOUR::Source>, std::set<boost::shared_ptr<ARDOUR::Region>, std::less<boost::shared_ptr<ARDOUR::Region> >, std::allocator<boost::shared_ptr<ARDOUR::Region> > >&) (s=..., r=std::set with 0 elements) at ../libs/ardour/region_factory.cc:640 #37 0xffffffff in ARDOUR::Session::destroy_sources(std::list<boost::shared_ptr<ARDOUR::Source>, std::allocator<boost::shared_ptr<ARDOUR::Source> > >) (this=0xa8bff78, srcs=std::list = {...}) at ../libs/ardour/session.cc:4471 #38 0xffffffff in ARDOUR::Session::remove_last_capture() (this=0xa8bff78) at ../libs/ardour/session.cc:4528 #39 0x084ff98e in Editor::remove_last_capture() (this=0xd41a470) at ../gtk2_ardour/editor_ops.cc:5027 #40 0x0843931a in sigc::bound_mem_functor0<void, Editor>::operator()() const (this=0xc90e2a4) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787 #41 0x08433650 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, Editor> >::operator()() const (this=0xc90e2a0) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:256 #42 0x0842d0f6 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, Editor>, void>::call_it(sigc::internal::slot_rep*) (rep=0xc90e288) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103 #43 0xffffffff in Glib::SignalProxyNormal::slot0_void_callback(_GObject*, void*) () at /lib/libglibmm-2.4.so.1 #44 0xffffffff in g_cclosure_marshal_VOID__VOID () at /lib/libgobject-2.0.so.0 #45 0xffffffff in g_closure_invoke () at /lib/libgobject-2.0.so.0 #46 0xffffffff in signal_emit_unlocked_R () at /lib/libgobject-2.0.so.0 #47 0xffffffff in g_signal_emit_valist () at /lib/libgobject-2.0.so.0 #48 0xffffffff in g_signal_emit () at /lib/libgobject-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #49 0xffffffff in _gtk_action_emit_activate () at /lib/libgtk-x11-2.0.so.0 #50 0xffffffff in gtk_action_activate () at /lib/libgtk-x11-2.0.so.0 #51 0xffffffff in g_cclosure_marshal_VOID__VOID () at /lib/libgobject-2.0.so.0 #52 0xffffffff in g_type_class_meta_marshal () at /lib/libgobject-2.0.so.0 #53 0xffffffff in g_closure_invoke () at /lib/libgobject-2.0.so.0 #54 0xffffffff in signal_emit_unlocked_R () at /lib/libgobject-2.0.so.0 #55 0xffffffff in g_signal_emit_valist () at /lib/libgobject-2.0.so.0 #56 0xffffffff in g_signal_emit () at /lib/libgobject-2.0.so.0 #57 0xffffffff in gtk_widget_activate () at /lib/libgtk-x11-2.0.so.0 #58 0xffffffff in gtk_menu_shell_activate_item () at /lib/libgtk-x11-2.0.so.0 #59 0xffffffff in gtk_menu_shell_button_release () at /lib/libgtk-x11-2.0.so.0 #60 0xffffffff in gtk_menu_button_release () at /lib/libgtk-x11-2.0.so.0 #61 0xffffffff in _gtk_marshal_BOOLEAN__BOXED () at /lib/libgtk-x11-2.0.so.0 #62 0xffffffff in g_type_class_meta_marshal () at /lib/libgobject-2.0.so.0 #63 0xffffffff in g_closure_invoke () at /lib/libgobject-2.0.so.0 #64 0xffffffff in signal_emit_unlocked_R () at /lib/libgobject-2.0.so.0 #65 0xffffffff in g_signal_emit_valist () at /lib/libgobject-2.0.so.0 #66 0xffffffff in g_signal_emit () at /lib/libgobject-2.0.so.0 #67 0xffffffff in gtk_widget_event_internal () at /lib/libgtk-x11-2.0.so.0 #68 0xffffffff in gtk_propagate_event () at /lib/libgtk-x11-2.0.so.0 #69 0xffffffff in gtk_main_do_event () at /lib/libgtk-x11-2.0.so.0 #70 0xffffffff in gdk_event_dispatch () at /lib/libgdk-x11-2.0.so.0 #71 0xffffffff in g_main_context_dispatch () at /lib/libglib-2.0.so.0 #72 0xffffffff in g_main_context_iterate.isra () at /lib/libglib-2.0.so.0 #73 0xffffffff in g_main_loop_run () at /lib/libglib-2.0.so.0 #74 0xffffffff in gtk_main () at /lib/libgtk-x11-2.0.so.0 #75 0xffffffff in Gtk::Main::run() () at /lib/libgtkmm-2.4.so.1 #76 0xffffffff in Gtkmm2ext::UI::run(Receiver&) (this=0x944fbd8, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:286 #77 0x08708848 in main(int, char**) (argc=1, argv=0xbfffe2c4) at ../gtk2_ardour/main.cc:408 (gdb) |
|
Thanks for the hint. I'll upgrade FFTW to 3.3.5. |
|
Note that upgrading fftw3 to 3.3.5 will only fix the thread safety problem if the application calling it uses the new fftw_make_planner_thread_safe() call. AFAIK very few plugins are using that yet. |
|
AFAIK only the host should call fftw_make_planner_thread_safe(), then if the plugins use the dynamic linked fft, this should be safe, but I could have got it wrong. And Ardour does it in main, inside an #ifdef #ifdef HAVE_FFTW35F fftwf_make_planner_thread_safe (); #endif So Ardour should be recompiled after installing FFTW 3.3.5. |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-09-19 00:22 | anemal | New Issue | |
2016-09-19 07:36 | timbyr | Note Added: 0018683 | |
2016-09-19 07:36 | timbyr | Assigned To | => timbyr |
2016-09-19 07:36 | timbyr | Status | new => feedback |
2016-09-19 12:46 | anemal | Note Added: 0018690 | |
2016-09-19 12:46 | anemal | Status | feedback => assigned |
2016-09-19 13:33 | timbyr | Note Added: 0018691 | |
2016-09-19 14:51 | anemal | File Added: mysongname.ardour | |
2016-09-19 14:53 | anemal | Note Added: 0018692 | |
2016-09-20 01:07 | timbyr | Assigned To | timbyr => |
2016-09-20 01:07 | timbyr | Status | assigned => confirmed |
2016-09-20 01:24 | timbyr | Note Added: 0018695 | |
2016-09-20 01:26 | timbyr | File Added: ardour-5.3.139-bug7036-bt.txt | |
2016-09-20 12:06 | anemal | Note Added: 0018704 | |
2016-09-21 14:35 | jrigg | Note Added: 0018709 | |
2016-09-22 12:23 | tartina | Note Added: 0018711 |