Ardour 6.5.0 crashes when trying to add more than one input device
I have several audio devices hooked up, and I'd like to be able to record from two or more at the same time (one synth with USB class audio, one mixer with USB output).
In Ardour, if I go and add two tracks, it will always crash when I try to assign the inputs of one (or both) of them to a device.
I see this logged in konsole:
[W][000088966.091333][pipewire-jack.c:4170 jack_recompute_total_latencies()] jack-client 0x562466770400: not implemented
[W][000088991.775435][pipewire-jack.c:4170 jack_recompute_total_latencies()] jack-client 0x562466770400: not implemented
[W][000088992.590006][pipewire-jack.c:4170 jack_recompute_total_latencies()] jack-client 0x562466770400: not implemented
Segmentation fault (core dumped)
Here's the faulting thread:
Core was generated by `/usr/lib64/ardour6/ardour-6.5.0'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 ARDOUR::Port::connected_to (this=0x0, o=...) at /usr/include/boost/smart_ptr/detail/operator_bool.hpp:61
61 /usr/include/boost/smart_ptr/detail/operator_bool.hpp: No such file or directory.
[Current thread is 1 (Thread 0x7f0e47c80ac0 (LWP 44013))]
(gdb) bt
#0 ARDOUR::Port::connected_to (this=0x0, o="ZEDi8 Pro:capture_2") at /usr/include/boost/smart_ptr/detail/operator_bool.hpp:61
#1 0x000056246456655e in IOSelector::get_state (this=0x5624695d8880, c=<optimized out>) at /usr/include/boost/smart_ptr/shared_ptr.hpp:726
#2 0x000056246471784b in PortMatrixGrid::render (this=0x5624695d9430, cr=0x5624665f4d00) at ../gtk2_ardour/port_matrix_grid.cc:210
#3 0x000056246470fb35 in PortMatrixComponent::get_pixmap (drawable=<optimized out>, this=0x5624695d9430) at ../gtk2_ardour/port_matrix_component.cc:86
#4 PortMatrixBody::on_expose_event (this=0x56246959a500, event=<optimized out>) at ../gtk2_ardour/port_matrix_body.cc:114
#5 0x00007f0e4c5729e9 in Gtk::Widget_Class::expose_event_callback (self=0x5624666e3270, p0=0x7ffc135b9810)
at /usr/src/debug/gtkmm24-2.24.5-11.fc34.x86_64/gtk/gtkmm/widget.cc:4479
#6 0x00007f0e4cddc449 in _gtk_marshal_BOOLEAN__BOXED (closure=0x5624661ee4a0, return_value=0x7ffc135b9400, n_param_values=<optimized out>,
param_values=0x7ffc135b9460, invocation_hint=<optimized out>, marshal_data=<optimized out>)
at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gtk/gtkmarshalers.c:84
#7 0x00007f0e4d29bcaf in g_closure_invoke (closure=0x5624661ee4a0, return_value=0x7ffc135b9400, n_param_values=2, param_values=0x7ffc135b9460,
invocation_hint=0x7ffc135b93e0) at ../gobject/gclosure.c:810
#8 0x00007f0e4d2b7c84 in signal_emit_unlocked_R (node=<optimized out>, detail=detail@entry=0, instance=instance@entry=0x5624666e3270,
emission_return=emission_return@entry=0x7ffc135b9580, instance_and_params=instance_and_params@entry=0x7ffc135b9460) at ../gobject/gsignal.c:3780
#9 0x00007f0e4d2b999e in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>,
var_args=var_args@entry=0x7ffc135b9630) at ../gobject/gsignal.c:3507
#10 0x00007f0e4d2ba043 in g_signal_emit (instance=instance@entry=0x5624666e3270, signal_id=<optimized out>, detail=detail@entry=0)
at ../gobject/gsignal.c:3553
#11 0x00007f0e4cf1f144 in gtk_widget_event_internal (widget=0x5624666e3270, event=0x7ffc135b9810)
at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gtk/gtkwidget.c:5017
#12 0x00007f0e4cde17a3 in IA__gtk_main_do_event (event=0x7ffc135b9810) at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gtk/gtkmain.c:1623
#13 IA__gtk_main_do_event (event=<optimized out>) at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gtk/gtkmain.c:1503
#14 0x00007f0e4cc04f59 in _gdk_window_process_updates_recurse (window=window@entry=0x5624695d55a0, expose_region=expose_region@entry=0x56246937f0a0)
at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gdk/gdkwindow.c:5479
#15 0x00007f0e4cc04ed9 in _gdk_window_process_updates_recurse (expose_region=0x56246937f0a0, window=0x5624695d55a0)
at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gdk/gdkregion-generic.c:1545
#16 _gdk_window_process_updates_recurse (window=0x5624695d5120, expose_region=0x5624695d40c0)
at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gdk/gdkwindow.c:5452
#17 0x00007f0e4cbf9955 in gdk_window_process_updates_internal (window=window@entry=0x5624695d5120)
at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gdk/gdkregion-generic.c:1545
#18 0x00007f0e4cbfa525 in IA__gdk_window_process_updates (window=0x5624695d5120, update_children=1)
at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gdk/gdkwindow.c:5818
#19 0x00007f0e4cf33a83 in gtk_window_move_resize (window=0x5624695bc490) at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gtk/gtkwindow.c:6246
#20 gtk_window_check_resize (container=<optimized out>) at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gtk/gtkwindow.c:5408
#21 gtk_window_check_resize (container=<optimized out>) at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gtk/gtkwindow.c:5405
#22 0x00007f0e4c4dfb0e in Gtk::Container_Class::check_resize_callback (self=0x5624695bc490)
at /usr/src/debug/gtkmm24-2.24.5-11.fc34.x86_64/gtk/gtkmm/container.cc:647
#23 0x00007f0e4d29bcaf in g_closure_invoke (closure=0x5624661f49e0, return_value=0x0, n_param_values=1, param_values=0x7ffc135b9ce0,
invocation_hint=0x7ffc135b9c60) at ../gobject/gclosure.c:810
#24 0x00007f0e4d2b7c84 in signal_emit_unlocked_R (node=node@entry=0x5624661f4a30, detail=detail@entry=0, instance=instance@entry=0x5624695bc490,
emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffc135b9ce0) at ../gobject/gsignal.c:3780
#25 0x00007f0e4d2b9e2a in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>,
var_args=var_args@entry=0x7ffc135b9e90) at ../gobject/gsignal.c:3497
#26 0x00007f0e4d2ba043 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3553
#27 0x00007f0e4cd4dae2 in IA__gtk_container_check_resize (container=<optimized out>) at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gtk/gtkcontainer.c:1432
#28 0x00007f0e4cd4db68 in gtk_container_idle_sizer (data=<optimized out>) at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gtk/gtkcontainer.c:1357
#29 0x00007f0e4cbd35e9 in gdk_threads_dispatch (data=data@entry=0x5624695af240) at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gdk/gdk.c:534
#30 0x00007f0e4d1a353b in g_idle_dispatch (source=source@entry=0x5624695f38f0, callback=0x7f0e4cbd35b0 <gdk_threads_dispatch>, user_data=0x5624695af240)
at ../glib/gmain.c:5848
#31 0x00007f0e4d1a70ff in g_main_dispatch (context=0x562465d50dd0) at ../glib/gmain.c:3337
#32 g_main_context_dispatch (context=0x562465d50dd0) at ../glib/gmain.c:4055
#33 0x00007f0e4d1fac98 in g_main_context_iterate.constprop.0 (context=0x562465d50dd0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
at ../glib/gmain.c:4131
#34 0x00007f0e4d1a67e3 in g_main_loop_run (loop=0x5624665633b0) at ../glib/gmain.c:4329
#35 0x00007f0e4cdda142 in IA__gtk_main () at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gtk/gtkmain.c:1270
#36 0x00007f0e4d5cc73a in Gtkmm2ext::UI::run (this=0x5624661b21e0, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:310
#37 0x00005624642732c7 in main (argc=<optimized out>, argv=<optimized out>) at ../gtk2_ardour/main.cc:396
All threads are in the attached file
I'm currently testing Fedora 34 (Jam).
Versions used:
$ dnf list installed *pipewire* ardour6
Installed Packages
ardour6.x86_64 6.5.0-3.fc34 @anaconda
pipewire.x86_64 0.3.22-4.fc34 @anaconda
pipewire-alsa.x86_64 0.3.22-4.fc34 @anaconda
pipewire-debuginfo.x86_64 0.3.22-4.fc34 @fedora-debuginfo
pipewire-debugsource.x86_64 0.3.22-4.fc34 @fedora-debuginfo
pipewire-gstreamer.x86_64 0.3.22-4.fc34 @anaconda
pipewire-jack-audio-connection-kit.x86_64 0.3.22-4.fc34 @anaconda
pipewire-jack-audio-connection-kit-debuginfo.x86_64 0.3.22-4.fc34 @fedora-debuginfo
pipewire-libs.x86_64 0.3.22-4.fc34 @anaconda
pipewire-libs-debuginfo.x86_64 0.3.22-4.fc34 @fedora-debuginfo
pipewire-pulseaudio.x86_64 0.3.22-4.fc34 @anaconda
pipewire-utils.x86_64 0.3.22-4.fc34 @anaconda
pipewire0.2-libs.x86_64 0.2.7-5.fc34 @anaconda