DISTRHO / DISTRHO-Ports

Linux audio plugins and LV2 ports
http://distrho.sourceforge.net/ports
261 stars 46 forks source link

KlangFalter crashes Ardour 3 (cairocanvas branch) #1

Closed prokoudine closed 10 years ago

prokoudine commented 10 years ago

I'm on Fedora 20, 32bit. A3 is from cairocanvas branch, built from clean checkout on July 15.

0 0xb7ffd424 in __kernel_vsyscall ()

1 0xb4eb6b96 in raise () from /lib/libc.so.6

2 0xb4eb83d3 in abort () from /lib/libc.so.6

3 0xb4ef62f8 in __libc_message () from /lib/libc.so.6

4 0xb4efde52 in _int_free () from /lib/libc.so.6

5 0x9a6598a6 in ?? () from /home/alexandre/.lv2/KlangFalter.lv2/KlangFalter.so

6 0x9a62b79a in ?? () from /home/alexandre/.lv2/KlangFalter.lv2/KlangFalter.so

7 0x9a64f213 in ?? () from /home/alexandre/.lv2/KlangFalter.lv2/KlangFalter.so

8 0xb7be2632 in lilv_instance_deactivate (instance=0xba97b58) at /usr/include/lilv-0/lilv/lilv.h:1651

9 0xb7be9214 in ARDOUR::LV2Plugin::deactivate (this=0x12143400) at ../libs/ardour/lv2_plugin.cc:1447

10 0xb7beb9db in ARDOUR::LV2Plugin::latency_compute_run (this=0x12143400) at ../libs/ardour/lv2_plugin.cc:1920

11 0xb7be49d1 in ARDOUR::LV2Plugin::init (this=0x12143400, c_plugin=0x96e5d60, rate=48000) at ../libs/ardour/lv2_plugin.cc:582

12 0xb7be3086 in ARDOUR::LV2Plugin::LV2Plugin (this=0x12143400, engine=..., session=..., c_plugin=0x96e5d60, rate=48000) at ../libs/ardour/lv2_plugin.cc:258

13 0xb7bec419 in ARDOUR::LV2PluginInfo::load (this=0xa7e88e0, session=...) at ../libs/ardour/lv2_plugin.cc:2055

14 0x08f3b85e in PluginSelector::load_plugin (this=0xa99ca00, pi=...) at ../gtk2_ardour/plugin_selector.cc:407

15 0x08f3befa in PluginSelector::run (this=0xa99ca00) at ../gtk2_ardour/plugin_selector.cc:484

16 0x08f3e034 in PluginSelector::show_manager (this=0xa99ca00) at ../gtk2_ardour/plugin_selector.cc:853

17 0x08f41e2a in sigc::bound_mem_functor0<void, PluginSelector>::operator() (this=0xa99ad7c) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787

18 0x08f418ac in sigc::adaptor_functor<sigc::bound_mem_functor0<void, PluginSelector> >::operator() (this=0xa99ad78) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251

19 0x08f41076 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, PluginSelector>, void>::call_it (rep=0xa99ad60) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103

20 0xb6a45e6e in Glib::SignalProxyNormal::slot0_void_callback(GObject, void_) () from /lib/libglibmm-2.4.so.1

21 0xb69b44d3 in g_cclosure_marshal_VOID__VOID () from /lib/libgobject-2.0.so.0

22 0xb69b27de in g_closure_invoke () from /lib/libgobject-2.0.so.0

23 0xb69c53e0 in signal_emit_unlocked_R () from /lib/libgobject-2.0.so.0

24 0xb69cd3c1 in g_signal_emit_valist () from /lib/libgobject-2.0.so.0

25 0xb69cd654 in g_signal_emit () from /lib/libgobject-2.0.so.0

26 0xb6647e93 in gtk_widget_activate () from /lib/libgtk-x11-2.0.so.0

27 0xb650fc7f in gtk_menu_shell_activate_item () from /lib/libgtk-x11-2.0.so.0

28 0xb651012e in gtk_menu_shell_button_release () from /lib/libgtk-x11-2.0.so.0

29 0xb6501b18 in gtk_menu_button_release () from /lib/libgtk-x11-2.0.so.0

30 0xb5df5f07 in Gtk::Widget_Class::button_release_event_callback(GtkWidget, GdkEventButton) () from /lib/libgtkmm-2.4.so.1

31 0xb64f798e in _gtk_marshal_BOOLEAN__BOXED () from /lib/libgtk-x11-2.0.so.0

32 0xb69b1275 in g_type_class_meta_marshal () from /lib/libgobject-2.0.so.0

33 0xb69b27de in g_closure_invoke () from /lib/libgobject-2.0.so.0

34 0xb69c51ca in signal_emit_unlocked_R () from /lib/libgobject-2.0.so.0

35 0xb69cd0ab in g_signal_emit_valist () from /lib/libgobject-2.0.so.0

36 0xb69cd654 in g_signal_emit () from /lib/libgobject-2.0.so.0

37 0xb6649683 in gtk_widget_event_internal () from /lib/libgtk-x11-2.0.so.0

38 0xb64f5654 in gtk_propagate_event () from /lib/libgtk-x11-2.0.so.0

39 0xb64f5a90 in gtk_main_do_event () from /lib/libgtk-x11-2.0.so.0

40 0xb634a5a9 in gdk_event_dispatch () from /lib/libgdk-x11-2.0.so.0

41 0xb68bc556 in g_main_context_dispatch () from /lib/libglib-2.0.so.0

42 0xb68bc920 in g_main_context_iterate.isra () from /lib/libglib-2.0.so.0

43 0xb68bcdc3 in g_main_loop_run () from /lib/libglib-2.0.so.0

44 0xb64f4700 in gtk_main () from /lib/libgtk-x11-2.0.so.0

45 0xb5d74735 in Gtk::Main::run_impl() () from /lib/libgtkmm-2.4.so.1

46 0xb5d74e80 in Gtk::Main::run() () from /lib/libgtkmm-2.4.so.1

47 0xb6dfa7db in Gtkmm2ext::UI::run (this=0x9956070, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:278

48 0x08def7ba in main (argc=1, argv=0xbfffe994) at ../gtk2_ardour/main.cc:280

falkTX commented 10 years ago

Is the plugin also built from source, or are you using the pre-built binaries?

I'm looking into this. It appeared that it was crashing due to KlangFalter deactivate, but after I comment out that part ardour crashes on "Gtkmm2ext::pixbuf_from_string". There's probably some memory corruption going on here...

prokoudine commented 10 years ago

Ah, sorry — this is a pre-built LV2. Simply adding it to the mixer strip crashes the host. Haven't tried with Qtractor yet, though.

falkTX commented 10 years ago

ok, I think I found the issue.

after adding some prints to relevant parts of the code I get this: prepareToPlay 512 releaseResources processBlock 1024

this means ardour is calling process after deactivating the plugin. this is seriously wrong, and a very bad bug in ardour3. I'll report to the devs.

falkTX commented 10 years ago

btw, the fact that the vst version works fine is another indication that ardour3 is the culprit here

x42 commented 10 years ago

should be fixed in Ardour 3.5-2793-gac9219a

falkTX commented 10 years ago

thanks very much, I'll close this now