View Issue Details

IDProjectCategoryView StatusLast Update
0004351ardourbugspublic2020-04-19 20:15
Reporteracolomb Assigned Topaul  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Target Version3.0 
Summary0004351: Crash when loading session; control protocol / theme issue?
DescriptionSVN r10187 crashes with segfault when trying to create a new session or open an existing one. Judging by the attached backtrace, it has something to do with loading control surfaces and the associated log message.

Could this be caused by a missing theme? ardour_ui_dark.rc seems to not be installed anymore after some changes in r10161 and r10162. I think somehow the "use_the_magic()" call on the new rc include processor got dropped in the second commit. Plus I can't find any install_path property for these rc files.
TagsNo tags attached.

Activities

2011-10-04 12:06

 

backtrace.txt (11,941 bytes)   
Starting program: /usr/local/lib/ardour3/ardour-3.0 
[Thread debugging using libthread_db enabled]
[New Thread 0x7fffe4389700 (LWP 17105)]
[New Thread 0x7fffe3b88700 (LWP 17106)]
[New Thread 0x7fffe3387700 (LWP 17107)]
[New Thread 0x7fffdbfff700 (LWP 17108)]
[New Thread 0x7fffe138f700 (LWP 17109)]
[New Thread 0x7fffe0b8e700 (LWP 17110)]
[New Thread 0x7fffd628e700 (LWP 17111)]
[New Thread 0x7fffd5a8d700 (LWP 17112)]
[New Thread 0x7fffd528c700 (LWP 17113)]
[New Thread 0x7fffe038d700 (LWP 17114)]
[New Thread 0x7fffe030c700 (LWP 17115)]
[Thread 0x7fffe030c700 (LWP 17115) exited]
[Thread 0x7fffe038d700 (LWP 17114) exited]
[Thread 0x7fffe138f700 (LWP 17109) exited]
[Thread 0x7fffd628e700 (LWP 17111) exited]
[Thread 0x7fffe0b8e700 (LWP 17110) exited]
[Thread 0x7fffd5a8d700 (LWP 17112) exited]
[New Thread 0x7fffd5a8d700 (LWP 17117)]
[Thread 0x7fffd528c700 (LWP 17113) exited]
[New Thread 0x7fffd528c700 (LWP 17119)]
[New Thread 0x7fffe0b8e700 (LWP 17120)]
[Thread 0x7fffd5a8d700 (LWP 17117) exited]
[Thread 0x7fffe0b8e700 (LWP 17120) exited]
[New Thread 0x7fffe038d700 (LWP 17122)]
[New Thread 0x7fffe030c700 (LWP 17123)]

Program received signal SIGSEGV, Segmentation fault.
Gtk::TextBuffer::insert_with_tag (this=0x7fffdc1e7990, pos=..., text=..., tag=...) at textbuffer.cc:310
310	textbuffer.cc: No such file or directory.
	in textbuffer.cc

Thread 17 (Thread 0x7fffe030c700 (LWP 17123)):
#0  0x00007fffec23017d in read () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007fffee0df42a in ?? () from /usr/lib/libjack.so.0
#2  0x00007fffee0e1cf7 in ?? () from /usr/lib/libjack.so.0
#3  0x00007fffee0dd7a0 in ?? () from /usr/lib/libjack.so.0
#4  0x00007fffec228b40 in start_thread (arg=<optimized out>) at pthread_create.c:304
#5  0x00007fffebf7336d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()

Thread 16 (Thread 0x7fffe038d700 (LWP 17122)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fffee0def21 in ?? () from /usr/lib/libjack.so.0
#2  0x00007fffee0da5f5 in ?? () from /usr/lib/libjack.so.0
#3  0x00007fffee0dd7a0 in ?? () from /usr/lib/libjack.so.0
#4  0x00007fffec228b40 in start_thread (arg=<optimized out>) at pthread_create.c:304
#5  0x00007fffebf7336d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()

Thread 14 (Thread 0x7fffd528c700 (LWP 17119)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:216
#1  0x00007ffff2e79515 in ?? () from /usr/lib/libgthread-2.0.so.0
#2  0x00007ffff299beaf in ?? () from /lib/libglib-2.0.so.0
#3  0x00007ffff299c8f9 in g_async_queue_timed_pop () from /lib/libglib-2.0.so.0
#4  0x00007ffff29ede74 in ?? () from /lib/libglib-2.0.so.0
#5  0x00007ffff29eb984 in ?? () from /lib/libglib-2.0.so.0
#6  0x00007fffec228b40 in start_thread (arg=<optimized out>) at pthread_create.c:304
#7  0x00007fffebf7336d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fffdbfff700 (LWP 17108)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007ffff6d81f51 in ARDOUR::Analyser::work () at ../libs/ardour/analyser.cc:85
#2  0x00007ffff6d81ce9 in analyser_work () at ../libs/ardour/analyser.cc:49
#3  0x0000000001919145 in sigc::pointer_functor0<void>::operator() (this=0x27163a8) at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:77
#4  0x0000000001916b36 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x27163a0) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#5  0x0000000001913c95 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x2716370) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#6  0x00007ffff351194d in operator() (this=0x26dac50) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:440
#7  (anonymous namespace)::call_thread_entry_slot (data=0x26dac50) at thread.cc:44
#8  0x00007ffff29eb984 in ?? () from /lib/libglib-2.0.so.0
#9  0x00007fffec228b40 in start_thread (arg=<optimized out>) at pthread_create.c:304
#10 0x00007fffebf7336d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fffe3387700 (LWP 17107)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007ffff721cc8d in peak_thread_work () at ../libs/ardour/source_factory.cc:73
#2  0x0000000001919145 in sigc::pointer_functor0<void>::operator() (this=0x2716e68) at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:77
#3  0x0000000001916b36 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x2716e60) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#4  0x0000000001913c95 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x2716e30) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#5  0x00007ffff351194d in operator() (this=0x26daa10) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:440
#6  (anonymous namespace)::call_thread_entry_slot (data=0x26daa10) at thread.cc:44
#7  0x00007ffff29eb984 in ?? () from /lib/libglib-2.0.so.0
#8  0x00007fffec228b40 in start_thread (arg=<optimized out>) at pthread_create.c:304
#9  0x00007fffebf7336d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fffe3b88700 (LWP 17106)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007ffff721cc8d in peak_thread_work () at ../libs/ardour/source_factory.cc:73
#2  0x0000000001919145 in sigc::pointer_functor0<void>::operator() (this=0x27171f8) at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:77
#3  0x0000000001916b36 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x27171f0) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#4  0x0000000001913c95 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x27171c0) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#5  0x00007ffff351194d in operator() (this=0x26d9a10) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:440
#6  (anonymous namespace)::call_thread_entry_slot (data=0x26d9a10) at thread.cc:44
#7  0x00007ffff29eb984 in ?? () from /lib/libglib-2.0.so.0
#8  0x00007fffec228b40 in start_thread (arg=<optimized out>) at pthread_create.c:304
#9  0x00007fffebf7336d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fffe4389700 (LWP 17105)):
#0  0x00007fffebf441cd in nanosleep () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007fffebf6d584 in usleep (useconds=<optimized out>) at ../sysdeps/unix/sysv/linux/usleep.c:33
#2  0x00007ffff7255c5f in gui_event_loop (ptr=0x0) at ../libs/ardour/vstfxwin.cc:382
#3  0x00007fffec228b40 in start_thread (arg=<optimized out>) at pthread_create.c:304
#4  0x00007fffebf7336d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ffff7f9f9a0 (LWP 17100)):
#0  Gtk::TextBuffer::insert_with_tag (this=0x7fffdc1e7990, pos=..., text=..., tag=...) at textbuffer.cc:310
#1  0x00007ffff518ace4 in Gtkmm2ext::UI::display_message (this=0x25665d0, prefix=0x7ffff51d65c0 "[INFO]: ", ptag=..., mtag=..., 
    msg=0x7fffdc1df9e8 "looking for control protocols in /home/acolomb/.config/ardour3/surfaces:/usr/local/lib/ardour3/surfaces") at ../libs/gtkmm2ext/gtk_ui.cc:612
#2  0x000000000138cd57 in ARDOUR_UI::display_message (this=0x25665d0, prefix=0x7ffff51d65c0 "[INFO]: ", prefix_len=8, ptag=..., mtag=..., 
    msg=0x7fffdc1df9e8 "looking for control protocols in /home/acolomb/.config/ardour3/surfaces:/usr/local/lib/ardour3/surfaces") at ../gtk2_ardour/ardour_ui2.cc:173
#3  0x00007ffff518a905 in Gtkmm2ext::UI::process_error_message (this=0x25665d0, chn=Transmitter::Info, str=0x7fffdc1df9e8 "looking for control protocols in /home/acolomb/.config/ardour3/surfaces:/usr/local/lib/ardour3/surfaces")
    at ../libs/gtkmm2ext/gtk_ui.cc:565
#4  0x00007ffff518a5b2 in Gtkmm2ext::UI::receive (this=0x25665d0, chn=Transmitter::Info, str=0x7fffdc1df9e8 "looking for control protocols in /home/acolomb/.config/ardour3/surfaces:/usr/local/lib/ardour3/surfaces")
    at ../libs/gtkmm2ext/gtk_ui.cc:475
#5  0x00007ffff4d30548 in sigc::bound_mem_functor2<void, Receiver, Transmitter::Channel, char const*>::operator() (this=0x2616468, _A_a1=@0x244a0a8, _A_a2=@0x7fffffffcf48) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1917
#6  0x00007ffff4d303cf in sigc::adaptor_functor<sigc::bound_mem_functor2<void, Receiver, Transmitter::Channel, char const*> >::operator()<Transmitter::Channel const&, char const* const&> (this=0x2616460, _A_arg1=@0x244a0a8, 
    _A_arg2=@0x7fffffffcf48) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:103
#7  0x00007ffff4d300d0 in sigc::internal::slot_call2<sigc::bound_mem_functor2<void, Receiver, Transmitter::Channel, char const*>, void, Transmitter::Channel, char const*>::call_it (rep=0x2616430, a_1=@0x244a0a8, a_2=@0x7fffffffcf48)
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:173
#8  0x00007ffff4d3f32b in sigc::internal::signal_emit2<void, Transmitter::Channel, char const*, sigc::nil>::emit (impl=0x2564e70, _A_a1=@0x244a0a8, _A_a2=@0x7fffffffcf48) at /usr/include/sigc++-2.0/sigc++/signal.h:1252
#9  0x00007ffff4d3f0db in sigc::signal2<void, Transmitter::Channel, char const*, sigc::nil>::emit (this=0x244a0b8, _A_a1=@0x244a0a8, _A_a2=@0x7fffffffcf48) at /usr/include/sigc++-2.0/sigc++/signal.h:2891
#10 0x00007ffff4d3ee47 in sigc::signal2<void, Transmitter::Channel, char const*, sigc::nil>::operator() (this=0x244a0b8, _A_a1=@0x244a0a8, _A_a2=@0x7fffffffcf48) at /usr/include/sigc++-2.0/sigc++/signal.h:2899
#11 0x00007ffff4d3e7f5 in Transmitter::deliver (this=0x244a040) at ../libs/pbd/transmitter.cc:74
#12 0x0000000001307eff in endmsg (ostr=...) at /usr/src/ardour3/libs/pbd/pbd/transmitter.h:90
#13 0x00007ffff6e78d56 in ARDOUR::ControlProtocolManager::discover_control_protocols (this=0x7fffdc1df110) at ../libs/ardour/control_protocol_manager.cc:199
#14 0x00007ffff6f47ff9 in ARDOUR::init_post_engine () at ../libs/ardour/globals.cc:371
#15 0x000000000132f4ce in ARDOUR_UI::post_engine (this=0x25665d0) at ../gtk2_ardour/ardour_ui.cc:403
#16 0x000000000132f3a4 in ARDOUR_UI::create_engine (this=0x25665d0) at ../gtk2_ardour/ardour_ui.cc:392
#17 0x000000000133b161 in ARDOUR_UI::get_session_parameters (this=0x25665d0, quit_on_cancel=true, should_be_new=false, load_template=...) at ../gtk2_ardour/ardour_ui.cc:2622
#18 0x00000000013326a1 in ARDOUR_UI::startup (this=0x25665d0) at ../gtk2_ardour/ardour_ui.cc:698
#19 0x0000000001364e53 in sigc::bound_mem_functor0<void, ARDOUR_UI>::operator() (this=0x2616158) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
#20 0x000000000135dd92 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, ARDOUR_UI> >::operator() (this=0x2616150) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#21 0x0000000001356a69 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, ARDOUR_UI>, void>::call_it (rep=0x2616120) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#22 0x0000000001341913 in sigc::internal::signal_emit0<void, sigc::nil>::emit (impl=0x26160d0) at /usr/include/sigc++-2.0/sigc++/signal.h:776
#23 0x0000000001349962 in sigc::signal0<void, sigc::nil>::emit (this=0x2566690) at /usr/include/sigc++-2.0/sigc++/signal.h:2673
#24 0x0000000001345592 in sigc::signal0<void, sigc::nil>::operator() (this=0x2566690) at /usr/include/sigc++-2.0/sigc++/signal.h:2681
#25 0x00007ffff5189b99 in Gtkmm2ext::UI::run (this=0x25665d0, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:266
#26 0x00000000017807f3 in main (argc=1, argv=0x7fffffffdc38) at ../gtk2_ardour/main.cc:557
backtrace.txt (11,941 bytes)   

acolomb

2011-10-04 12:25

reporter   ~0011642

In fact, after manually copying ardour3_ui_dark.rc to the SYSCONFDIR, it starts up alright. So there are really two issues here:
1. Gtk rc file not installed
2. Crash in message display code (?) when ardour theme is not found

If 2. is not easily fixed, Ardour should probably bail out completely if the theme is not found, instead of just warning that it 'might look weird'.

orbisvicis

2011-10-04 16:37

reporter   ~0011646

I ran into the same issue, same backtrace. Then I found this bug, which though identical I'm uploading the backtrace anyway...

orbisvicis

2011-10-04 16:43

reporter   ~0011647

Last edited: 2011-10-04 16:53

Attached is a patch that installs "ardour3_ui_dark.rc" and "ardour3_ui_light.rc"

ardour3_ui_dark.rc contains the contents of:
ardour3_dark_fonts.rc
ardour3_dark_styles.rc
ardour3_widgets.rc

ardour3_ui_light.rc contains the contents of:
ardour3_light_fonts.rc
ardour3_light_styles.rc
ardour3_widgets.rc

(the include lines are textually substituted by waf)

I know the current build process packages ardour3_widgets.rc, but should it also package? :
ardour3_dark_fonts.rc
ardour3_dark_styles.rc
ardour3_light_fonts.rc
ardour3_light_styles.rc

2011-10-04 16:44

 

backtrace.orbisvicis.txt (9,594 bytes)   
Program received signal SIGSEGV, Segmentation fault.
0xb4fc9e0e in Gtk::TextBuffer::insert_with_tag(Gtk::TextIter const&, Glib::ustring const&, Glib::RefPtr<Gtk::TextTag> const&) () from /usr/lib/libgtkmm-2.4.so.1
(gdb) thread apply all bt full

Thread 17 (Thread 0xab5aab70 (LWP 31533)):
#0  0xb7fde424 in ?? ()
No symbol table info available.
#1  0x6c007275 in ?? ()
No symbol table info available.
#2  0x4a206f00 in ?? ()
No symbol table info available.
#3  0x204b4341 in ?? ()
No symbol table info available.
#4  0x72756f53 in ?? ()
No symbol table info available.
#5  0x08006563 in ?? ()
No symbol table info available.
#6  0x00000002 in ?? ()
No symbol table info available.
#7  0x00000000 in ?? ()
No symbol table info available.

Thread 16 (Thread 0xab62bb70 (LWP 31532)):
#0  0xb7fde424 in ?? ()
No symbol table info available.
Cannot access memory at address 0x5

Thread 15 (Thread 0xaa422b70 (LWP 31528)):
#0  0xb7fde424 in ?? ()
No symbol table info available.
#1  0x1af37d88 in ?? ()
No symbol table info available.
#2  0x09dccd78 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 4 (Thread 0xb2753b70 (LWP 31515)):
#0  0xb7fde424 in ?? ()
No symbol table info available.
Cannot access memory at address 0x5

Thread 3 (Thread 0xb2f54b70 (LWP 31514)):
#0  0xb7fde424 in ?? ()
No symbol table info available.
Cannot access memory at address 0x6

Thread 2 (Thread 0xb3755b70 (LWP 31513)):
#0  0xb7fde424 in ?? ()
No symbol table info available.
Cannot access memory at address 0x6

Thread 1 (Thread 0xb3b0b830 (LWP 31494)):
#0  0xb4fc9e0e in Gtk::TextBuffer::insert_with_tag(Gtk::TextIter const&, Glib::ustring const&, Glib::RefPtr<Gtk::TextTag> const&) () from /usr/lib/libgtkmm-2.4.so.1
No symbol table info available.
#1  0xb624bb97 in Gtkmm2ext::UI::display_message (this=0x9c944c8, prefix=0xb6294e3c "[INFO]: ", ptag=..., mtag=..., msg=0xa00d02c "looking for control protocols in /home/orbisvicis/.config/ardour3/surfaces:/usr/lib/ardour3/surfaces")
    at ../libs/gtkmm2ext/gtk_ui.cc:612
        buffer = {pCppObject_ = 0xa00cd20}
#2  0x08e6cc44 in ARDOUR_UI::display_message (this=0x9c944c8, prefix=0xb6294e3c "[INFO]: ", prefix_len=8, ptag=..., mtag=..., 
    msg=0xa00d02c "looking for control protocols in /home/orbisvicis/.config/ardour3/surfaces:/usr/lib/ardour3/surfaces") at ../gtk2_ardour/ardour_ui2.cc:173
        text = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xb45149dc ""}}
#3  0xb624b7f8 in Gtkmm2ext::UI::process_error_message (this=0x9c944c8, chn=Transmitter::Info, str=0xa00d02c "looking for control protocols in /home/orbisvicis/.config/ardour3/surfaces:/usr/lib/ardour3/surfaces")
    at ../libs/gtkmm2ext/gtk_ui.cc:565
        style = {pCppObject_ = 0x0}
        ptag = {pCppObject_ = 0x0}
        prefix = 0xb6294e3c "[INFO]: "
        prefix_len = 8
        fatal_received = false
        mtag = {pCppObject_ = 0x0}
#4  0xb624b522 in Gtkmm2ext::UI::receive (this=0x9c944c8, chn=Transmitter::Info, str=0xa00d02c "looking for control protocols in /home/orbisvicis/.config/ardour3/surfaces:/usr/lib/ardour3/surfaces") at ../libs/gtkmm2ext/gtk_ui.cc:475
No locals.
#5  0xb6056098 in sigc::bound_mem_functor2<void, Receiver, Transmitter::Channel, char const*>::operator() (this=0x9d2c45c, _A_a1=@0x9bd0154, _A_a2=@0xbffff06c) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1917
No locals.
#6  0xb6055f28 in sigc::adaptor_functor<sigc::bound_mem_functor2<void, Receiver, Transmitter::Channel, char const*> >::operator()<Transmitter::Channel const&, char const* const&> (this=0x9d2c458, _A_arg1=@0x9bd0154, _A_arg2=@0xbffff06c)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:103
No locals.
#7  0xb6055c36 in sigc::internal::slot_call2<sigc::bound_mem_functor2<void, Receiver, Transmitter::Channel, char const*>, void, Transmitter::Channel, char const*>::call_it (rep=0x9d2c440, a_1=@0x9bd0154, a_2=@0xbffff06c)
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:173
        typed_rep = 0x9d2c440
#8  0xb6064791 in sigc::internal::signal_emit2<void, Transmitter::Channel, char const*, sigc::nil>::emit (impl=0x9c933e8, _A_a1=@0x9bd0154, _A_a2=@0xbffff06c) at /usr/include/sigc++-2.0/sigc++/signal.h:1248
---Type <return> to continue, or q <return> to quit---
        it = {_M_node = 0x9d2c428}
        exec = {sig_ = 0x9c933e8}
        slots = {slots_ = @0x9c933f0, placeholder = {_M_node = 0xa00cbd8}}
#9  0xb6064538 in sigc::signal2<void, Transmitter::Channel, char const*, sigc::nil>::emit (this=0x9bd015c, _A_a1=@0x9bd0154, _A_a2=@0xbffff06c) at /usr/include/sigc++-2.0/sigc++/signal.h:2887
No locals.
#10 0xb60642b5 in sigc::signal2<void, Transmitter::Channel, char const*, sigc::nil>::operator() (this=0x9bd015c, _A_a1=@0x9bd0154, _A_a2=@0xbffff06c) at /usr/include/sigc++-2.0/sigc++/signal.h:2895
No locals.
#11 0xb6063c1a in Transmitter::deliver (this=0x9bd0120) at ../libs/pbd/transmitter.cc:74
        foo = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, 
            _M_p = 0xa00d02c "looking for control protocols in /home/orbisvicis/.config/ardour3/surfaces:/usr/lib/ardour3/surfaces"}}
#12 0x08dfaf5f in endmsg (ostr=...) at /home/orbisvicis/Q/ardour3/aur/src/ardour3-build/libs/pbd/pbd/transmitter.h:90
        t = 0x9bd0120
#13 0xb44b7a6e in std::ostream::operator<<(std::ostream& (*)(std::ostream&)) () from /usr/lib/libstdc++.so.6
No symbol table info available.
#14 0xb74bf11a in ARDOUR::ControlProtocolManager::discover_control_protocols (this=0xa00ca78) at ../libs/ardour/control_protocol_manager.cc:199
        cp_modules = {<std::_Vector_base<PBD::sys::path, std::allocator<PBD::sys::path> >> = {_M_impl = {<std::allocator<PBD::sys::path>> = {<__gnu_cxx::new_allocator<PBD::sys::path>> = {<No data fields>}, <No data fields>}, 
              _M_start = 0xa00cd78, _M_finish = 0xa00cd88, _M_end_of_storage = 0xa00cda8}}, <No data fields>}
        so_extension_pattern = {gobject_ = 0xa00cbf0}
        dylib_extension_pattern = {gobject_ = 0xa00cc18}
#15 0xb75877b4 in ARDOUR::init_post_engine () at ../libs/ardour/globals.cc:371
        node = 0xb7587780
#16 0x08e1d125 in ARDOUR_UI::post_engine (this=0x9c944c8) at ../gtk2_ardour/ardour_ui.cc:403
        pc = {<boost::function1<void, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >> = {<boost::function_base> = {vtable = 0xbffff274, functor = {obj_ptr = 0xb60d3ff4, type = {type = 0xb60d3ff4, 
                  const_qualified = 56, volatile_qualified = 242}, func_ptr = 0xb60d3ff4, bound_memfunc_ptr = {memfunc_ptr = (void (boost::detail::function::X::*)(boost::detail::function::X * const, 
    int)) 0xb60d3ff4, this adjustment -1073745352, obj_ptr = 0x8e3acd5}, obj_ref = {obj_ptr = 0xb60d3ff4, is_const_qualified = 56, is_volatile_qualified = 242}, 
                data = -12 '\364'}}, <std::unary_function<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, void>> = {<No data fields>}, static args = <optimized out>, 
            static arity = <optimized out>}, <No data fields>}
#17 0x08e1d033 in ARDOUR_UI::create_engine (this=0x9c944c8) at ../gtk2_ardour/ardour_ui.cc:392
No locals.
#18 0x08e27dc5 in ARDOUR_UI::get_session_parameters (this=0x9c944c8, quit_on_cancel=true, should_be_new=false, load_template=...) at ../gtk2_ardour/ardour_ui.cc:2622
        session_name = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x9ee8734 "test"}}
        session_path = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x9f01e4c "/home/orbisvicis/ardour/test"}}
        ret = -1
        template_name = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xb45149dc ""}}
        likely_new = true
#19 0x08e1fe54 in ARDOUR_UI::startup (this=0x9c944c8) at ../gtk2_ardour/ardour_ui.cc:698
        app = 0x9d33810
#20 0x08e4bcc0 in sigc::bound_mem_functor0<void, ARDOUR_UI>::operator() (this=0x9d9cf7c) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
No locals.
#21 0x08e45b4e in sigc::adaptor_functor<sigc::bound_mem_functor0<void, ARDOUR_UI> >::operator() (this=0x9d9cf78) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
No locals.
#22 0x08e3f1ea in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, ARDOUR_UI>, void>::call_it (rep=0x9d9cf60) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
        typed_rep = 0x9d9cf60
#23 0x08e2ddee in sigc::internal::signal_emit0<void, sigc::nil>::emit (impl=0x9d9cf30) at /usr/include/sigc++-2.0/sigc++/signal.h:772
        it = {_M_node = 0x9d9cf48}
        exec = {sig_ = 0x9d9cf30}
        slots = {slots_ = @0x9d9cf38, placeholder = {_M_node = 0x9d2c548}}
#24 0x08e3477c in sigc::signal0<void, sigc::nil>::emit (this=0x9c9452c) at /usr/include/sigc++-2.0/sigc++/signal.h:2669
No locals.
#25 0x08e30f7f in sigc::signal0<void, sigc::nil>::operator() (this=0x9c9452c) at /usr/include/sigc++-2.0/sigc++/signal.h:2677
No locals.
#26 0xb624ab93 in Gtkmm2ext::UI::run (this=0x9c944c8, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:266
No locals.
#27 0x091dd47f in main (argc=1, argv=0xbffff774) at ../gtk2_ardour/main.cc:557
No locals.
(gdb)
backtrace.orbisvicis.txt (9,594 bytes)   

2011-10-04 16:44

 

gtk2.wscript.install.style.files.patch (624 bytes)   
--- ../../ardour3/gtk2_ardour/wscript	2011-10-04 10:37:01.406223184 -0400
+++ wscript	2011-10-04 12:41:22.063818525 -0400
@@ -553,13 +553,15 @@
     bld (
         rule   = include_processor,
         source = 'ardour3_ui_dark.rc.pre',
-        target = 'ardour3_ui_dark.rc'
+        target = 'ardour3_ui_dark.rc',
+        install_path = '${SYSCONFDIR}/ardour3'
         )
 
     bld (
         rule   = include_processor,
         source = 'ardour3_ui_light.rc.pre',
-        target = 'ardour3_ui_light.rc'
+        target = 'ardour3_ui_light.rc',
+        install_path = '${SYSCONFDIR}/ardour3'
         )
 
     # Menus

2011-10-04 18:40

 

backtrace.with.gtkmm.orbisvicis.txt (8,281 bytes)   
#0  0xb4f9a6ea in Gtk::TextTag::gobj (this=0x0) at ../gtkmm/texttag.h:108
No locals.
#1  0xb4f95ecb in Gtk::TextBuffer::insert_with_tag (this=0xa17eb30, pos=..., text=..., tag=...) at textbuffer.cc:310
        offset = 0
        iterCopy = {gobject_ = {dummy1 = 0x9d026c8, dummy2 = 0x9d01280, dummy3 = -1, dummy4 = 0, dummy5 = 0, dummy6 = -1, dummy7 = 2057510234, dummy8 = 646452061, dummy9 = 0x9d02698, dummy10 = 0x9d03bb8, dummy11 = -1, dummy12 = 0, 
            dummy13 = 0, dummy14 = 0x0}}
#2  0xb624bb97 in Gtkmm2ext::UI::display_message (this=0x9c944c8, prefix=0xb6294e3c "[INFO]: ", ptag=..., mtag=..., msg=0xa176aa4 "looking for control protocols in /home/orbisvicis/.config/ardour3/surfaces:/usr/lib/ardour3/surfaces")
    at ../libs/gtkmm2ext/gtk_ui.cc:612
        buffer = {pCppObject_ = 0xa17eb30}
#3  0x08e6cc44 in ARDOUR_UI::display_message (this=0x9c944c8, prefix=0xb6294e3c "[INFO]: ", prefix_len=8, ptag=..., mtag=..., 
    msg=0xa176aa4 "looking for control protocols in /home/orbisvicis/.config/ardour3/surfaces:/usr/lib/ardour3/surfaces") at ../gtk2_ardour/ardour_ui2.cc:173
        text = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xb44459dc ""}}
#4  0xb624b7f8 in Gtkmm2ext::UI::process_error_message (this=0x9c944c8, chn=Transmitter::Info, str=0xa176aa4 "looking for control protocols in /home/orbisvicis/.config/ardour3/surfaces:/usr/lib/ardour3/surfaces")
    at ../libs/gtkmm2ext/gtk_ui.cc:565
        style = {pCppObject_ = 0x0}
        ptag = {pCppObject_ = 0x0}
        prefix = 0xb6294e3c "[INFO]: "
        prefix_len = 8
        fatal_received = false
        mtag = {pCppObject_ = 0x0}
#5  0xb624b522 in Gtkmm2ext::UI::receive (this=0x9c944c8, chn=Transmitter::Info, str=0xa176aa4 "looking for control protocols in /home/orbisvicis/.config/ardour3/surfaces:/usr/lib/ardour3/surfaces") at ../libs/gtkmm2ext/gtk_ui.cc:475
No locals.
#6  0xb6056098 in sigc::bound_mem_functor2<void, Receiver, Transmitter::Channel, char const*>::operator() (this=0x9d9696c, _A_a1=@0x9bd0154, _A_a2=@0xbffff06c) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1917
No locals.
#7  0xb6055f28 in sigc::adaptor_functor<sigc::bound_mem_functor2<void, Receiver, Transmitter::Channel, char const*> >::operator()<Transmitter::Channel const&, char const* const&> (this=0x9d96968, _A_arg1=@0x9bd0154, _A_arg2=@0xbffff06c)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:103
No locals.
---Type <return> to continue, or q <return> to quit---
#8  0xb6055c36 in sigc::internal::slot_call2<sigc::bound_mem_functor2<void, Receiver, Transmitter::Channel, char const*>, void, Transmitter::Channel, char const*>::call_it (rep=0x9d96950, a_1=@0x9bd0154, a_2=@0xbffff06c)
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:173
        typed_rep = 0x9d96950
#9  0xb6064791 in sigc::internal::signal_emit2<void, Transmitter::Channel, char const*, sigc::nil>::emit (impl=0x9c933e8, _A_a1=@0x9bd0154, _A_a2=@0xbffff06c) at /usr/include/sigc++-2.0/sigc++/signal.h:1248
        it = {_M_node = 0x9d96938}
        exec = {sig_ = 0x9c933e8}
        slots = {slots_ = @0x9c933f0, placeholder = {_M_node = 0xa176770}}
#10 0xb6064538 in sigc::signal2<void, Transmitter::Channel, char const*, sigc::nil>::emit (this=0x9bd015c, _A_a1=@0x9bd0154, _A_a2=@0xbffff06c) at /usr/include/sigc++-2.0/sigc++/signal.h:2887
No locals.
#11 0xb60642b5 in sigc::signal2<void, Transmitter::Channel, char const*, sigc::nil>::operator() (this=0x9bd015c, _A_a1=@0x9bd0154, _A_a2=@0xbffff06c) at /usr/include/sigc++-2.0/sigc++/signal.h:2895
No locals.
#12 0xb6063c1a in Transmitter::deliver (this=0x9bd0120) at ../libs/pbd/transmitter.cc:74
        foo = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, 
            _M_p = 0xa176aa4 "looking for control protocols in /home/orbisvicis/.config/ardour3/surfaces:/usr/lib/ardour3/surfaces"}}
#13 0x08dfaf5f in endmsg (ostr=...) at /home/orbisvicis/Q/ardour3/aur/src/ardour3-build/libs/pbd/pbd/transmitter.h:90
        t = 0x9bd0120
#14 0xb43e8a6e in std::ostream::operator<<(std::ostream& (*)(std::ostream&)) () from /usr/lib/libstdc++.so.6
No symbol table info available.
#15 0xb74bf11a in ARDOUR::ControlProtocolManager::discover_control_protocols (this=0xa176610) at ../libs/ardour/control_protocol_manager.cc:199
        cp_modules = {<std::_Vector_base<PBD::sys::path, std::allocator<PBD::sys::path> >> = {_M_impl = {<std::allocator<PBD::sys::path>> = {<__gnu_cxx::new_allocator<PBD::sys::path>> = {<No data fields>}, <No data fields>}, 
              _M_start = 0xa176910, _M_finish = 0xa176920, _M_end_of_storage = 0xa176940}}, <No data fields>}
        so_extension_pattern = {gobject_ = 0xa176788}
        dylib_extension_pattern = {gobject_ = 0xa1767b0}
#16 0xb75877b4 in ARDOUR::init_post_engine () at ../libs/ardour/globals.cc:371
        node = 0xb7587780
#17 0x08e1d125 in ARDOUR_UI::post_engine (this=0x9c944c8) at ../gtk2_ardour/ardour_ui.cc:403
        pc = {<boost::function1<void, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >> = {<boost::function_base> = {vtable = 0xbffff274, functor = {obj_ptr = 0xb60d3ff4, type = {type = 0xb60d3ff4, 
                  const_qualified = 56, volatile_qualified = 242}, func_ptr = 0xb60d3ff4, bound_memfunc_ptr = {memfunc_ptr = (void (boost::detail::function::X::*)(boost::detail::function::X * const, 
    int)) 0xb60d3ff4, this adjustment -1073745352, obj_ptr = 0x8e3acd5}, obj_ref = {obj_ptr = 0xb60d3ff4, is_const_qualified = 56, is_volatile_qualified = 242}, 
                data = -12 '\364'}}, <std::unary_function<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, void>> = {<No data fields>}, static args = <optimized out>, 
            static arity = <optimized out>}, <No data fields>}
#18 0x08e1d033 in ARDOUR_UI::create_engine (this=0x9c944c8) at ../gtk2_ardour/ardour_ui.cc:392
No locals.
#19 0x08e27dc5 in ARDOUR_UI::get_session_parameters (this=0x9c944c8, quit_on_cancel=true, should_be_new=false, load_template=...) at ../gtk2_ardour/ardour_ui.cc:2622
        session_name = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xa02a4fc "test"}}
        session_path = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xa02ac8c "/home/orbisvicis/ardour/test"}}
        ret = -1
        template_name = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xb44459dc ""}}
        likely_new = true
#20 0x08e1fe54 in ARDOUR_UI::startup (this=0x9c944c8) at ../gtk2_ardour/ardour_ui.cc:698
        app = 0x9d33810
#21 0x08e4bcc0 in sigc::bound_mem_functor0<void, ARDOUR_UI>::operator() (this=0x9d9681c) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
No locals.
#22 0x08e45b4e in sigc::adaptor_functor<sigc::bound_mem_functor0<void, ARDOUR_UI> >::operator() (this=0x9d96818) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
No locals.
#23 0x08e3f1ea in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, ARDOUR_UI>, void>::call_it (rep=0x9d96800) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
        typed_rep = 0x9d96800
#24 0x08e2ddee in sigc::internal::signal_emit0<void, sigc::nil>::emit (impl=0x9d2e028) at /usr/include/sigc++-2.0/sigc++/signal.h:772
        it = {_M_node = 0x9d18770}
        exec = {sig_ = 0x9d2e028}
        slots = {slots_ = @0x9d2e030, placeholder = {_M_node = 0x9d96a28}}
#25 0x08e3477c in sigc::signal0<void, sigc::nil>::emit (this=0x9c9452c) at /usr/include/sigc++-2.0/sigc++/signal.h:2669
No locals.
#26 0x08e30f7f in sigc::signal0<void, sigc::nil>::operator() (this=0x9c9452c) at /usr/include/sigc++-2.0/sigc++/signal.h:2677
No locals.
#27 0xb624ab93 in Gtkmm2ext::UI::run (this=0x9c944c8, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:266
No locals.
#28 0x091dd47f in main (argc=1, argv=0xbffff774) at ../gtk2_ardour/main.cc:557
No locals.

orbisvicis

2011-10-04 19:22

reporter   ~0011648

The error (segfault in insert_with_tag) occurs because ptag and mtag are null.

ptag and mtag are null because the error message happens before load_rcfile() is called, and so info_ptag/info_mtag are yet to be defined.

cth103

2011-10-04 19:49

administrator   ~0011649

Patch applied to SVN 10189. Thanks!

orbisvicis

2011-10-04 20:24

reporter   ~0011650

Actually, when ARDOUR_UI is instantiated at the very beginning from "Gtkmm2ext::UI::run" it creates a new ThemeManager which calls setup_theme()->load_rc_file()->Gtkmm2ext::load_rcfile() but load_rc_file never runs load_rcfile because it isn't available.

load_rcfile is necessary to define the gui elements required by the startup info message "looking for control protocols". When that message occurs ptag and mtag are null, so the program segfaults.

I think either
1] Gtkmm2ext::UI::process_error_message needs to be fixed so it can work without an rcfile.
2] rcfile not found should be a fatal error
3] All messages should be transmitted to the text/console receiver if the rcfile is not found

paul

2012-06-22 19:52

administrator   ~0013674

this was fixed about a month ago so that messages delivered before the tags used by the log window are defined are simply printed to stderr.

system

2020-04-19 20:15

developer   ~0022763

Issue has been closed automatically, by Trigger Close Plugin.
Feel free to re-open with additional information if you think the issue is not resolved.

Issue History

Date Modified Username Field Change
2011-10-04 12:06 acolomb New Issue
2011-10-04 12:06 acolomb File Added: backtrace.txt
2011-10-04 12:25 acolomb Note Added: 0011642
2011-10-04 16:37 orbisvicis Note Added: 0011646
2011-10-04 16:43 orbisvicis Note Added: 0011647
2011-10-04 16:44 orbisvicis File Added: backtrace.orbisvicis.txt
2011-10-04 16:44 orbisvicis File Added: gtk2.wscript.install.style.files.patch
2011-10-04 16:53 orbisvicis Note Edited: 0011647
2011-10-04 18:40 orbisvicis File Added: backtrace.with.gtkmm.orbisvicis.txt
2011-10-04 18:52 cth103 cost => 0.00
2011-10-04 18:52 cth103 Target Version => 3.0-beta1
2011-10-04 19:22 orbisvicis Note Added: 0011648
2011-10-04 19:49 cth103 Note Added: 0011649
2011-10-04 20:24 orbisvicis Note Added: 0011650
2011-11-15 14:58 cth103 Target Version 3.0-beta1 => 3.0-beta2
2012-01-10 20:46 cth103 Target Version 3.0-beta2 => 3.0-beta3
2012-02-14 17:20 paul Target Version 3.0-beta3 => 3.0 beta4
2012-05-23 15:09 cth103 Target Version 3.0 beta4 => 3.0
2012-06-22 19:52 paul Note Added: 0013674
2012-06-22 19:52 paul Status new => resolved
2012-06-22 19:52 paul Resolution open => fixed
2012-06-22 19:52 paul Assigned To => paul
2020-04-19 20:15 system Note Added: 0022763
2020-04-19 20:15 system Status resolved => closed