View Issue Details

IDProjectCategoryView StatusLast Update
0004700ardourbugspublic2015-09-18 15:19
Reportercolinf Assigned Tocth103  
PrioritynormalSeveritycrashReproducibilitysometimes
Status closedResolutionfixed 
Target Version3.0 
Summary0004700: Crash on recalling old LADSPA plugin preset
DescriptionIf I try to recall a LADSPA plugin preset that was saved from an older version of Ardour, current svn crashes. Presets saved from current A3 load fine.
Additional InformationBacktrace attached.
TagsNo tags attached.

Activities

2012-02-08 19:59

 

ladspa-plugin-preset-crash-bt (18,539 bytes)   
colinf@colinf-laptop:~/src/ardour2/3.0$ gtk2_ardour/ardbg
GNU gdb (GDB) 7.1-ubuntu
Copyright (C) 2010 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 "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/colinf/src/ardour2/3.0/build/gtk2_ardour/ardour-3.0...done.
(gdb) r
Starting program: /home/colinf/src/ardour2/3.0/build/gtk2_ardour/ardour-3.0 
[Thread debugging using libthread_db enabled]
Ardour3.0beta3 (built using ['11469'] and GCC version 4.4.3)
Cannot xinstall SIGPIPE error handler
ardour: [INFO]: Loading default ui configuration file gtk2_ardour/../gtk2_ardour/ardour3_ui_default.conf
Loading ui configuration file gtk2_ardour/../build/gtk2_ardour/ardour3_ui_dark.rc
ardour: [INFO]: Ardour will be limited to 16384 open files
[New Thread 0xb3ce8b70 (LWP 3186)]
ardour: [INFO]: Loading user configuration file /home/colinf/.config/ardour3/ardour.rc
Using SSE optimized routines
[New Thread 0xb34e7b70 (LWP 3187)]
[New Thread 0xb2ce6b70 (LWP 3188)]
[New Thread 0xb24e5b70 (LWP 3189)]
ardour: [INFO]: looking for panners in /home/colinf/.config/ardour3/panners:/usr/local/lib/ardour3/panners:gtk2_ardour/../build/libs/panners/2in2out:gtk2_ardour/../build/libs/panners/1in2out:gtk2_ardour/../build/libs/panners/vbap
ardour: [INFO]: Panner discovered: "Equal Power Stereo" in gtk2_ardour/../build/libs/panners/2in2out/libpan2in2out.so
ardour: [INFO]: Panner discovered: "Mono to Stereo Panner" in gtk2_ardour/../build/libs/panners/1in2out/libpan1in2out.so
ardour: [INFO]: Panner discovered: "VBAP 2D panner" in gtk2_ardour/../build/libs/panners/vbap/libpanvbap.so
[New Thread 0xb0afcb70 (LWP 3190)]
[New Thread 0xb02fbb70 (LWP 3191)]
[New Thread 0xafafab70 (LWP 3192)]
[New Thread 0xaf2f9b70 (LWP 3193)]
[New Thread 0xaeaf8b70 (LWP 3194)]
[Thread 0xaeaf8b70 (LWP 3194) exited]
[New Thread 0xaeaf8b70 (LWP 3197)]
[Thread 0xaf2f9b70 (LWP 3193) exited]
[Thread 0xb0afcb70 (LWP 3190) exited]
[Thread 0xafafab70 (LWP 3192) exited]
[New Thread 0xafafab70 (LWP 3199)]
[Thread 0xafafab70 (LWP 3199) exited]
JACK COMMAND: /usr/bin/jackd -p 128 -r -T -d dummy -r 44100 -p 1024 
[New Thread 0xafafab70 (LWP 3200)]
jackd 0.121.3
Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details

no message buffer overruns
JACK compiled with System V SHM support.
loading driver ..
creating dummy driver ... dummy_pcm|44100|1024|23219|2|2
VST_PATH not set, defaulting to /home/colinf/vst:/usr/local/lib/vst:/usr/lib/vst
LV2: Discovering 87 plugins
lilv_plugin_load_ports_if_necessary(): error: Plugin <file:///usr/local/lib/lv2/ingen.lv2/stereo_effect.ttl> is missing port 4/6
lilv_plugin_load_ports_if_necessary(): error: Plugin <file:///usr/local/lib/lv2/ingen.lv2/stereo_effect.ttl> is missing port 4/6
lilv_plugin_load_ports_if_necessary(): error: Plugin <file:///usr/local/lib/lv2/ingen.lv2/stereo_effect.ttl> is missing port 4/6
lilv_plugin_load_ports_if_necessary(): error: Plugin <file:///usr/local/lib/lv2/ingen.lv2/stereo_effect.ttl> is missing port 4/6
Done LV2 discovery
[New Thread 0xb0afcb70 (LWP 3209)]
[New Thread 0xa9520c90 (LWP 3210)]
[New Thread 0xaf2f9b70 (LWP 3211)]
**** dummy: xrun of 141502 usec
[New Thread 0xa7ffec90 (LWP 3212)]
[New Thread 0xa7f84b70 (LWP 3213)]
[Thread 0xa7f84b70 (LWP 3213) exited]
SHOW UI 1204 editor: 1

Program received signal SIGSEGV, Segmentation fault.
0xb771ed6f in ARDOUR::LadspaPlugin::port_descriptor(unsigned int) const ()
   from gtk2_ardour/../build/libs/ardour/libardour.so.3
(gdb) subgraph starting at ardour timed out (subgraph_wait_fd=14, status = 0, state = Triggered, pollret = 0 revents = 0x0)
pp: cannot clean up byte from graph wait fd (Resource temporarily unavailable)
**** dummy: xrun of 478637 usec
bad status (-1) for client ardour handling event (type = 8)
jack main caught signal 12

(gdb) thread apply all bt

Thread 17 (Thread 0xa7ffec90 (LWP 3212)):
#0  0xb7fe2424 in __kernel_vsyscall ()
#1  0xb4fd0736 in nanosleep () at ../sysdeps/unix/syscall-template.S:82
#2  0xb607fa62 in g_usleep () from /lib/libglib-2.0.so.0
#3  0xb61742ad in Glib::usleep(unsigned long) ()
   from /usr/lib/libglibmm-2.4.so.1
#4  0xb756dcdc in ARDOUR::AudioEngine::meter_thread (this=0x9e46a58)
    at ../libs/ardour/audioengine.cc:697
#5  0xb758f95b in boost::_mfi::mf0<void, ARDOUR::AudioEngine>::operator()(ARDOUR::AudioEngine*) const () from gtk2_ardour/../build/libs/ardour/libardour.so.3
#6  0xb758ab46 in void 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) () from gtk2_ardour/../build/libs/ardour/libardour.so.3
#7  0xb7586068 in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> > >::operator()() () from gtk2_ardour/../build/libs/ardour/libardour.so.3
#8  0xb7580d91 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 ()
   from gtk2_ardour/../build/libs/ardour/libardour.so.3
#9  0xb757c7e1 in sigc::internal::slot_call0<boost::_bi::bind_t<void, boost::_mf---Type <return> to continue, or q <return> to quit---
i::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> > >, void>::call_it(sigc::internal::slot_rep*) ()
   from gtk2_ardour/../build/libs/ardour/libardour.so.3
#10 0xb6167eb2 in ?? () from /usr/lib/libglibmm-2.4.so.1
#11 0xb607cdef in ?? () from /lib/libglib-2.0.so.0
#12 0xb4fc896e in start_thread (arg=0xa7ffec90) at pthread_create.c:300
#13 0xb4a1da4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 16 (Thread 0xaf2f9b70 (LWP 3211)):
#0  0xb7fe2424 in __kernel_vsyscall ()
#1  0xb4a0fb86 in *__GI___poll (fds=0xb4aa5ff4, nfds=10, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0xb60634eb in g_poll () from /lib/libglib-2.0.so.0
#3  0xb60560ac in ?? () from /lib/libglib-2.0.so.0
#4  0xb6056817 in g_main_loop_run () from /lib/libglib-2.0.so.0
#5  0xb616d4b5 in Glib::MainLoop::run() () from /usr/lib/libglibmm-2.4.so.1
#6  0xb648a17d in BaseUI::main_thread (this=0xb1b7ba18)
    at ../libs/pbd/base_ui.cc:77
#7  0xb648b552 in sigc::bound_mem_functor0<void, BaseUI>::operator() (
    this=0xb1b13a14) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
#8  0xb648b3c2 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, BaseUI> >::operator() (this=0xb1b13a10)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
---Type <return> to continue, or q <return> to quit---
#9  0xb648b132 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, BaseUI>, void>::call_it (rep=0xb1b139f8)
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#10 0xb6167eb2 in ?? () from /usr/lib/libglibmm-2.4.so.1
#11 0xb607cdef in ?? () from /lib/libglib-2.0.so.0
#12 0xb4fc896e in start_thread (arg=0xaf2f9b70) at pthread_create.c:300
#13 0xb4a1da4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 15 (Thread 0xa9520c90 (LWP 3210)):
#0  0xb7fe2424 in __kernel_vsyscall ()
#1  0xb4a0fb86 in *__GI___poll (fds=0xb4aa5ff4, nfds=1, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0xb75f22e7 in ARDOUR::Butler::thread_work (this=0xa8748b0)
    at ../libs/ardour/butler.cc:153
#3  0xb75f225e in ARDOUR::Butler::_thread_work (arg=0xa8748b0)
    at ../libs/ardour/butler.cc:137
#4  0xb64c0a3c in fake_thread_start (arg=0xa881b48)
    at ../libs/pbd/pthread_utils.cc:81
#5  0xb4fc896e in start_thread (arg=0xa9520c90) at pthread_create.c:300
#6  0xb4a1da4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 14 (Thread 0xb0afcb70 (LWP 3209)):
#0  0xb7fe2424 in __kernel_vsyscall ()
---Type <return> to continue, or q <return> to quit---
#1  0xb4a0fb86 in *__GI___poll (fds=0xb4aa5ff4, nfds=2, timeout=1000)
    at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0xb4fe68d7 in jack_client_core_wait () from /usr/lib/libjack.so.0
#3  0x00ae556e in ?? ()
#4  0xb4fefff4 in ?? () from /usr/lib/libjack.so.0
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 13 (Thread 0xafafab70 (LWP 3200)):
#0  0xb7fe2424 in __kernel_vsyscall ()
#1  0xb4fcd015 in pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb4fe774c in mb_thread_func () from /usr/lib/libjack.so.0
#3  0xb4a6d7ae in __rpc_thread_destroy () at rpc_thread.c:20
#4  0x0ff00001 in ?? ()
#5  0x0084a8ba in ?? ()
#6  0x0f050000 in ?? ()
#7  0xd284c292 in ?? ()
#8  0x908b1475 in ?? ()
#9  0x00000280 in ?? ()
#10 0x1075d285 in ?? ()
#11 0x5b24c483 in ?? ()
#12 0xfefae95d in ?? ()
---Type <return> to continue, or q <return> to quit---
#13 0xc483ffff in ?? ()
#14 0xc35d5b24 in ?? ()
#15 0x028080c7 in ?? ()
#16 0x00000000 in ?? ()

Thread 11 (Thread 0xaeaf8b70 (LWP 3197)):
#0  0xb7fe2424 in __kernel_vsyscall ()
#1  0xb4a0fb86 in *__GI___poll (fds=0xb4aa5ff4, nfds=2, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0xae2c2502 in ?? () from /usr/lib/libpulse.so.0
#3  0xae2aea59 in pa_mainloop_poll () from /usr/lib/libpulse.so.0
#4  0xae2b0a13 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0
#5  0xae2b0ae4 in pa_mainloop_run () from /usr/lib/libpulse.so.0
#6  0xae2c22a3 in ?? () from /usr/lib/libpulse.so.0
#7  0xae27ce02 in ?? () from /usr/lib/libpulsecommon-0.9.21.so
#8  0xb4fc896e in start_thread (arg=0xaeaf8b70) at pthread_create.c:300
#9  0xb4a1da4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 7 (Thread 0xb02fbb70 (LWP 3191)):
#0  0xb7fe2424 in __kernel_vsyscall ()
#1  0xb4fcd342 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:179
---Type <return> to continue, or q <return> to quit---
#2  0xb60ec0ce in ?? () from /usr/lib/libgthread-2.0.so.0
#3  0xb602cbbc in ?? () from /lib/libglib-2.0.so.0
#4  0xb602cced in g_async_queue_timed_pop () from /lib/libglib-2.0.so.0
#5  0xb607ec6f in ?? () from /lib/libglib-2.0.so.0
#6  0xb607cdef in ?? () from /lib/libglib-2.0.so.0
#7  0xb4fc896e in start_thread (arg=0xb02fbb70) at pthread_create.c:300
#8  0xb4a1da4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 5 (Thread 0xb24e5b70 (LWP 3189)):
#0  0xb7fe2424 in __kernel_vsyscall ()
#1  0xb4fcd015 in pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb61673a8 in Glib::Cond::wait(Glib::Mutex&) ()
   from /usr/lib/libglibmm-2.4.so.1
#3  0xb74f9acb in ARDOUR::Analyser::work () at ../libs/ardour/analyser.cc:85
#4  0xb74f9806 in analyser_work () at ../libs/ardour/analyser.cc:49
#5  0x0917c22d in sigc::pointer_functor0<void>::operator() (this=0x9c083ac)
    at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:77
#6  0x0917a116 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x9c083a8)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#7  0x091778b8 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>---Type <return> to continue, or q <return> to quit---
::call_it (rep=0x9c08390) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#8  0xb6167eb2 in ?? () from /usr/lib/libglibmm-2.4.so.1
#9  0xb607cdef in ?? () from /lib/libglib-2.0.so.0
#10 0xb4fc896e in start_thread (arg=0xb24e5b70) at pthread_create.c:300
#11 0xb4a1da4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 4 (Thread 0xb2ce6b70 (LWP 3188)):
#0  0xb7fe2424 in __kernel_vsyscall ()
#1  0xb4fcd015 in pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb61673a8 in Glib::Cond::wait(Glib::Mutex&) ()
   from /usr/lib/libglibmm-2.4.so.1
#3  0xb7a002f1 in peak_thread_work () at ../libs/ardour/source_factory.cc:68
#4  0x0917c22d in sigc::pointer_functor0<void>::operator() (this=0x9c085c4)
    at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:77
#5  0x0917a116 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x9c085c0)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#6  0x091778b8 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x9c085a8) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#7  0xb6167eb2 in ?? () from /usr/lib/libglibmm-2.4.so.1
#8  0xb607cdef in ?? () from /lib/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#9  0xb4fc896e in start_thread (arg=0xb2ce6b70) at pthread_create.c:300
#10 0xb4a1da4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 3 (Thread 0xb34e7b70 (LWP 3187)):
#0  0xb7fe2424 in __kernel_vsyscall ()
#1  0xb4fcd015 in pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb61673a8 in Glib::Cond::wait(Glib::Mutex&) ()
   from /usr/lib/libglibmm-2.4.so.1
#3  0xb7a002f1 in peak_thread_work () at ../libs/ardour/source_factory.cc:68
#4  0x0917c22d in sigc::pointer_functor0<void>::operator() (this=0x9bfd77c)
    at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:77
#5  0x0917a116 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x9bfd778)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#6  0x091778b8 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x9bfd760) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#7  0xb6167eb2 in ?? () from /usr/lib/libglibmm-2.4.so.1
#8  0xb607cdef in ?? () from /lib/libglib-2.0.so.0
#9  0xb4fc896e in start_thread (arg=0xb34e7b70) at pthread_create.c:300
#10 0xb4a1da4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

---Type <return> to continue, or q <return> to quit---
Thread 2 (Thread 0xb3ce8b70 (LWP 3186)):
#0  0xb7fe2424 in __kernel_vsyscall ()
#1  0xb49e7ce6 in nanosleep () at ../sysdeps/unix/syscall-template.S:82
#2  0xb4a1744c in usleep (useconds=1000)
    at ../sysdeps/unix/sysv/linux/usleep.c:33
#3  0x093d5153 in gui_event_loop (ptr=0x0)
    at ../gtk2_ardour/linux_vst_gui_support.cc:363
#4  0xb4fc896e in start_thread (arg=0xb3ce8b70) at pthread_create.c:300
#5  0xb4a1da4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb4265780 (LWP 3183)):
#0  0xb771ed6f in ARDOUR::LadspaPlugin::port_descriptor(unsigned int) const ()
   from gtk2_ardour/../build/libs/ardour/libardour.so.3
#1  0xb771c892 in ARDOUR::LadspaPlugin::parameter_is_input (this=0xa8e59c80, 
    param=3070738420) at ../libs/ardour/ladspa_plugin.cc:601
#2  0xb771d501 in ARDOUR::LadspaPlugin::load_preset (this=0xa8e59c80, r=...)
    at ../libs/ardour/ladspa_plugin.cc:759
#3  0x09118892 in PlugUIBase::preset_selected (this=0xabfbf30)
    at ../gtk2_ardour/plugin_ui.cc:578
#4  0x0911da9e in sigc::bound_mem_functor0<void, PlugUIBase>::operator() (
    this=0xabede2c) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
#5  0x0911cf20 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, PlugUIBase> >::operator() (this=0xabede28)
---Type <return> to continue, or q <return> to quit---
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#6  0x0911c2c4 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, PlugUIBase>, void>::call_it (rep=0xabede10)
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#7  0xb617227b in Glib::SignalProxyNormal::slot0_void_callback(_GObject*, void*) () from /usr/lib/libglibmm-2.4.so.1
#8  0xb6110dcc in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/libgobject-2.0.so.0
#9  0xb6103252 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#10 0xb6117d90 in ?? () from /usr/lib/libgobject-2.0.so.0
#11 0xb6118db4 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#12 0xb6119256 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#13 0xb5ce5ba1 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#14 0xb5ce6ec3 in gtk_combo_box_set_active_iter ()
   from /usr/lib/libgtk-x11-2.0.so.0
#15 0xb5ce6fe6 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#16 0xb6110dcc in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/libgobject-2.0.so.0
#17 0xb6103252 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#18 0xb611799d in ?? () from /usr/lib/libgobject-2.0.so.0
#19 0xb6118db4 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#20 0xb6119256 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#21 0xb5eb03f5 in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#22 0xb5d8e9b0 in gtk_menu_shell_activate_item ()
   from /usr/lib/libgtk-x11-2.0.so.0
#23 0xb5d9032f in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#24 0xb5d85c74 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#25 0xb5d7f434 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#26 0xb61018b9 in ?? () from /usr/lib/libgobject-2.0.so.0
#27 0xb6103252 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#28 0xb61175e6 in ?? () from /usr/lib/libgobject-2.0.so.0
#29 0xb6118c33 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#30 0xb6119256 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#31 0xb5eac646 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#32 0xb5d77a6d in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#33 0xb5d78e17 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#34 0xb5c0139a in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#35 0xb60525e5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#36 0xb60562d8 in ?? () from /lib/libglib-2.0.so.0
#37 0xb6056817 in g_main_loop_run () from /lib/libglib-2.0.so.0
#38 0xb5d793d9 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#39 0xb568c3a7 in Gtk::Main::run_impl() () from /usr/lib/libgtkmm-2.4.so.1
#40 0xb568c1a2 in Gtk::Main::run() () from /usr/lib/libgtkmm-2.4.so.1
#41 0xb667b5cd in Gtkmm2ext::UI::run (this=0x9a62cc8, old_receiver=...)
    at ../libs/gtkmm2ext/gtk_ui.cc:266
#42 0x08fe7897 in main (argc=1, argv=0xbfffeb74) at ../gtk2_ardour/main.cc:555
(gdb) 
(gdb) 

ladspa-plugin-preset-crash-bt (18,539 bytes)   

2012-02-08 19:59

 

ardour-presets.n3 (34,539 bytes)

colinf

2012-02-08 20:02

updater   ~0012766

Last edited: 2012-02-08 20:29

Attached my ~/.ladspa/rdf/ardour-presets.n3: the two which crash for me are "janes-fiddle-nt2-fig8" and "simon guitar bright", which are both presets for the "Triple-band parametric with shelves".

[EDIT] I've also just reproduced this with a preset newly-saved from A2, so I don't think there's anything particularly strange about the presets which cause the crash.

2012-02-15 22:58

 

ladspa-plugin-preset.patch (1,127 bytes)   
Index: libs/ardour/ardour/ladspa_plugin.h
===================================================================
--- libs/ardour/ardour/ladspa_plugin.h	(revision 11500)
+++ libs/ardour/ardour/ladspa_plugin.h	(working copy)
@@ -113,7 +113,14 @@
 	LADSPA_Properties           properties() const                { return _descriptor->Properties; }
 	uint32_t                    index() const                     { return _index; }
 	const char *                copyright() const                 { return _descriptor->Copyright; }
-	LADSPA_PortDescriptor       port_descriptor(uint32_t i) const { return _descriptor->PortDescriptors[i]; }
+	LADSPA_PortDescriptor       port_descriptor(uint32_t i) const {
+		if (i < _descriptor->PortCount) {		
+			return _descriptor->PortDescriptors[i];
+		}
+		std::cerr << "LadspaPlugin::port_descriptor(" << i << ") out of range! " << _descriptor->PortCount << std::endl;
+		return 0;
+		
+	}
 	const LADSPA_PortRangeHint* port_range_hints() const          { return _descriptor->PortRangeHints; }
 	const char * const *        port_names() const                { return _descriptor->PortNames; }
 
ladspa-plugin-preset.patch (1,127 bytes)   

colinf

2012-02-15 23:02

updater   ~0012808

It looks like A2 saves an extra (garbage?) control value into LADSPA presets, though I can't yet see how or why.

Anyway, the attached patch for A3 just makes requests for out-of-range LADSPA plugin port descriptors return 0 rather than crash: with this, I can load presets saved by A2.

cth103

2012-02-27 15:21

administrator   ~0012826

Patch applied to SVN 11528. Thanks!

colinf

2015-09-18 15:19

updater   ~0017291

Closing old issues reported by me: these have long since been fixed.

Issue History

Date Modified Username Field Change
2012-02-08 19:59 colinf New Issue
2012-02-08 19:59 colinf File Added: ladspa-plugin-preset-crash-bt
2012-02-08 19:59 colinf File Added: ardour-presets.n3
2012-02-08 20:02 colinf Note Added: 0012766
2012-02-08 20:29 colinf Note Edited: 0012766
2012-02-09 20:20 cth103 cost => 0.00
2012-02-09 20:20 cth103 Target Version => 3.0-beta3
2012-02-14 17:20 paul Target Version 3.0-beta3 => 3.0 beta4
2012-02-15 22:58 colinf File Added: ladspa-plugin-preset.patch
2012-02-15 23:02 colinf Note Added: 0012808
2012-02-27 15:21 cth103 Note Added: 0012826
2012-02-27 15:21 cth103 Status new => resolved
2012-02-27 15:21 cth103 Resolution open => fixed
2012-02-27 15:21 cth103 Assigned To => cth103
2012-05-23 15:09 cth103 Target Version 3.0 beta4 => 3.0
2015-09-18 15:19 colinf Note Added: 0017291
2015-09-18 15:19 colinf Status resolved => closed