Login / Register  0 items | $0.00New @ What is KVR? Submit News Advertise

HydridReverb crash in Ardour3 SVN

Official support for: distrho.sourceforge.net

Moderators: falkTX, nieee

benbriedis
KVRer
 
3 posts since 7 Aug, 2012, from Sydney, Australia

Postby benbriedis; Tue Aug 07, 2012 4:38 am HydridReverb crash in Ardour3 SVN

Hi - I'm not sure if this is an Ardour thing, or a HybridReverb2 thing, or maybe an LV2 thing, but at the moment Ardour crashes when I try to add the plugin to a track. I get the lines:

DEBUG::LV2: init
JUCE v2.0.21
JUCE Assertion failure in ../source/modules/juce_core/files/juce_File.cpp, line 147

in the output. There seems to be some issue with file paths.

Some vital stats -

Distro: Arch
Kernel: 3.2.12-rt22 #1 SMP PREEMPT RT (a custom kernel)
Jack: jackdmp version 1.9.9 tmpdir /dev/shm protocol 8
Ardour: Ardour3.0beta5 (built using [b'13110'] and GCC version 4.7.0 20120505
(prerelease))
distro: built today with debugging on

Cheers,
Ben

Edit: thought I'd tack on some of the stack trace...
I can post a full stack trace if you think it would be useful.

Thread 1 (Thread 0xb3550840 (LWP 2320)):
#0 0xb7fdd424 in __kernel_vsyscall ()
#1 0xb4ef5596 in kill () from /lib/libc.so.6
#2 0xa59bc6d9 in juce::File::parseAbsolutePath (p=...) at ../source/modules/juce_core/files/juce_File.cpp:147
#3 0xa59bc150 in juce::File::File (this=0xec19808, fullPathName=...) at ../source/modules/juce_core/files/juce_File.cpp:27
#4 0xa598c346 in SystemConfig::getPresetFilename (this=0xec195a0) at ../source/SystemConfig.cpp:135
#5 0xa5989518 in MasterAndCommander::MasterAndCommander (this=0xec193b0, ap=0xec19220) at ../source/MasterAndCommander.cpp:82
#6 0xa598470e in HybridReverb2Processor::HybridReverb2Processor (this=0xec19220) at ../source/HybridReverb2Processor.cpp:56
#7 0xa59845ba in createPluginFilter () at ../source/HybridReverb2Processor.cpp:36
#8 0xa59b2dc2 in JuceLV2Wrapper::JuceLV2Wrapper (this=0xec190e8, sampleRate_=96000, features=0xebe6e50)
at ../../../libs/juce-lv2/juce_LV2_Wrapper.cpp:1266
#9 0xa59b0204 in juceLV2_Instantiate (sampleRate=96000, features=0xebe6e50)
at ../../../libs/juce-lv2/juce_LV2_Wrapper.cpp:1991
#10 0xb549e71f in lilv_plugin_instantiate () from /usr/lib/liblilv-0.so.0
#11 0xb7ce032a in ARDOUR::LV2Plugin::init (this=0xebee000, c_plugin=0x94d0170, rate=96000) at ../libs/ardour/lv2_plugin.cc:264
#12 0xb7cdfc79 in ARDOUR::LV2Plugin::LV2Plugin (this=0xebee000, engine=..., session=..., c_plugin=0x94d0170, rate=96000)
at ../libs/ardour/lv2_plugin.cc:179
#13 0xb7ce7614 in ARDOUR::LV2PluginInfo::load (this=0xa1afb50, session=...) at ../libs/ardour/lv2_plugin.cc:1625
#14 0x08dcfbe6 in PluginSelector::load_plugin (this=0xa86c7a8, pi=...) at ../gtk2_ardour/plugin_selector.cc:399
#15 0x08dd1dd0 in PluginSelector::plugin_chosen_from_menu (this=0xa86c7a8, pi=...) at ../gtk2_ardour/plugin_selector.cc:746
#16 0x08dd67cf in sigc::bound_mem_functor1<void, PluginSelector, boost::shared_ptr<ARDOUR::PluginInfo> const&>::operator() (
this=0xa8726f0, _A_a1=...) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1851
#17 0x08dd64fd in sigc::adaptor_functor<sigc::bound_mem_functor1<void, PluginSelector, boost::shared_ptr<ARDOUR::PluginInfo> const&> >::operator()<boost::shared_ptr<ARDOUR::PluginInfo>&> (this=0xa8726ec, _A_arg1=...)
at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:84
#18 0x08dd604a in sigc::bind_functor<-1, sigc::bound_mem_functor1<void, PluginSelector, boost::shared_ptr<ARDOUR::PluginInfo> const&>, boost::shared_ptr<ARDOUR::PluginInfo>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::operator() (
this=0xa8726e8) at /usr/include/sigc++-2.0/sigc++/adaptors/bind.h:1110
#19 0x08dd58ed in sigc::internal::slot_call0<sigc::bind_functor<-1, sigc::bound_mem_functor1<void, PluginSelector, boost::shared_ptr<ARDOUR::PluginInfo> const&>, boost::shared_ptr<ARDOUR::PluginInfo>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void>::call_it (rep=0xa8726d0) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#20 0xb6b7c593 in Glib::SignalProxyNormal::slot0_void_callback(_GObject*, void*) () from /usr/lib/libglibmm-2.4.so.1
#21 0xb6af436f in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0
#22 0xb6af2606 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#23 0xb6b04446 in ?? () from /usr/lib/libgobject-2.0.so.0
#24 0xb6b0c2d6 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#25 0xb6b0c453 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#26 0xb67ea6c5 in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0
#27 0xb66c83c7 in gtk_menu_shell_activate_item () from /usr/lib/libgtk-x11-2.0.so.0
#28 0xb66c87d1 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#29 0xb66bcb2d in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#30 0xb5e75ab5 in Gtk::Widget_Class::button_release_event_callback(_GtkWidget*, _GdkEventButton*) ()
from /usr/lib/libgtkmm-2.4.so.1
#31 0xb66b3762 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#32 0xb6af149d in ?? () from /usr/lib/libgobject-2.0.so.0
#33 0xb6af2606 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#34 0xb6b03dc0 in ?? () from /usr/lib/libgobject-2.0.so.0
#35 0xb6b0c011 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#36 0xb6b0c453 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#37 0xb67eb743 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#38 0xb66b192e in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#39 0xb66b1cc0 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#40 0xb6526078 in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#41 0xb6a2c753 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#42 0xb6a2caf0 in ?? () from /usr/lib/libglib-2.0.so.0
#43 0xb6a2cf4b in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#44 0xb66b0a5f in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#45 0xb5dee114 in Gtk::Main::run_impl() () from /usr/lib/libgtkmm-2.4.so.1
#46 0xb5deeb4f in Gtk::Main::run() () from /usr/lib/libgtkmm-2.4.so.1
#47 0xb6feec36 in Gtkmm2ext::UI::run (this=0x95b4f10, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:268
#48 0x08cd735b in main (argc=1, argv=0xbffff234) at ../gtk2_ardour/main.cc:455
falkTX
KVRist
 
96 posts since 19 Sep, 2007, from Viseu, Portugal

Postby falkTX; Wed Aug 08, 2012 6:09 pm

perhaps you missed the HybridReverb2 data files?
the README on its folder has instructions.

note that an assertion is not a crash, in a release build that would continue to work but perhaps crash later.

juce_File.cpp here:
http://juce.git.sourceforge.net/git/git ... 8f28f321a0

looks really something related to files...

btw, does the same happen with the VST version too? (ardour3 has native vst support)
benbriedis
KVRer
 
3 posts since 7 Aug, 2012, from Sydney, Australia

Postby benbriedis; Fri Aug 10, 2012 7:15 pm

I haven't yet tested VST, as I get a compilation error when compiling them. I'll give it a go if I resolve the issue. Curiously the LV2 plugin does work in Ardour2.

I can nurse the LV2 plugin through the assertion by putting a './' in front of 'HybridReverb2_presets.xml' in the preferences.xml file. Using the full path also seems to work. The Juce function that complains doesn't seem to like relative file names unless they start with './'.

Unfortunately now I get a segmentation fault. The thread in question says:

#0 0x6e75663a in ?? ()
#1 0xa498bdc4 in juce::Component::internalChildrenChanged (this=0xebf1db0) at ../source/modules/juce_gui_basics/components/juce_Component.cpp:1573
#2 0xa498b78f in juce::Component::addChildComponent (this=0xebf1db0, child=0xebf1e50, zOrder=0) at ../source/modules/juce_gui_basics/components/juce_Component.cpp:1414
#3 0xa498b7e1 in juce::Component::addAndMakeVisible (this=0xebf1db0, child=0xebf1e50, zOrder=-1) at ../source/modules/juce_gui_basics/components/juce_Component.cpp:1423
#4 0xa47d95b2 in EditorComponent::EditorComponent (this=0xebf1db0, ownerFilter=0xebdde90) at ../source/gui/EditorComponent.cpp:45
#5 0xa47c9d1d in HybridReverb2Processor::createEditor (this=0xebdde90) at ../source/HybridReverb2Processor.cpp:236
#6 0xa489b8c4 in juce::AudioProcessor::createEditorIfNeeded (this=0xebdde90) at ../source/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp:225
#7 0xa47c97b1 in HybridReverb2Processor::HybridReverb2Processor (this=0xebdde90) at ../source/HybridReverb2Processor.cpp:65
#8 0xa47c95ba in createPluginFilter () at ../source/HybridReverb2Processor.cpp:36
#9 0xa47f7dc2 in JuceLV2Wrapper::JuceLV2Wrapper (this=0xebddd58, sampleRate_=96000, features=0xeb6a940) at ../../../libs/juce-lv2/juce_LV2_Wrapper.cpp:1266
#10 0xa47f5204 in juceLV2_Instantiate (sampleRate=96000, features=0xeb6a940) at ../../../libs/juce-lv2/juce_LV2_Wrapper.cpp:1991
#11 0xb549e71f in lilv_plugin_instantiate () from /usr/lib/liblilv-0.so.0
#12 0xb7ce032a in ARDOUR::LV2Plugin::init (this=0xebb2358, c_plugin=0x94d0170, rate=96000) at ../libs/ardour/lv2_plugin.cc:264
#13 0xb7cdfc79 in ARDOUR::LV2Plugin::LV2Plugin (this=0xebb2358, engine=..., session=..., c_plugin=0x94d0170, rate=96000) at ../libs/ardour/lv2_plugin.cc:179
#14 0xb7ce7614 in ARDOUR::LV2PluginInfo::load (this=0xa1a2668, session=...) at ../libs/ardour/lv2_plugin.cc:1625
#15 0x08dcfbe6 in PluginSelector::load_plugin (this=0xa85f408, pi=...) at ../gtk2_ardour/plugin_selector.cc:399
#16 0x08dd1dd0 in PluginSelector::plugin_chosen_from_menu (this=0xa85f408, pi=...) at ../gtk2_ardour/plugin_selector.cc:746
#17 0x08dd67cf in sigc::bound_mem_functor1<void, PluginSelector, boost::shared_ptr<ARDOUR::PluginInfo> const&>::operator() (this=0xa85bfc0, _A_a1=...)
at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1851
#18 0x08dd64fd in sigc::adaptor_functor<sigc::bound_mem_functor1<void, PluginSelector, boost::shared_ptr<ARDOUR::PluginInfo> const&> >::operator()<boost::shared_ptr<ARDOUR::PluginInfo>&> (this=0xa85bfbc,
_A_arg1=...) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:84
#19 0x08dd604a in sigc::bind_functor<-1, sigc::bound_mem_functor1<void, PluginSelector, boost::shared_ptr<ARDOUR::PluginInfo> const&>, boost::shared_ptr<ARDOUR::PluginInfo>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::operator() (this=0xa85bfb8) at /usr/include/sigc++-2.0/sigc++/adaptors/bind.h:1110
#20 0x08dd58ed in sigc::internal::slot_call0<sigc::bind_functor<-1, sigc::bound_mem_functor1<void, PluginSelector, boost::shared_ptr<ARDOUR::PluginInfo> const&>, boost::shared_ptr<ARDOUR::PluginInfo>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void>::call_it (rep=0xa85bfa0) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#21 0xb6b7c593 in Glib::SignalProxyNormal::slot0_void_callback(_GObject*, void*) () from /usr/lib/libglibmm-2.4.so.1
#22 0xb6af436f in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0
#23 0xb6af2606 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#24 0xb6b04446 in ?? () from /usr/lib/libgobject-2.0.so.0
#25 0xb6b0c2d6 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#26 0xb6b0c453 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#27 0xb67ea6c5 in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0
#28 0xb66c83c7 in gtk_menu_shell_activate_item () from /usr/lib/libgtk-x11-2.0.so.0
#29 0xb66c87d1 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#30 0xb66bcb2d in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#31 0xb5e75ab5 in Gtk::Widget_Class::button_release_event_callback(_GtkWidget*, _GdkEventButton*) () from /usr/lib/libgtkmm-2.4.so.1
#32 0xb66b3762 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#33 0xb6af149d in ?? () from /usr/lib/libgobject-2.0.so.0
#34 0xb6af2606 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#35 0xb6b03dc0 in ?? () from /usr/lib/libgobject-2.0.so.0
#36 0xb6b0c011 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#37 0xb6b0c453 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#38 0xb67eb743 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#39 0xb66b192e in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#40 0xb66b1cc0 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#41 0xb6526078 in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#42 0xb6a2c753 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#43 0xb6a2caf0 in ?? () from /usr/lib/libglib-2.0.so.0
#44 0xb6a2cf4b in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#45 0xb66b0a5f in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#46 0xb5dee114 in Gtk::Main::run_impl() () from /usr/lib/libgtkmm-2.4.so.1
#47 0xb5deeb4f in Gtk::Main::run() () from /usr/lib/libgtkmm-2.4.so.1
#48 0xb6feec36 in Gtkmm2ext::UI::run (this=0x95b4f10, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:268
#49 0x08cd735b in main (argc=1, argv=0xbffff234) at ../gtk2_ardour/main.cc:455

It's less obvious what to do here. Looks like a child object is invalid or something.
falkTX
KVRist
 
96 posts since 19 Sep, 2007, from Viseu, Portugal

Postby falkTX; Fri Aug 10, 2012 7:21 pm

I've got a similar issue recently, does this happen when closing the UI?

Please try installing the latest suil version from SVN
(ie, http://drobilla.net/software/suil/)
and re-link ardour3 to it.
benbriedis
KVRer
 
3 posts since 7 Aug, 2012, from Sydney, Australia

Postby benbriedis; Fri Aug 10, 2012 10:46 pm

The problem is occurring when adding the plugin. I remember seeing some problem before when closing the GUI, but I'm not getting that far at the moment.

I just updated suil to suil 0.6.4-1 from Arch, which seems to be the latest release. It hasn't changed matters unfortunately.

I have got the Linux VST version working though. Saving the parameters still seems awkward, but it may be possible if I create a new preset each time. My first impression is that I may also be able to display the GUI while it is active, which would be very useful thing to do - so I might try to work with the Linux VST version for a while and see if I can use it on a proper project.

Thanks for all your help!

Moderators: falkTX, nieee

Return to DISTRHO