View Issue Details

IDCategoryLast Update
0006609bugs2016-02-14 10:58
ReportercolinfAssigned Totimbyr 
Reproducibilityalways 
Status resolvedResolutionfixed 
Product Version4.X git (version in description) 
Fixed in Version4.7 
Summary0006609: Right-click in active track name box crashes
DescriptionIf the track name in the track header is active for editing (after a double-click), right-clicking in the text crashes ardour.
Additional InformationBacktrace attached.
TagsNo tags attached.

Activities

2015-09-27 17:41

 

track-name-right-click-bt (20,382 bytes)
colinf@colinf-laptop:~/src/ardour2/ardour/gtk2_ardour$ ./ardev
bind txt domain [gtk2_ardour4] to /usr/local/share/ardour4/locale
Ardour4.2.426 (built using 4.2-426-g2e6b455 and GCC version 4.7.2)
ardour: [INFO]: Your system is configured to limit Ardour to only 4096 open files
ardour: [INFO]: Loading system configuration file /home/colinf/src/ardour2/ardour/system_config
Loading user configuration file /home/colinf/.config/ardour4/config
CPU vendor: GenuineIntel
ardour: [INFO]: CPU brand: Intel(R) Core(TM)2 Duo CPU     P8600  @ 2.40GHz
ardour: [INFO]: Using SSE optimized routines
ardour: [INFO]: Loading default ui configuration file /home/colinf/src/ardour2/ardour/build/gtk2_ardour/default_ui_config
ardour: [INFO]: Loading user ui configuration file /home/colinf/.config/ardour4/ui_config
ardour: [INFO]: Loading colour file /home/colinf/src/ardour2/ardour/gtk2_ardour/dark.colors
ardour: [INFO]: Loading ui configuration file /home/colinf/src/ardour2/ardour/build/gtk2_ardour/clearlooks.rc
ardour: [INFO]: Loading ui configuration file /home/colinf/src/ardour2/ardour/build/gtk2_ardour/clearlooks.rc
EngineControl::set_state
Found 2 along /home/colinf/.config/ardour4/templates:./../templates:./../build/templates:./../gtk2_ardour/templates:./../build/gtk2_ardour/templates:./templates
run dialog
Error opening file /home/colinf/.lv2/README/manifest.ttl (Not a directory)
lilv_world_load_file(): error: Error loading file `file:///home/colinf/.lv2/README/manifest.ttl'
lilv_world_load_bundle(): error: Error reading file:///home/colinf/.lv2/README/manifest.ttl
lilv_world_add_plugin(): error: Duplicate plugin <https://community.ardour.org/node/7596>
lilv_world_add_plugin(): error: ... found in file:///home/colinf/src/ardour2/ardour/build/libs/LV2/reasonablesynth.lv2/
lilv_world_add_plugin(): error: ... and      file:///usr/local/lib/lv2/reasonablesynth.lv2/
Scanning folders for bundled LV2s: ./../build/libs/LV2
Error opening file /home/colinf/.lv2/README/manifest.ttl (Not a directory)
lilv_world_load_file(): error: Error loading file `file:///home/colinf/.lv2/README/manifest.ttl'
lilv_world_load_bundle(): error: Error reading file:///home/colinf/.lv2/README/manifest.ttl
lilv_world_add_plugin(): error: Duplicate plugin <https://community.ardour.org/node/7596>
lilv_world_add_plugin(): error: ... found in file:///home/colinf/src/ardour2/ardour/build/libs/LV2/reasonablesynth.lv2/
lilv_world_add_plugin(): error: ... and      file:///usr/local/lib/lv2/reasonablesynth.lv2/
Set cursor set to default
Set buffering params to 262144|131072|10|10
Set buffering params to 262144|131072|10|10
Skip explicit buffer seconds, preset in use
Skip explicit buffer seconds, preset in use
Announcement is: 

(ardour-4.2.426:21474): Gtk-CRITICAL **: IA__gtk_widget_get_settings: assertion `GTK_IS_WIDGET (widget)' failed

(ardour-4.2.426:21474): GLib-GObject-CRITICAL **: g_object_get: assertion `G_IS_OBJECT (object)' failed

(ardour-4.2.426:21474): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `(null)'

(ardour-4.2.426:21474): Gtk-CRITICAL **: IA__gtk_widget_get_toplevel: assertion `GTK_IS_WIDGET (widget)' failed

(ardour-4.2.426:21474): Gtk-CRITICAL **: IA__gtk_window_set_mnemonics_visible: assertion `GTK_IS_WINDOW (window)' failed
Segmentation fault (core dumped)
colinf@colinf-laptop:~/src/ardour2/ardour/gtk2_ardour$ ./ardbg
GNU gdb (GDB) 7.4.1-debian
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/colinf/src/ardour2/ardour/build/gtk2_ardour/ardour-4.2.426...done.
(gdb) core-file core
[New LWP 21474]
[New LWP 21503]
[New LWP 21504]
[New LWP 21478]
[New LWP 21479]
[New LWP 21480]
[New LWP 21481]
[New LWP 21505]
[New LWP 21482]
[New LWP 21506]
[New LWP 21477]
[New LWP 21500]
warning: Can't read pathname for load map: Input/output error.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7ffdc1bb3000
Core was generated by `./../build/gtk2_ardour/ardour-4.2.426'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007f9d128c433b in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
(gdb) thread apply all bt

Thread 12 (Thread 0x7f9cee538700 (LWP 21500)):
#0  0x00007f9d0ed4891d in nanosleep () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007f9d1322a542 in g_usleep () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9d0038bf72 in ARDOUR::DummyAudioBackend::main_process_thread (this=0x20403b0) at ../libs/backends/dummy/dummy_audiobackend.cc:1277
#3  0x00007f9d00388665 in pthread_process (arg=0x20403b0) at ../libs/backends/dummy/dummy_audiobackend.cc:417
#4  0x00007f9d0ed40b50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#5  0x00007f9d0c18595d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7f9d04b9d700 (LWP 21477)):
#0  0x00007f9d0ed4891d in nanosleep () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007f9d1322a542 in g_usleep () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x0000000000f6ec55 in gui_event_loop (ptr=0x0) at ../gtk2_ardour/linux_vst_gui_support.cc:476
#3  0x00007f9d0ed40b50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#4  0x00007f9d0c18595d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7f9ced536700 (LWP 21506)):
#0  0x00007f9d0ed4891d in nanosleep () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007f9d1322a542 in g_usleep () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9d156d7a28 in ARDOUR::AutomationWatch::thread (this=0x7f9cfc58d770) at ../libs/ardour/automation_watch.cc:153
#3  0x00007f9d156daf2b in boost::_mfi::mf0<void, ARDOUR::AutomationWatch>::operator() (this=0x7f9cfcadcd70, p=0x7f9cfc58d770) at /usr/include/boost/bind/mem_fn_template.hpp:49
#4  0x00007f9d156dab86 in boost::_bi::list1<boost::_bi::value<ARDOUR::AutomationWatch*> >::operator()<boost::_mfi::mf0<void, ARDOUR::AutomationWatch>, boost::_bi::list0> (
    this=0x7f9cfcadcd80, f=..., a=...) at /usr/include/boost/bind/bind.hpp:253
#5  0x00007f9d156da731 in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AutomationWatch>, boost::_bi::list1<boost::_bi::value<ARDOUR::AutomationWatch*> > >::operator() (
    this=0x7f9cfcadcd70) at /usr/include/boost/bind/bind_template.hpp:20
#6  0x00007f9d156da6bc in sigc::adaptor_functor<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AutomationWatch>, boost::_bi::list1<boost::_bi::value<ARDOUR::AutomationWatch*> > > >::operator() (this=0x7f9cfcadcd70) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#7  0x00007f9d156da20c 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 (rep=0x7f9cfcadcd40) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#8  0x00007f9d1394f87d in ?? () from /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1
#9  0x00007f9d13228f45 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007f9d0ed40b50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#11 0x00007f9d0c18595d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f9d01adc700 (LWP 21482)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f9d1324269f in g_cond_wait () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9d15684f80 in ARDOUR::AudioEngine::do_devicelist_update (this=0x7f9cfc129900) at ../libs/ardour/audioengine.cc:536
#3  0x00007f9d156912ef in boost::_mfi::mf0<void, ARDOUR::AudioEngine>::operator() (this=0x7f9cfc12a220, p=0x7f9cfc129900) at /usr/include/boost/bind/mem_fn_template.hpp:49
#4  0x00007f9d15690f32 in boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> >::operator()<boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list0> (
    this=0x7f9cfc12a230, f=..., a=...) at /usr/include/boost/bind/bind.hpp:253
#5  0x00007f9d15690893 in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> > >::operator() (
    this=0x7f9cfc12a220) at /usr/include/boost/bind/bind_template.hpp:20
#6  0x00007f9d1569006a in sigc::adaptor_functor<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> > > >::operator() (this=0x7f9cfc12a220) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#7  0x00007f9d1568f270 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 (rep=0x7f9cfc12a1f0) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#8  0x00007f9d1394f87d in ?? () from /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1
#9  0x00007f9d13228f45 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007f9d0ed40b50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#11 0x00007f9d0c18595d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f9ceed39700 (LWP 21505)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
---Type <return> to continue, or q <return> to quit---
#1  0x00007f9d15a4caa2 in ARDOUR::Session::emit_thread_run (this=0x28e51f0) at ../libs/ardour/session_process.cc:1313
#2  0x00007f9d15a4ca4c in ARDOUR::Session::emit_thread (arg=0x28e51f0) at ../libs/ardour/session_process.cc:1302
#3  0x00007f9d0ed40b50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#4  0x00007f9d0c18595d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f9d022dd700 (LWP 21481)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f9d1324269f in g_cond_wait () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9d15684d4d in ARDOUR::AudioEngine::do_reset_backend (this=0x7f9cfc129900) at ../libs/ardour/audioengine.cc:501
#3  0x00007f9d156912ef in boost::_mfi::mf0<void, ARDOUR::AudioEngine>::operator() (this=0x7f9cfc12a040, p=0x7f9cfc129900) at /usr/include/boost/bind/mem_fn_template.hpp:49
#4  0x00007f9d15690f32 in boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> >::operator()<boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list0> (
    this=0x7f9cfc12a050, f=..., a=...) at /usr/include/boost/bind/bind.hpp:253
#5  0x00007f9d15690893 in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> > >::operator() (
    this=0x7f9cfc12a040) at /usr/include/boost/bind/bind_template.hpp:20
#6  0x00007f9d1569006a in sigc::adaptor_functor<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> > > >::operator() (this=0x7f9cfc12a040) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#7  0x00007f9d1568f270 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 (rep=0x7f9cfc12a010) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#8  0x00007f9d1394f87d in ?? () from /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1
#9  0x00007f9d13228f45 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007f9d0ed40b50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#11 0x00007f9d0c18595d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f9d0339a700 (LWP 21480)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f9d1324269f in g_cond_wait () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9d1563528d in ARDOUR::Analyser::work () at ../libs/ardour/analyser.cc:85
#3  0x00007f9d15635075 in analyser_work () at ../libs/ardour/analyser.cc:50
#4  0x0000000000c955bd in sigc::pointer_functor0<void>::operator() (this=0x1ee3898) at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:77
#5  0x0000000000c92c28 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x1ee3890) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#6  0x0000000000c8f4a5 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x1ee3860) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#7  0x00007f9d1394f87d in ?? () from /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1
#8  0x00007f9d13228f45 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007f9d0ed40b50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#10 0x00007f9d0c18595d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f9d03b9b700 (LWP 21479)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f9d1324269f in g_cond_wait () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9d15ab786e in peak_thread_work () at ../libs/ardour/source_factory.cc:71
#3  0x0000000000c955bd in sigc::pointer_functor0<void>::operator() (this=0x1ed62d8) at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:77
#4  0x0000000000c92c28 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x1ed62d0) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#5  0x0000000000c8f4a5 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x1ed62a0) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#6  0x00007f9d1394f87d in ?? () from /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1
#7  0x00007f9d13228f45 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007f9d0ed40b50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#9  0x00007f9d0c18595d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f9d0439c700 (LWP 21478)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f9d1324269f in g_cond_wait () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9d15ab786e in peak_thread_work () at ../libs/ardour/source_factory.cc:71
#3  0x0000000000c955bd in sigc::pointer_functor0<void>::operator() (this=0x1ed6388) at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:77
#4  0x0000000000c92c28 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x1ed6380) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
---Type <return> to continue, or q <return> to quit---
#5  0x0000000000c8f4a5 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x1ed6350) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#6  0x00007f9d1394f87d in ?? () from /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1
#7  0x00007f9d13228f45 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007f9d0ed40b50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#9  0x00007f9d0c18595d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f9cf053c700 (LWP 21504)):
#0  0x00007f9d0c17ad13 in *__GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f9d13206624 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9d13206a82 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f9d142b104c in BaseUI::main_thread (this=0x2db0f30) at ../libs/pbd/base_ui.cc:86
#4  0x00007f9d142b4b38 in sigc::bound_mem_functor0<void, BaseUI>::operator() (this=0x2db1658) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
#5  0x00007f9d142b488c in sigc::adaptor_functor<sigc::bound_mem_functor0<void, BaseUI> >::operator() (this=0x2db1650)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#6  0x00007f9d142b43af in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, BaseUI>, void>::call_it (rep=0x2db1620) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#7  0x00007f9d1394f87d in ?? () from /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1
#8  0x00007f9d13228f45 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007f9d0ed40b50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#10 0x00007f9d0c18595d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f9ceda6b820 (LWP 21503)):
#0  0x00007f9d0c17ad13 in *__GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f9d142c6bbd in CrossThreadChannel::poll_for_request (this=0x28ebb20) at ../libs/pbd/crossthread.posix.cc:73
#2  0x00007f9d142c6c2f in CrossThreadChannel::receive (this=0x28ebb20, msg=@0x7f9ceda6a64f: 0 '\000', wait=true) at ../libs/pbd/crossthread.posix.cc:94
#3  0x00007f9d156eb984 in ARDOUR::Butler::thread_work (this=0x28eba90) at ../libs/ardour/butler.cc:175
#4  0x00007f9d156eb6c1 in ARDOUR::Butler::_thread_work (arg=0x28eba90) at ../libs/ardour/butler.cc:156
#5  0x00007f9d142ddaaa in fake_thread_start (arg=0x2da0ca0) at ../libs/pbd/pthread_utils.cc:93
#6  0x00007f9d0ed40b50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#7  0x00007f9d0c18595d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f9d16e08960 (LWP 21474)):
#0  0x00007f9d128c433b in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#1  0x00007f9d128bc230 in gtk_menu_popup () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#2  0x00007f9d1283d317 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#3  0x00007f9d129e22e1 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#4  0x00007f9d136ca6e0 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#5  0x00007f9d136db750 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#6  0x00007f9d136e36bc in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#7  0x00007f9d136e3d60 in g_signal_emit_by_name () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#8  0x00007f9d12914ef3 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#9  0x00007f9d1291883f in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#10 0x00007f9d128b2099 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#11 0x00007f9d136ca6e0 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007f9d136db4d0 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x00007f9d136e32db in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#14 0x00007f9d136e3852 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#15 0x00007f9d129c993e in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#16 0x00007f9d128b09bb in gtk_main_do_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#17 0x00007f9d1251d7ac in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#18 0x00007f9d13206355 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007f9d13206688 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007f9d13206a82 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007f9d128af797 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#22 0x00007f9d163ee85b in Gtkmm2ext::UI::run (this=0x7f9cfc130af0, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:280
#23 0x0000000000a7a97f in main (argc=1, argv=0x7ffdc1b4ece8) at ../gtk2_ardour/main.cc:389
(gdb) 
(gdb) 

track-name-right-click-bt (20,382 bytes)

chaot

2015-09-28 10:39

reporter   ~0017387

Last edited: 2015-09-28 10:39

I cannot reproduce this (neither git nor ardour.org binary) but I get those gtk errors/warnings when trying to reproduce:

(ardour-4.2.393:9743): Gtk-CRITICAL **: IA__gtk_widget_get_settings: assertion 'GTK_IS_WIDGET (widget)' failed

(ardour-4.2.393:9743): GLib-GObject-CRITICAL **: g_object_get: assertion 'G_IS_OBJECT (object)' failed

colinf

2015-09-28 13:14

updater   ~0017393

Nightly 4.2.428 doesn't crash for me either. On right-clicking an active track name box, a menu momentarily pops up, and then immediately disappears, and the track name goes back to the 'inactive for editing' state.

I think this is still a bug, albeit not as serious: in my opinion, right-clicking an active track name box should pop up a standard text context menu, as other text entries do.

x42

2015-09-28 21:42

administrator   ~0017395

I dimly recall seeing those with ancient gtk.
Right-click shows a copy/cut/paste context-text for the gtk entry. If the text-entry widget is removed while the menu is visible old gtk crashes. Meanwhile fixed in gtk upstream.

colinf

2015-09-29 13:56

updater   ~0017399

So it's a gtk bug, not an ardour one?

elgoun

2016-01-15 03:33

reporter   ~0017788

It's not a Gtk bug, problem is in TimeAxisView class.

When right-clicking in the text entry, popup menu grab focus. Consequently, the "focus out" handler is called, destroy the text entry and replace it by the label name of the track.
When menu pop up, it try to access to a widget no longer available.

Attached a patch that fix this issue.

elgoun

2016-01-15 03:34

reporter  

fix-6609.patch (2,024 bytes)
diff --git a/gtk2_ardour/time_axis_view.cc b/gtk2_ardour/time_axis_view.cc
index 4ad476b..65fb6e7 100644
--- a/gtk2_ardour/time_axis_view.cc
+++ b/gtk2_ardour/time_axis_view.cc
@@ -112,6 +112,7 @@ TimeAxisView::TimeAxisView (ARDOUR::Session* sess, PublicEditor& ed, TimeAxisVie
 	, _preresize_cursor (0)
 	, _have_preresize_cursor (false)
 	, _ebox_release_can_act (true)
+	, by_popup_menu (false)
 {
 	if (!controls_meters_size_group) {
 		controls_meters_size_group = SizeGroup::create (SIZE_GROUP_HORIZONTAL);
@@ -652,11 +653,21 @@ TimeAxisView::name_entry_key_release (GdkEventKey* ev)
 bool
 TimeAxisView::name_entry_focus_out (GdkEventFocus*)
 {
+	if (by_popup_menu) {
+		by_popup_menu = false;
+		return false;
+	}
 	end_name_edit (RESPONSE_OK);
 	return false;
 }
 
 void
+TimeAxisView::name_entry_populate_popup (Gtk::Menu *)
+{
+	by_popup_menu = true;
+}
+
+void
 TimeAxisView::begin_name_edit ()
 {
 	if (name_entry) {
@@ -675,6 +686,7 @@ TimeAxisView::begin_name_edit ()
 		name_entry->signal_focus_out_event().connect (sigc::mem_fun (*this, &TimeAxisView::name_entry_focus_out));
 		name_entry->set_text (name_label.get_text());
 		name_entry->signal_activate().connect (sigc::bind (sigc::mem_fun (*this, &TimeAxisView::end_name_edit), RESPONSE_OK));
+		name_entry->signal_populate_popup().connect (sigc::mem_fun (*this, &TimeAxisView::name_entry_populate_popup));
 
 		if (name_label.is_ancestor (name_hbox)) {
 			name_hbox.remove (name_label);
diff --git a/gtk2_ardour/time_axis_view.h b/gtk2_ardour/time_axis_view.h
index 1eb1935..4be2380 100644
--- a/gtk2_ardour/time_axis_view.h
+++ b/gtk2_ardour/time_axis_view.h
@@ -257,9 +257,11 @@ class TimeAxisView : public virtual AxisView
 	bool name_entry_key_release (GdkEventKey *ev);
 	bool name_entry_key_press (GdkEventKey *ev);
 	bool name_entry_focus_out (GdkEventFocus *ev);
+	void name_entry_populate_popup (Gtk::Menu *);
 
 	Gtk::Entry* name_entry;
 	bool ending_name_edit;
+	bool by_popup_menu;
 	void begin_name_edit ();
 	void end_name_edit (int);
 
fix-6609.patch (2,024 bytes)

colinf

2016-01-15 10:49

updater   ~0017790

Ah, seems very plausible. I'll give the patch a try when I have a few moments later...

colinf

2016-01-16 18:53

updater   ~0017800

Right, that mostly works...

Right-clicking in an active track name edit box with the patch applies now pops up the standard GTK text context menu, and 'Cut/Copy/Paste' seem to work as expected. However, the appearance of the selected text reverts to that of unselected text when the menu is showing, so it's difficult to know exactly what 'Cut/Copy/Paste' will act upon. Also, 'Select All' doesn't appear to do anything.

timbyr

2016-02-02 02:42

developer   ~0017863

I can confirm the patch fixes the crash. If the context menu is going to be shown then I guess it should also work as expected but I think that could also be fixed later.

The other option is to handle the button press event on the entry and not show the menu.

elgoun

2016-02-02 10:04

reporter   ~0017867

The appearance of the selected text is a theme related problem.

Attached a patch that fix that.

elgoun

2016-02-02 10:07

reporter  

fix-selected-text-not-visible-on-track-name-entry.patch (421 bytes)
diff --git a/gtk2_ardour/clearlooks.rc.in b/gtk2_ardour/clearlooks.rc.in
index e2a0463..a8c94fb 100644
--- a/gtk2_ardour/clearlooks.rc.in
+++ b/gtk2_ardour/clearlooks.rc.in
@@ -811,7 +811,7 @@ style "track_name_display" = "medium_text"
 	text[SELECTED] = @foreground
 
 	base[NORMAL] = @bases
-	base[ACTIVE] = lighter(@bases)
+	base[ACTIVE] = @bg_selected
 	base[SELECTED] = @bg_selected
 
 	bg[NORMAL] = lighter(@bases)

colinf

2016-02-02 16:35

updater   ~0017868

Ah, thank you, that all works fine for me now (with both patches applied). 'Select all' seems to work as expected now too: I must have just got confused by not being able to actually see the selection before.

timbyr

2016-02-10 00:53

developer   ~0017893

I tried with the additional fix-selected-text*.patch and it does not seem to be an improvement as now the text cursor is not displayed when editing the text.

As the first patch fixes a crashing bug I think it is acceptable as is for the moment and if you could open a pull request on github with the fix-6609.patch then myself or one of the other developers will apply/merge it.

elgoun

2016-02-10 23:33

reporter   ~0017900

Hmm even with the fix-selected-text*.patch I can see the cursor when editing the text... I'll submit a pull request for fix-6609

timbyr

2016-02-11 12:10

developer  

6609-fix-selected-patch.webm (91,426 bytes)

timbyr

2016-02-11 12:12

developer   ~0017909

I uploaded a little video of what it looks like on my system with your second fix-selected-text* patch applied.

As you may notice it is quite hard to see the location of the text cursor. Let me know if it looks different for you.

elgoun

2016-02-11 12:51

reporter   ~0017910

Curious, my text entry background is black and cursor is blue.
I tested it under gnome3(my daily desktop env), xfce4 and cinnamon.

Did you change some color parameters in Preferences->Theme->Items (I don't know if this is relevant)

I uploaded a little video too.

elgoun

2016-02-11 12:52

reporter  

ardour-6609-selected-text-and-cursor.webm (106,292 bytes)

timbyr

2016-02-13 03:26

developer   ~0017927

I committed this first patch(via PR#202) to ardour master as revision 1fbe4253aa or nightly >= 4.6.331

The difference we are seeing in the behaviour of the second patch may be due to the library versions on my system. If the second patch works correctly with the official library versions(nightly build) then I'll commit it also.

timbyr

2016-02-14 01:26

developer   ~0017930

I just committed the second patch to ardour master as revision fc011e752a and will be in a nightly build >= 4.6.345

If you can confirm fix that would be appreciated and I'll mark bug as resolved, thanks.

colinf

2016-02-14 01:35

updater   ~0017931

Last edited: 2016-02-14 01:37

View 2 revisions

I think it's good now.

There is one oddity, but I'm not sure whether it's a side-effect of the patch or just some anomalous behaviour I haven't noticed before: after the context menu has popped up, clicking outside the menu without selecting an item leaves the name entry box visible (as it should), but keyboard focus is no longer in the box, so the typed keys don't go into renaming the track as expected but are instead treated as normal keyboard shortcuts.

Given that this whole mechanism is likely to be rendered obsolete when the tabbed branch is merged into master, it's maybe not worth worrying about, but I thought I ought to at least mention it here.

timbyr

2016-02-14 10:58

developer   ~0017932

Yes, your right that is a bit odd and not what I would expect. Perhaps it is something to keep in mind when implementing/testing a new implementation of track renaming if/when that happens.

Issue History

Date Modified Username Field Change
2015-09-27 17:41 colinf New Issue
2015-09-27 17:41 colinf File Added: track-name-right-click-bt
2015-09-28 10:39 chaot Note Added: 0017387
2015-09-28 10:39 chaot Note Edited: 0017387
2015-09-28 13:14 colinf Note Added: 0017393
2015-09-28 21:42 x42 Note Added: 0017395
2015-09-29 13:56 colinf Note Added: 0017399
2016-01-15 03:33 elgoun Note Added: 0017788
2016-01-15 03:34 elgoun File Added: fix-6609.patch
2016-01-15 10:49 colinf Note Added: 0017790
2016-01-16 18:53 colinf Note Added: 0017800
2016-02-02 02:42 timbyr Note Added: 0017863
2016-02-02 02:42 timbyr Status new => confirmed
2016-02-02 10:04 elgoun Note Added: 0017867
2016-02-02 10:07 elgoun File Added: fix-selected-text-not-visible-on-track-name-entry.patch
2016-02-02 16:35 colinf Note Added: 0017868
2016-02-10 00:53 timbyr Note Added: 0017893
2016-02-10 23:33 elgoun Note Added: 0017900
2016-02-11 12:10 timbyr File Added: 6609-fix-selected-patch.webm
2016-02-11 12:12 timbyr Note Added: 0017909
2016-02-11 12:51 elgoun Note Added: 0017910
2016-02-11 12:52 elgoun File Added: ardour-6609-selected-text-and-cursor.webm
2016-02-13 03:26 timbyr Note Added: 0017927
2016-02-14 01:26 timbyr Note Added: 0017930
2016-02-14 01:26 timbyr Assigned To => timbyr
2016-02-14 01:26 timbyr Status confirmed => feedback
2016-02-14 01:35 colinf Note Added: 0017931
2016-02-14 01:35 colinf Status feedback => assigned
2016-02-14 01:37 colinf Note Edited: 0017931 View Revisions
2016-02-14 10:58 timbyr Note Added: 0017932
2016-02-14 10:58 timbyr Status assigned => resolved
2016-02-14 10:58 timbyr Fixed in Version => 4.7
2016-02-14 10:58 timbyr Resolution open => fixed