MantisBT

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0006515ardourbugspublic2015-08-17 14:172015-09-10 09:11
ReporterEjis 
Assigned ToEjis 
PrioritynormalSeverityblockReproducibilityalways
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0006515: (4.2) Freeze when removing a track/bus
DescriptionHi,

When I try to remove a track or a bus from any session, Ardour 4.2 just freezes after I checked "Yes" on the dialog box. The CPU load drops and nothing happens. I have to force Ardour to stop, and the track is still on the session.
TagsNo tags attached.
Attached Filestxt file icon ardour-debug.txt [^] (82,710 bytes) 2015-08-29 07:52 [Show Content]

- Relationships
has duplicate 0006560resolvedx42 Ardour blocks every time a track is removed 

-  Notes
(0017055)
x42 (administrator)
2015-08-17 16:58

There was a mention on IRC yesterday.
Disconnecting the ports before deleting the track works around this issue.

In the reported case, deleting a mono track caused a crash (not a freeze): http://pastebin.com/xmgYx6K2 [^]
(looks like a race-condition)
(0017057)
Ejis (reporter)
2015-08-17 23:20

Yes, I found it out too, but it doesn’t always work, sadly.
(0017062)
nettings (manager)
2015-08-19 13:03

I can confirm Ardour reproducibly freezes when removing tracks (or buses, for that matter). Haven't seen a crash yet. My tree is at commit 2e38cb81fe0cb7afd492cf2d30d28f316c41b8e8 (August 11).
(0017065)
x42 (administrator)
2015-08-19 14:26

This seems to be a race condition. I have some ideas, but I have not yet been able to reproduce this.

Fixing this will be tricky (at least I would not be able to confirm a fix, since I can't reproduce the issue in the first place). Hopefully some other developer can jump in.
(0017066)
x42 (administrator)
2015-08-19 14:27

@nettings when it hangs, could you ctrl+c in gdb and get a backtrace?
(0017078)
x42 (administrator)
2015-08-20 11:58

Is the issue still present in latest git, (Ardour 4.2-51-g6b8b4bb) from http://nightly.ardour.org/ [^] ?

git rev 6b8b4bb includes a shot in the dark which may prevent this issue.
(0017080)
nettings (manager)
2015-08-21 00:04
edited on: 2015-08-21 00:46

just updated, still there. to-be-removed channel has a number of aux sends.

console output when track is removed:

FROM: FX 2 Master FX 2 Rear
TO: Master FX 2
TO: FX 2 FX 2
TO: Rear FX 2
FROM: FX 2 Master FX 2 Rear
TO: Master FX 2
TO: FX 2 FX 2
TO: Rear FX 2
JACK HALTED: zombified
hhAborted (core dumped)

post-mortem on optimized build, sorry. note this is the latest git, just didn't re-rum ./waf configure. will create a debuggable build later.

nettings@hoppetosse:/local/build/ardour> gdb /usr/local/lib/ardour4/ardour-4.1.597 core
GNU gdb (GDB; openSUSE Factory) 7.9
Copyright (C) 2015 Free Software Foundation, Inc.
<..>

(gdb) thread apply all bt

Thread 14 (Thread 0x7f9e7a7fc700 (LWP 1589)):
#0 0x00007f9eb0164eed in nanosleep () at /lib64/libpthread.so.0
#1 0x00007f9eb4130c28 in g_usleep () at /usr/lib64/libglib-2.0.so.0
#2 0x00007f9eb5da83f0 in ARDOUR::AutomationWatch::thread() () at /usr/local/lib/ardour4/libardour.so.3
#3 0x00007f9eb466d49d in () at /usr/lib64/libglibmm-2.4.so.1
#4 0x00007f9eb412f625 in () at /usr/lib64/libglib-2.0.so.0
#5 0x00007f9eb015c324 in start_thread () at /lib64/libpthread.so.0
#6 0x00007f9ead17a70d in clone () at /lib64/libc.so.6

Thread 13 (Thread 0x7f9e7b7fe700 (LWP 1588)):
#0 0x00007f9eb016193f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1 0x00007f9eb606e3f3 in ARDOUR::Session::emit_thread_run() () at /usr/local/lib/ardour4/libardour.so.3
#2 0x00007f9eb606e419 in ARDOUR::Session::emit_thread(void*) () at /usr/local/lib/ardour4/libardour.so.3
#3 0x00007f9eb015c324 in start_thread () at /lib64/libpthread.so.0
#4 0x00007f9ead17a70d in clone () at /lib64/libc.so.6

Thread 12 (Thread 0x7f9e6a2fc800 (LWP 1584)):
#0 0x00007f9ead171fbd in poll () at /lib64/libc.so.6
#1 0x00007f9eb51e7d42 in CrossThreadChannel::poll_for_request() () at /usr/local/lib/ardour4/libpbd.so.4
#2 0x00007f9eb51e7d96 in CrossThreadChannel::receive(char&, bool) () at /usr/local/lib/ardour4/libpbd.so.4
#3 0x00007f9eb5db7b06 in ARDOUR::Butler::thread_work() () at /usr/local/lib/ardour4/libardour.so.3
#4 0x00007f9eb5db8062 in ARDOUR::Butler::_thread_work(void*) () at /usr/local/lib/ardour4/libardour.so.3
#5 0x00007f9eb52068d6 in fake_thread_start(void*) () at /usr/local/lib/ardour4/libpbd.so.4
#6 0x00007f9eb015c324 in start_thread () at /lib64/libpthread.so.0
#7 0x00007f9ead17a70d in clone () at /lib64/libc.so.6

Thread 11 (Thread 0x7f9e7affd700 (LWP 1576)):
#0 0x00007f9eb016193f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1 0x00007f9ea090e1e1 in mb_thread_func (arg=0x0) at messagebuffer.c:72
#2 0x00007f9eb015c324 in start_thread () at /lib64/libpthread.so.0
#3 0x00007f9ead17a70d in clone () at /lib64/libc.so.6

Thread 10 (Thread 0x7f9e995ec700 (LWP 1560)):
#0 0x00007f9ead171fbd in poll () at /lib64/libc.so.6
#1 0x00007f9eb4108e94 in () at /usr/lib64/libglib-2.0.so.0
#2 0x00007f9eb4108f9c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3 0x00007f9eb4108fd9 in () at /usr/lib64/libglib-2.0.so.0
#4 0x00007f9eb412f625 in () at /usr/lib64/libglib-2.0.so.0
#5 0x00007f9eb015c324 in start_thread () at /lib64/libpthread.so.0
#6 0x00007f9ead17a70d in clone () at /lib64/libc.so.6

Thread 9 (Thread 0x7f9e99ded700 (LWP 1559)):
#0 0x00007f9ead171fbd in poll () at /lib64/libc.so.6
#1 0x00007f9eb4108e94 in () at /usr/lib64/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#2 0x00007f9eb4109212 in g_main_loop_run () at /usr/lib64/libglib-2.0.so.0
#3 0x00007f9eb27a2d06 in () at /usr/lib64/libgio-2.0.so.0
#4 0x00007f9eb412f625 in () at /usr/lib64/libglib-2.0.so.0
#5 0x00007f9eb015c324 in start_thread () at /lib64/libpthread.so.0
#6 0x00007f9ead17a70d in clone () at /lib64/libc.so.6

Thread 8 (Thread 0x7f9ea17d6700 (LWP 1558)):
#0 0x00007f9ead176449 in syscall () at /lib64/libc.so.6
#1 0x00007f9eb414cc6f in g_cond_wait () at /usr/lib64/libglib-2.0.so.0
#2 0x00007f9eb5d5cbcd in ARDOUR::AudioEngine::do_devicelist_update() () at /usr/local/lib/ardour4/libardour.so.3
#3 0x00007f9eb466d49d in () at /usr/lib64/libglibmm-2.4.so.1
#4 0x00007f9eb412f625 in () at /usr/lib64/libglib-2.0.so.0
#5 0x00007f9eb015c324 in start_thread () at /lib64/libpthread.so.0
#6 0x00007f9ead17a70d in clone () at /lib64/libc.so.6

Thread 7 (Thread 0x7f9ea1fd7700 (LWP 1557)):
#0 0x00007f9ead176449 in syscall () at /lib64/libc.so.6
#1 0x00007f9eb414cc6f in g_cond_wait () at /usr/lib64/libglib-2.0.so.0
#2 0x00007f9eb5d5d49b in ARDOUR::AudioEngine::do_reset_backend() () at /usr/local/lib/ardour4/libardour.so.3
#3 0x00007f9eb466d49d in () at /usr/lib64/libglibmm-2.4.so.1
#4 0x00007f9eb412f625 in () at /usr/lib64/libglib-2.0.so.0
#5 0x00007f9eb015c324 in start_thread () at /lib64/libpthread.so.0
#6 0x00007f9ead17a70d in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7f9e9bfff700 (LWP 1556)):
#0 0x00007f9ead176449 in syscall () at /lib64/libc.so.6
#1 0x00007f9eb414cc6f in g_cond_wait () at /usr/lib64/libglib-2.0.so.0
#2 0x00007f9eb5d15b9b in ARDOUR::Analyser::work() () at /usr/local/lib/ardour4/libardour.so.3
#3 0x00007f9eb466d49d in () at /usr/lib64/libglibmm-2.4.so.1
#4 0x00007f9eb412f625 in () at /usr/lib64/libglib-2.0.so.0
#5 0x00007f9eb015c324 in start_thread () at /lib64/libpthread.so.0
#6 0x00007f9ead17a70d in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7f9ea301d700 (LWP 1555)):
#0 0x00007f9ead176449 in syscall () at /lib64/libc.so.6
#1 0x00007f9eb414cc6f in g_cond_wait () at /usr/lib64/libglib-2.0.so.0
#2 0x00007f9eb60c5163 in peak_thread_work() () at /usr/local/lib/ardour4/libardour.so.3
#3 0x00007f9eb466d49d in () at /usr/lib64/libglibmm-2.4.so.1
#4 0x00007f9eb412f625 in () at /usr/lib64/libglib-2.0.so.0
#5 0x00007f9eb015c324 in start_thread () at /lib64/libpthread.so.0
#6 0x00007f9ead17a70d in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7f9ea401f700 (LWP 1553)):
#0 0x00007f9eb0164eed in nanosleep () at /lib64/libpthread.so.0
#1 0x00007f9eb4130c28 in g_usleep () at /usr/lib64/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#2 0x0000000000b95f29 in gui_event_loop(void*) ()
#3 0x00007f9eb015c324 in start_thread () at /lib64/libpthread.so.0
#4 0x00007f9ead17a70d in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f9e98deb700 (LWP 1585)):
#0 0x00007f9ead171fbd in poll () at /lib64/libc.so.6
#1 0x00007f9eb4108e94 in () at /usr/lib64/libglib-2.0.so.0
#2 0x00007f9eb4109212 in g_main_loop_run () at /usr/lib64/libglib-2.0.so.0
#3 0x00007f9eb51dbc44 in BaseUI::main_thread() () at /usr/local/lib/ardour4/libpbd.so.4
#4 0x00007f9eb466d49d in () at /usr/lib64/libglibmm-2.4.so.1
#5 0x00007f9eb412f625 in () at /usr/lib64/libglib-2.0.so.0
#6 0x00007f9eb015c324 in start_thread () at /lib64/libpthread.so.0
#7 0x00007f9ead17a70d in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f9ea381e700 (LWP 1554)):
#0 0x00007f9ead176449 in syscall () at /lib64/libc.so.6
#1 0x00007f9eb414cc6f in g_cond_wait () at /usr/lib64/libglib-2.0.so.0
#2 0x00007f9eb60c5163 in peak_thread_work() () at /usr/local/lib/ardour4/libardour.so.3
#3 0x00007f9eb466d49d in () at /usr/lib64/libglibmm-2.4.so.1
#4 0x00007f9eb412f625 in () at /usr/lib64/libglib-2.0.so.0
#5 0x00007f9eb015c324 in start_thread () at /lib64/libpthread.so.0
#6 0x00007f9ead17a70d in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f9eb70139c0 (LWP 1538)):
#0 0x00007f9ead176449 in syscall () at /lib64/libc.so.6
#1 0x00007f9eb414cc6f in g_cond_wait () at /usr/lib64/libglib-2.0.so.0
#2 0x00007f9eb5e6725d in ARDOUR::Graph::clear_other_chain() () at /usr/local/lib/ardour4/libardour.so.3
#3 0x00007f9eb601436a in ARDOUR::Session::remove_routes(boost::shared_ptr<std::__cxx11::list<boost::shared_ptr<ARDOUR::Route>, std::allocator<boost::shared_ptr<ARDOUR::Route> > > >) () at /usr/local/lib/ardour4/libardour.so.3
#4 0x00007f9eb6014c23 in ARDOUR::Session::remove_route(boost::shared_ptr<ARDOUR::Route>) () at /usr/local/lib/ardour4/libardour.so.3
#5 0x0000000000691bb3 in Editor::_remove_tracks() ()
#6 0x0000000000692169 in Editor::idle_remove_tracks() ()
#7 0x00007f9eb4675052 in () at /usr/lib64/libglibmm-2.4.so.1
#8 0x00007f9eb4108b7a in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#9 0x00007f9eb4108ef8 in () at /usr/lib64/libglib-2.0.so.0
#10 0x00007f9eb4109212 in g_main_loop_run () at /usr/lib64/libglib-2.0.so.0
#11 0x00007f9eb37a5b77 in gtk_main () at /usr/lib64/libgtk-x11-2.0.so.0
#12 0x00007f9eb673f636 in Gtkmm2ext::UI::run(Receiver&) () at /usr/local/lib/ardour4/libgtkmm2ext.so.0
#13 0x0000000000492067 in main ()
(gdb)

(0017081)
nettings (manager)
2015-08-21 00:42

as seen above, ardour4 gets zombified by jack. jackd in turn says
"timeout waiting for client ardour to handle a graph reordered event".

i was able to remove a track that had all outputs including sends disconnected. just the main outputs is not enough apparently.

trying another channel that still had aux sends gave me
"JACK HALTED: graph error" rather than the zombified message... weird one, never seen that before. jackd keeps running just fine.
(0017097)
nettings (manager)
2015-08-23 00:53

reproduced with a minimal new session, add four mono tracks, remove track no.4. instant freeze. here's a backtrace with line numbers:

nettings@hoppetosse:/local/build/ardour> gdb /usr/local/lib/ardour4/ardour-4.2.52 core
GNU gdb (GDB; openSUSE Factory) 7.9
Copyright (C) 2015 Free Software Foundation, Inc.
<...>

(gdb) thread apply all bt

Thread 14 (Thread 0x7ff5a0c19700 (LWP 7887)):
#0 0x00007ff5c0062eed in nanosleep () at /lib64/libpthread.so.0
#1 0x00007ff5c402ec28 in g_usleep () at /usr/lib64/libglib-2.0.so.0
#2 0x00007ff5c669b55f in ARDOUR::AutomationWatch::thread() (this=0x3e33100) at ../libs/ardour/automation_watch.cc:153
#3 0x00007ff5c669e9bd in boost::_mfi::mf0<void, ARDOUR::AutomationWatch>::operator()(ARDOUR::AutomationWatch*) const (this=0x3e767e0, p=0x3e33100)
    at /usr/include/boost/bind/mem_fn_template.hpp:49
#4 0x00007ff5c669e63a 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=0x3e767f0, f=..., a=...)
    at /usr/include/boost/bind/bind.hpp:253
#5 0x00007ff5c669e113 in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AutomationWatch>, boost::_bi::list1<boost::_bi::value<ARDOUR::AutomationWatch*> > >::operator()() (this=0x3e767e0) at /usr/include/boost/bind/bind_template.hpp:20
#6 0x00007ff5c669e0a0 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=0x3e767e0) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:256
#7 0x00007ff5c669db5c 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=0x3e767b0) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#8 0x00007ff5c456b49d in () at /usr/lib64/libglibmm-2.4.so.1
#9 0x00007ff5c402d625 in () at /usr/lib64/libglib-2.0.so.0
#10 0x00007ff5c005a324 in start_thread () at /lib64/libpthread.so.0
#11 0x00007ff5bd07870d in clone () at /lib64/libc.so.6

Thread 13 (Thread 0x7ff5a1c1b700 (LWP 7854)):
#0 0x00007ff5bd06ffbd in poll () at /lib64/libc.so.6
#1 0x00007ff5c4006e94 in () at /usr/lib64/libglib-2.0.so.0
#2 0x00007ff5c4007212 in g_main_loop_run () at /usr/lib64/libglib-2.0.so.0
#3 0x00007ff5c26a0d06 in () at /usr/lib64/libgio-2.0.so.0
#4 0x00007ff5c402d625 in () at /usr/lib64/libglib-2.0.so.0
#5 0x00007ff5c005a324 in start_thread () at /lib64/libpthread.so.0
#6 0x00007ff5bd07870d in clone () at /lib64/libc.so.6

Thread 12 (Thread 0x7ff5a141a700 (LWP 7855)):
#0 0x00007ff5bd06ffbd in poll () at /lib64/libc.so.6
#1 0x00007ff5c4006e94 in () at /usr/lib64/libglib-2.0.so.0
#2 0x00007ff5c4006f9c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3 0x00007ff5c4006fd9 in () at /usr/lib64/libglib-2.0.so.0
#4 0x00007ff5c402d625 in () at /usr/lib64/libglib-2.0.so.0
#5 0x00007ff5c005a324 in start_thread () at /lib64/libpthread.so.0
#6 0x00007ff5bd07870d in clone () at /lib64/libc.so.6

Thread 11 (Thread 0x7ff5b371c700 (LWP 7849)):
#0 0x00007ff5bd074449 in syscall () at /lib64/libc.so.6
#1 0x00007ff5c404ac6f in g_cond_wait () at /usr/lib64/libglib-2.0.so.0
#2 0x00007ff5c6a7df1c in peak_thread_work() () at ../libs/ardour/source_factory.cc:68
#3 0x0000000000cdb239 in sigc::pointer_functor0<void>::operator()() const (this=0x2f02428) at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:77
#4 0x0000000000cd8df0 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator()() const (this=0x2f02420)
---Type <return> to continue, or q <return> to quit---
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:256
#5 0x0000000000cd5aab in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it(sigc::internal::slot_rep*) (rep=0x2f023f0)
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#6 0x00007ff5c456b49d in () at /usr/lib64/libglibmm-2.4.so.1
#7 0x00007ff5c402d625 in () at /usr/lib64/libglib-2.0.so.0
#8 0x00007ff5c005a324 in start_thread () at /lib64/libpthread.so.0
#9 0x00007ff5bd07870d in clone () at /lib64/libc.so.6

Thread 10 (Thread 0x7ff5b2f1b700 (LWP 7850)):
#0 0x00007ff5bd074449 in syscall () at /lib64/libc.so.6
#1 0x00007ff5c404ac6f in g_cond_wait () at /usr/lib64/libglib-2.0.so.0
#2 0x00007ff5c6a7df1c in peak_thread_work() () at ../libs/ardour/source_factory.cc:68
#3 0x0000000000cdb239 in sigc::pointer_functor0<void>::operator()() const (this=0x2f02608) at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:77
#4 0x0000000000cd8df0 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator()() const (this=0x2f02600)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:256
#5 0x0000000000cd5aab in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it(sigc::internal::slot_rep*) (rep=0x2f025d0)
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#6 0x00007ff5c456b49d in () at /usr/lib64/libglibmm-2.4.so.1
#7 0x00007ff5c402d625 in () at /usr/lib64/libglib-2.0.so.0
#8 0x00007ff5c005a324 in start_thread () at /lib64/libpthread.so.0
#9 0x00007ff5bd07870d in clone () at /lib64/libc.so.6

Thread 9 (Thread 0x7ff571e3c800 (LWP 7883)):
#0 0x00007ff5bd06ffbd in poll () at /lib64/libc.so.6
#1 0x00007ff5c518ff6a in CrossThreadChannel::poll_for_request() (this=0x381b1f8) at ../libs/pbd/crossthread.posix.cc:73
#2 0x00007ff5c518ffd3 in CrossThreadChannel::receive(char&, bool) (this=0x381b1f8, msg=@0x7ff571e3b06f: 1 '\001', wait=true)
    at ../libs/pbd/crossthread.posix.cc:94
#3 0x00007ff5c66af633 in ARDOUR::Butler::thread_work() (this=0x381b160) at ../libs/ardour/butler.cc:175
#4 0x00007ff5c66af3b7 in ARDOUR::Butler::_thread_work(void*) (arg=0x381b160) at ../libs/ardour/butler.cc:156
#5 0x00007ff5c51a6cec in fake_thread_start(void*) (arg=0x37ec840) at ../libs/pbd/pthread_utils.cc:93
#6 0x00007ff5c005a324 in start_thread () at /lib64/libpthread.so.0
#7 0x00007ff5bd07870d in clone () at /lib64/libc.so.6

Thread 8 (Thread 0x7ff58bfff700 (LWP 7886)):
#0 0x00007ff5c005f93f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1 0x00007ff5c6a12baf in ARDOUR::Session::emit_thread_run() (this=0x381c800) at ../libs/ardour/session_process.cc:1313
#2 0x00007ff5c6a12b4c in ARDOUR::Session::emit_thread(void*) (arg=0x381c800) at ../libs/ardour/session_process.cc:1302
#3 0x00007ff5c005a324 in start_thread () at /lib64/libpthread.so.0
#4 0x00007ff5bd07870d in clone () at /lib64/libc.so.6

Thread 7 (Thread 0x7ff58b7fe700 (LWP 7875)):
#0 0x00007ff5c005f93f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1 0x00007ff5a3dea1e1 in mb_thread_func (arg=0x0) at messagebuffer.c:72
#2 0x00007ff5c005a324 in start_thread () at /lib64/libpthread.so.0
#3 0x00007ff5bd07870d in clone () at /lib64/libc.so.6
---Type <return> to continue, or q <return> to quit---

Thread 6 (Thread 0x7ff5b0e49700 (LWP 7853)):
#0 0x00007ff5bd074449 in syscall () at /lib64/libc.so.6
#1 0x00007ff5c404ac6f in g_cond_wait () at /usr/lib64/libglib-2.0.so.0
#2 0x00007ff5c6646a5a in ARDOUR::AudioEngine::do_devicelist_update() (this=0x2eda740) at ../libs/ardour/audioengine.cc:536
#3 0x00007ff5c6653b57 in boost::_mfi::mf0<void, ARDOUR::AudioEngine>::operator()(ARDOUR::AudioEngine*) const (this=0x2ee5d40, p=0x2eda740)
    at /usr/include/boost/bind/mem_fn_template.hpp:49
#4 0x00007ff5c6653348 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=0x2ee5d50, f=..., a=...)
    at /usr/include/boost/bind/bind.hpp:253
#5 0x00007ff5c6652857 in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> > >::operator()() (this=0x2ee5d40) at /usr/include/boost/bind/bind_template.hpp:20
#6 0x00007ff5c6651f54 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=0x2ee5d40) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:256
#7 0x00007ff5c6650dfc 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=0x2ee5d10) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#8 0x00007ff5c456b49d in () at /usr/lib64/libglibmm-2.4.so.1
#9 0x00007ff5c402d625 in () at /usr/lib64/libglib-2.0.so.0
#10 0x00007ff5c005a324 in start_thread () at /lib64/libpthread.so.0
#11 0x00007ff5bd07870d in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7ff5b271a700 (LWP 7851)):
#0 0x00007ff5bd074449 in syscall () at /lib64/libc.so.6
#1 0x00007ff5c404ac6f in g_cond_wait () at /usr/lib64/libglib-2.0.so.0
#2 0x00007ff5c65f5908 in ARDOUR::Analyser::work() () at ../libs/ardour/analyser.cc:85
#3 0x00007ff5c65f56f4 in analyser_work() () at ../libs/ardour/analyser.cc:50
#4 0x0000000000cdb239 in sigc::pointer_functor0<void>::operator()() const (this=0x2ecdee8) at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:77
#5 0x0000000000cd8df0 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator()() const (this=0x2ecdee0)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:256
#6 0x0000000000cd5aab in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it(sigc::internal::slot_rep*) (rep=0x2ecdeb0)
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#7 0x00007ff5c456b49d in () at /usr/lib64/libglibmm-2.4.so.1
#8 0x00007ff5c402d625 in () at /usr/lib64/libglib-2.0.so.0
#9 0x00007ff5c005a324 in start_thread () at /lib64/libpthread.so.0
#10 0x00007ff5bd07870d in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7ff5b164a700 (LWP 7852)):
#0 0x00007ff5bd074449 in syscall () at /lib64/libc.so.6
#1 0x00007ff5c404ac6f in g_cond_wait () at /usr/lib64/libglib-2.0.so.0
#2 0x00007ff5c6646834 in ARDOUR::AudioEngine::do_reset_backend() (this=0x2eda740) at ../libs/ardour/audioengine.cc:501
#3 0x00007ff5c6653b57 in boost::_mfi::mf0<void, ARDOUR::AudioEngine>::operator()(ARDOUR::AudioEngine*) const (this=0x2ef7970, p=0x2eda740)
    at /usr/include/boost/bind/mem_fn_template.hpp:49
#4 0x00007ff5c6653348 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=0x2ef7980, f=..., a=...)
    at /usr/include/boost/bind/bind.hpp:253
---Type <return> to continue, or q <return> to quit---
#5 0x00007ff5c6652857 in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> > >::operator()() (this=0x2ef7970) at /usr/include/boost/bind/bind_template.hpp:20
#6 0x00007ff5c6651f54 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=0x2ef7970) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:256
#7 0x00007ff5c6650dfc 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=0x2ef7940) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#8 0x00007ff5c456b49d in () at /usr/lib64/libglibmm-2.4.so.1
#9 0x00007ff5c402d625 in () at /usr/lib64/libglib-2.0.so.0
#10 0x00007ff5c005a324 in start_thread () at /lib64/libpthread.so.0
#11 0x00007ff5bd07870d in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7ff589df5700 (LWP 7884)):
#0 0x00007ff5bd06ffbd in poll () at /lib64/libc.so.6
#1 0x00007ff5c4006e94 in () at /usr/lib64/libglib-2.0.so.0
#2 0x00007ff5c4007212 in g_main_loop_run () at /usr/lib64/libglib-2.0.so.0
#3 0x00007ff5c517a649 in BaseUI::main_thread() (this=0x37eca60) at ../libs/pbd/base_ui.cc:86
#4 0x00007ff5c517e30e in sigc::bound_mem_functor0<void, BaseUI>::operator()() const (this=0x37ed0e8)
    at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
#5 0x00007ff5c517dfb6 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, BaseUI> >::operator()() const (this=0x37ed0e0)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:256
#6 0x00007ff5c517d935 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, BaseUI>, void>::call_it(sigc::internal::slot_rep*) (rep=0x37ed0b0)
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#7 0x00007ff5c456b49d in () at /usr/lib64/libglibmm-2.4.so.1
#8 0x00007ff5c402d625 in () at /usr/lib64/libglib-2.0.so.0
#9 0x00007ff5c005a324 in start_thread () at /lib64/libpthread.so.0
#10 0x00007ff5bd07870d in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7ff5b3f1d700 (LWP 7848)):
#0 0x00007ff5c0062eed in nanosleep () at /lib64/libpthread.so.0
#1 0x00007ff5c402ec28 in g_usleep () at /usr/lib64/libglib-2.0.so.0
#2 0x0000000000fb6d6d in gui_event_loop(void*) (ptr=0x0) at ../gtk2_ardour/linux_vst_gui_support.cc:476
#3 0x00007ff5c005a324 in start_thread () at /lib64/libpthread.so.0
#4 0x00007ff5bd07870d in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7ff5c7dc29c0 (LWP 7833)):

#0 0x00007ff5bd074449 in syscall () at /lib64/libc.so.6
#1 0x00007ff5c404ac6f in g_cond_wait () at /usr/lib64/libglib-2.0.so.0
#2 0x00007ff5c678e799 in ARDOUR::Graph::clear_other_chain() (this=0x48e27e0) at ../libs/ardour/graph.cc:182
#3 0x00007ff5c699495e in ARDOUR::Session::remove_routes(boost::shared_ptr<std::__cxx11::list<boost::shared_ptr<ARDOUR::Route>, std::allocator<boost::shared_ptr<ARDOUR::Route> > > >) (this=0x381c800, routes_to_remove=...) at ../libs/ardour/session.cc:3428
#4 0x00007ff5c6994cf5 in ARDOUR::Session::remove_route(boost::shared_ptr<ARDOUR::Route>) (this=0x381c800, route=...) at ../libs/ardour/session.cc:3462
#5 0x0000000000907e0a in Editor::_remove_tracks() (this=0x46e3610) at ../gtk2_ardour/editor_ops.cc:7224
#6 0x000000000090736e in Editor::idle_remove_tracks() (this=0x46e3610) at ../gtk2_ardour/editor_ops.cc:7118
#7 0x000000000082924e in sigc::bound_mem_functor0<bool, Editor>::operator()() const (this=0x5a3fe18)
    at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
---Type <return> to continue, or q <return> to quit---
#8 0x0000000000822882 in sigc::adaptor_functor<sigc::bound_mem_functor0<bool, Editor> >::operator()() const (this=0x5a3fe10)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:256
#9 0x000000000081b4bd in sigc::internal::slot_call0<sigc::bound_mem_functor0<bool, Editor>, bool>::call_it(sigc::internal::slot_rep*) (rep=0x5a3fde0)
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#10 0x00007ff5c4573052 in () at /usr/lib64/libglibmm-2.4.so.1
#11 0x00007ff5c4006b7a in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#12 0x00007ff5c4006ef8 in () at /usr/lib64/libglib-2.0.so.0
#13 0x00007ff5c4007212 in g_main_loop_run () at /usr/lib64/libglib-2.0.so.0
#14 0x00007ff5c36a3b77 in gtk_main () at /usr/lib64/libgtk-x11-2.0.so.0
#15 0x00007ff5c73a930e in Gtkmm2ext::UI::run(Receiver&) (this=0x31b99c0, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:280
#16 0x0000000000ac1af8 in main(int, char**) (argc=1, argv=0x7ffcbe0d22b8) at ../gtk2_ardour/main.cc:390
(gdb)


again, jackd reports
"timeout waiting for client ardour to handle a graph reordered event"
and ardour reports
"
actually writing state to /audio/RemoveRoutesTest/RemoveRoutesTest.tmp
renaming state to /audio/RemoveRoutesTest/RemoveRoutesTest.ardour
actually writing state to /audio/RemoveRoutesTest/RemoveRoutesTest.tmp
renaming state to /audio/RemoveRoutesTest/RemoveRoutesTest.ardour
JACK HALTED: zombified
"

100% reproducible.
(0017100)
x42 (administrator)
2015-08-23 08:32

Ejis: Are you also using jack1? If so, that may explain why I don't see this.

Can you reproduce this with jack2 or even easier Ardour's ALSA or Dummy backend ?
   ./waf configure --with-backends=jack,alsa,dummy

meanwhile I'll see if I can reproduce with jack1.
(0017101)
x42 (administrator)
2015-08-23 09:45
edited on: 2015-08-23 09:48

OK. I can reproduce this with jack1. (jackd 0.124.1)

Other Audio Systems work fine.

(0017103)
Ejis (reporter)
2015-08-23 23:39

Yes, I’m using JACK 1. I don’t have the time to test with JACK 2, but I’ll try ASAP.
(0017120)
guysherman (reporter)
2015-08-29 08:22

I upgraded jack to JACK2, and the issue goes away.
(0017174)
paul (administrator)
2015-09-10 08:36

Fixed in git, commit cb85080ca8e
(0017175)
Ejis (reporter)
2015-09-10 09:10

Thank you!

- Issue History
Date Modified Username Field Change
2015-08-17 14:17 Ejis New Issue
2015-08-17 16:58 x42 Note Added: 0017055
2015-08-17 23:20 Ejis Note Added: 0017057
2015-08-19 13:03 nettings Note Added: 0017062
2015-08-19 14:26 x42 Note Added: 0017065
2015-08-19 14:27 x42 Note Added: 0017066
2015-08-20 11:58 x42 Note Added: 0017078
2015-08-21 00:04 nettings Note Added: 0017080
2015-08-21 00:42 nettings Note Added: 0017081
2015-08-21 00:46 nettings Note Edited: 0017080
2015-08-23 00:53 nettings Note Added: 0017097
2015-08-23 08:32 x42 Note Added: 0017100
2015-08-23 09:45 x42 Note Added: 0017101
2015-08-23 09:47 x42 Note Edited: 0017101
2015-08-23 09:48 x42 Note Edited: 0017101
2015-08-23 23:39 Ejis Note Added: 0017103
2015-08-29 07:52 guysherman File Added: ardour-debug.txt
2015-08-29 08:22 guysherman Note Added: 0017120
2015-09-02 04:56 x42 Relationship added has duplicate 0006560
2015-09-10 08:36 paul Note Added: 0017174
2015-09-10 09:10 Ejis Note Added: 0017175
2015-09-10 09:11 Ejis Status new => resolved
2015-09-10 09:11 Ejis Resolution open => fixed
2015-09-10 09:11 Ejis Assigned To => Ejis


Copyright © 2000 - 2016 MantisBT Team
Powered by Mantis Bugtracker