View Issue Details

IDProjectCategoryView StatusLast Update
0001348ardourbugspublic2008-11-20 23:50
Reporterb0ef Assigned Topaul  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Summary0001348: Save when Disconnected from JACK Cause Freeze
DescriptionWhen you hit the save button while JACK is disconnected from JACK, it will freeze and only thing to do, is kill it.

It might not be sensible to hit save when it's disconnected;), so maybe it should be greyed out?.
TagsNo tags attached.

Activities

v2

2007-01-31 20:33

developer   ~0003139

Which version of ardour and jack are you running?

I'm unable to duplicate this with 2.0 rev 1400 and jack 0.102.20.

2007-02-02 11:37

 

disconnect-from-jack-and-save-bt.txt (7,854 bytes)   
(gdb) thread apply all bt

Thread 55 (Thread 1075272288 (LWP 17120)):
#0  0x00000032bbac4a36 in poll () from /lib64/libc.so.6
#1  0x00002aaaaade9ff2 in ARDOUR::Session::midi_thread_work (this=0x2aaac4fd52a0) at libs/ardour/session_midi.cc:1208
#2  0x00002aaaaadea50b in ARDOUR::Session::_midi_thread_work (arg=0x2aaac4fd52a0) at libs/ardour/session_midi.cc:1129
#3  0x00000032bc606305 in start_thread () from /lib64/libpthread.so.0
#4  0x00000032bbacd50d in clone () from /lib64/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 54 (Thread 1075776096 (LWP 17119)):
#0  0x00000032bbac4a36 in poll () from /lib64/libc.so.6
#1  0x00002aaaaadccaeb in ARDOUR::Session::butler_thread_work (this=0x2aaac4fd52a0) at libs/ardour/session_butler.cc:175
#2  0x00002aaaaadcd827 in ARDOUR::Session::_butler_thread_work (arg=0x2aaac4fd52a0) at libs/ardour/session_butler.cc:156
#3  0x00000032bc606305 in start_thread () from /lib64/libpthread.so.0
#4  0x00000032bbacd50d in clone () from /lib64/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 13 (Thread 1179642464 (LWP 17065)):
#0  0x00000032bbac4a36 in poll () from /lib64/libc.so.6
#1  0x00002aaaaacc602d in ARDOUR::AudioSource::peak_thread_work (arg=0x0) at libs/ardour/audiosource.cc:140
#2  0x00000032bc606305 in start_thread () from /lib64/libpthread.so.0
#3  0x00000032bbacd50d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 2 (Thread 1074240096 (LWP 17051)):
#0  0x00000032bc60d4a1 in nanosleep () from /lib64/libpthread.so.0
#1  0x0000003c7464b2b8 in g_usleep () from /lib64/libglib-2.0.so.0
#2  0x00002aaaac6665c1 in Glib::usleep (microseconds=10000) at libs/glibmm2/glibmm/timer.cc:68
#3  0x00002aaaaaca8b10 in ARDOUR::AudioEngine::meter_thread (this=0x122ab30) at libs/ardour/audioengine.cc:413
#4  0x00002aaaaacabb67 in sigc::bound_mem_functor0<void, ARDOUR::AudioEngine>::operator() (this=0x112ebb8) at libs/sigc++2/sigc++/functors/mem_fun.h:1781
#5  0x00002aaaaacabb83 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, ARDOUR::AudioEngine> >::operator() (this=0x112ebb0)
    at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#6  0x00002aaaaacabba7 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, ARDOUR::AudioEngine>, void>::call_it (rep=0x112eb80)
    at libs/sigc++2/sigc++/functors/slot.h:103
#7  0x000000000074cdf7 in sigc::slot0<void>::operator() (this=0x11239b0) at libs/sigc++2/sigc++/functors/slot.h:440
#8  0x00002aaaac65c540 in call_thread_entry_slot (data=0x11239b0) at libs/glibmm2/glibmm/thread.cc:43
#9  0x0000003c746490f4 in g_thread_create_full () from /lib64/libglib-2.0.so.0
#10 0x00000032bc606305 in start_thread () from /lib64/libpthread.so.0
#11 0x00000032bbacd50d in clone () from /lib64/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 1 (Thread 46912543427280 (LWP 17050)):
#0  0x00000032c5008f30 in jack_port_get_connections () from /usr/lib64/libjack.so.0
#1  0x0000000000774145 in ARDOUR::Port::get_connections (this=0x2aaac4f81af0) at libs/ardour/ardour/port.h:87
#2  0x00002aaaaad26fd3 in ARDOUR::IO::state (this=0x2aaac4cb6eb0, full_state=true) at libs/ardour/io.cc:1531
#3  0x00002aaaaad7c3a0 in ARDOUR::Route::state (this=0x2aaac4cb6eb0, full_state=true) at libs/ardour/route.cc:1407
#4  0x00002aaaaaca02ed in ARDOUR::AudioTrack::state (this=0x2aaac4cb6eb0, full_state=true) at libs/ardour/audio_track.cc:302
#5  0x00002aaaaac9a4d1 in ARDOUR::Track::get_state (this=0x2aaac4cb6eb0) at libs/ardour/track.cc:74
#6  0x00002aaaaadfca20 in ARDOUR::Session::state (this=0x2aaac4fd52a0, full_state=true) at libs/ardour/session_state.cc:968
#7  0x00002aaaaadfd536 in ARDOUR::Session::get_state (this=0x2aaac4fd52a0) at libs/ardour/session_state.cc:804
#8  0x00002aaaaadfe075 in ARDOUR::Session::save_state (this=0x2aaac4fd52a0, snapshot_name=@0x7fff4dfb7b60, pending=false)
---Type <return> to continue, or q <return> to quit---
    at libs/ardour/session_state.cc:592
#9  0x000000000075f7a8 in ARDOUR_UI::save_state_canfail (this=0xebf190, name=@0x7fff4dfb7bb0) at gtk2_ardour/ardour_ui.cc:1531
#10 0x000000000075f82d in ARDOUR_UI::save_state (this=0xebf190, name=@0x14f2f38) at gtk2_ardour/ardour_ui.cc:1518
#11 0x000000000079b97d in sigc::bound_mem_functor1<void, ARDOUR_UI, std::string const&>::operator() (this=0x14f2f20, _A_a1=@0x14f2f38)
    at libs/sigc++2/sigc++/functors/mem_fun.h:1838
#12 0x000000000079b9a1 in sigc::adaptor_functor<sigc::bound_mem_functor1<void, ARDOUR_UI, std::string const&> >::operator()<std::string&> (this=0x14f2f18, 
    _A_arg1=@0x14f2f38) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:84
#13 0x000000000079b9c5 in sigc::bind_functor<-1, sigc::bound_mem_functor1<void, ARDOUR_UI, std::string const&>, std::string, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::operator() (this=0x14f2f10) at libs/sigc++2/sigc++/adaptors/bind.h:1269
#14 0x000000000079b9e9 in sigc::internal::slot_call0<sigc::bind_functor<-1, sigc::bound_mem_functor1<void, ARDOUR_UI, std::string const&>, std::string, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void>::call_it (rep=0x14f2ee0) at libs/sigc++2/sigc++/functors/slot.h:103
#15 0x000000000074cdf7 in sigc::slot0<void>::operator() (this=0x14f2e58) at libs/sigc++2/sigc++/functors/slot.h:440
#16 0x00002aaaac654373 in Glib::SignalProxyNormal::slot0_void_callback (self=0x14eab80, data=0x14f2e50) at libs/glibmm2/glibmm/signalproxy.cc:95
#17 0x0000003c74a0af19 in g_closure_invoke () from /lib64/libgobject-2.0.so.0
#18 0x0000003c74a1aa3a in g_signal_chain_from_overridden () from /lib64/libgobject-2.0.so.0
#19 0x0000003c74a1bbd4 in g_signal_emit_valist () from /lib64/libgobject-2.0.so.0
#20 0x0000003c74a1bda3 in g_signal_emit () from /lib64/libgobject-2.0.so.0
#21 0x0000003c75e64963 in gtk_widget_get_action () from /usr/lib64/libgtk-x11-2.0.so.0
#22 0x0000003c74a0af19 in g_closure_invoke () from /lib64/libgobject-2.0.so.0
#23 0x0000003c74a1a788 in g_signal_chain_from_overridden () from /lib64/libgobject-2.0.so.0
#24 0x0000003c74a1bbd4 in g_signal_emit_valist () from /lib64/libgobject-2.0.so.0
#25 0x0000003c74a1bda3 in g_signal_emit () from /lib64/libgobject-2.0.so.0
#26 0x0000003c7603407a in gtk_widget_activate () from /usr/lib64/libgtk-x11-2.0.so.0
#27 0x0000003c75f3e470 in gtk_menu_shell_activate_item () from /usr/lib64/libgtk-x11-2.0.so.0
#28 0x0000003c75f3f920 in gtk_menu_shell_append () from /usr/lib64/libgtk-x11-2.0.so.0
#29 0x0000003c75f3266d in gtk_marshal_BOOLEAN__VOID () from /usr/lib64/libgtk-x11-2.0.so.0
#30 0x0000003c74a0af19 in g_closure_invoke () from /lib64/libgobject-2.0.so.0
#31 0x0000003c74a1ad98 in g_signal_chain_from_overridden () from /lib64/libgobject-2.0.so.0
#32 0x0000003c74a1b99d in g_signal_emit_valist () from /lib64/libgobject-2.0.so.0
#33 0x0000003c74a1bda3 in g_signal_emit () from /lib64/libgobject-2.0.so.0
#34 0x0000003c760303ae in gtk_widget_get_default_style () from /usr/lib64/libgtk-x11-2.0.so.0
#35 0x0000003c75f2bc7d in gtk_propagate_event () from /usr/lib64/libgtk-x11-2.0.so.0
#36 0x0000003c75f2cc91 in gtk_main_do_event () from /usr/lib64/libgtk-x11-2.0.so.0
#37 0x0000003c75a467ec in gdk_add_client_message_filter () from /usr/lib64/libgdk-x11-2.0.so.0
#38 0x0000003c7462cf64 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#39 0x0000003c7462fd9d in g_main_context_check () from /lib64/libglib-2.0.so.0
#40 0x0000003c746300aa in g_main_loop_run () from /lib64/libglib-2.0.so.0
#41 0x0000003c75f2d023 in gtk_main () from /usr/lib64/libgtk-x11-2.0.so.0
#42 0x00002aaaabdaabb5 in Gtk::Main::run_impl (this=0xebef60) at libs/gtkmm2/gtk/gtkmm/main.cc:503
#43 0x00002aaaabdaaa42 in Gtk::Main::run () at libs/gtkmm2/gtk/gtkmm/main.cc:450
#44 0x00002aaaab3b38f9 in Gtkmm2ext::UI::run (this=0xebf190, old_receiver=@0xe8bf60) at libs/gtkmm2ext/gtk_ui.cc:214
#45 0x00000000009b3182 in main (argc=1, argv=0x7fff4dfb93f8) at gtk2_ardour/main.cc:460
(gdb) 

timbyr

2007-02-02 11:38

developer   ~0003153

I can reproduce this with rev 1405, attached backtrace.

paul

2007-02-02 16:05

administrator   ~0003154

fixed in my code. commit to svn coming soon. comments on the fix welcome, in terms of what the GUI should do etc.

Issue History

Date Modified Username Field Change
2006-12-04 00:07 b0ef New Issue
2007-01-31 20:33 v2 Note Added: 0003139
2007-01-31 20:33 v2 Status new => feedback
2007-02-02 11:37 timbyr File Added: disconnect-from-jack-and-save-bt.txt
2007-02-02 11:38 timbyr Note Added: 0003153
2007-02-02 11:49 timbyr Status feedback => confirmed
2007-02-02 16:05 paul Status confirmed => resolved
2007-02-02 16:05 paul Resolution open => fixed
2007-02-02 16:05 paul Assigned To => paul
2007-02-02 16:05 paul Note Added: 0003154
2008-11-20 23:50 seablade Status resolved => closed