Ardour Crashes if Firefox plays audio to the same device
Steps:
- Open an Ardour session with the output attached to the default device (ZEDi 8 USB in my case)
- Start Firefox
- Play a Youtube video or audio sample on bandcamp.com
Crashing thread:
bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
#1 0x00007f04d35878a4 in __GI_abort () at abort.c:79
#2 0x00007f04d35e0cd7 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7f04d36f17fc "%s\n") at ../sysdeps/posix/libc_fatal.c:155
#3 0x00007f04d35e894c in malloc_printerr (str=str@entry=0x7f04d36f4188 "malloc(): unsorted double linked list corrupted") at malloc.c:5626
#4 0x00007f04d35ebf8c in _int_malloc (av=av@entry=0x7f04d3724a00 <main_arena>, bytes=bytes@entry=96) at malloc.c:3967
#5 0x00007f04d35ee1d5 in __libc_calloc (n=n@entry=1, elem_size=elem_size@entry=96) at malloc.c:3637
#6 0x00007f04d54658f1 in g_malloc0 (n_bytes=96) at ../glib/gmem.c:136
#7 0x00007f04d5459942 in g_source_new (source_funcs=source_funcs@entry=0x7f04d553c2c0 <g_idle_funcs>, struct_size=struct_size@entry=96)
at ../glib/gmain.c:958
#8 0x00007f04d545b297 in g_idle_source_new () at ../glib/gmain.c:5873
#9 0x00007f04d545be12 in g_idle_add_full (priority=priority@entry=120, function=0x7f04d4e895b0 <gdk_threads_dispatch>, data=0x5650e7cf1960,
notify=0x7f04d4e89610 <gdk_threads_dispatch_free>) at ../glib/gmain.c:5916
#10 0x00007f04d4eb009b in IA__gdk_threads_add_idle_full (notify=0x0, data=0x0, function=0x7f04d4eb0350 <gdk_window_update_idle>, priority=120)
at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gdk/gdk.c:622
#11 gdk_window_schedule_update (window=<optimized out>) at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gdk/gdkwindow.c:5397
#12 gdk_window_schedule_update (window=window@entry=0x5650e48d4a20) at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gdk/gdkwindow.c:5388
#13 0x00007f04d4eb0ac0 in impl_window_add_update_area (region=0x5650e62d8130, impl_window=0x5650e48d4a20)
at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gdk/gdkwindow.c:5930
#14 impl_window_add_update_area (region=0x5650e62d8130, impl_window=0x5650e48d4a20) at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gdk/gdkwindow.c:5921
#15 gdk_window_invalidate_maybe_recurse_full (window=<optimized out>, region=region@entry=0x5650e76c0b50, clear_bg=clear_bg@entry=CLEAR_BG_NONE,
child_func=<optimized out>, user_data=user_data@entry=0x5650e49f1460) at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gdk/gdkwindow.c:6036
#16 0x00007f04d4eb2231 in IA__gdk_window_invalidate_maybe_recurse (window=<optimized out>, region=region@entry=0x5650e76c0b50, child_func=<optimized out>,
user_data=user_data@entry=0x5650e49f1460) at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gdk/gdkwindow.c:6074
#17 0x00007f04d51e0725 in gtk_widget_invalidate_widget_windows.part.0.lto_priv.0 (widget=widget@entry=0x5650e49f1460, region=region@entry=0x5650e76c0b50)
at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gtk/gtkwidget.c:4004
#18 0x00007f04d51e07b3 in gtk_widget_invalidate_widget_windows (region=0x5650e76c0b50, widget=0x5650e49f1460)
at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gtk/gtkwidget.c:3993
#19 gtk_widget_queue_shallow_draw.part.0.lto_priv.0 (widget=0x5650e49f1460) at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gtk/gtkwidget.c:4041
#20 0x00007f04d51d474c in gtk_widget_queue_shallow_draw (widget=0x5650e49f1460) at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gtk/gtkwidget.c:4021
#21 IA__gtk_widget_queue_resize (widget=0x5650e49f1460) at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gtk/gtkwidget.c:3853
#22 0x00007f04d5082ecb in IA__gtk_label_set_markup (label=0x5650e49f1460, str=<optimized out>)
at /usr/src/debug/gtk2-2.24.33-4.fc34.x86_64/gtk/gtklabel.c:2418
#23 0x00005650e30850a5 in ARDOUR_UI::update_sample_rate (this=0x5650e48d60c0) at ../gtk2_ardour/ardour_ui.cc:1230
#24 0x00007f04d587f94b in AbstractUI<Gtkmm2ext::UIRequest>::handle_ui_requests (this=0x5650e48d60c0) at /usr/include/glibmm-2.4/glibmm/threads.h:729
#25 0x00007f04d57e092e in BaseUI::request_handler (this=0x5650e48d60c0, ioc=Glib::IO_IN) at ../libs/pbd/base_ui.cc:149
#26 0x00007f04d57daa1b in sigc::slot1<bool, Glib::IOCondition>::operator() (_A_a1=@0x7ffdae1fe8c4: Glib::IO_IN, this=<optimized out>)
at /usr/include/sigc++-2.0/sigc++/functors/slot.h:665
Packages installed (Fedora 34):
$ dnf list installed *pipewire* ardour6 pulseaudio*
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
pulseaudio-debuginfo.x86_64 14.2-3.fc34 @fedora-debuginfo
pulseaudio-debugsource.x86_64 14.2-3.fc34 @fedora-debuginfo
pulseaudio-libs.x86_64 14.2-3.fc34 @anaconda
pulseaudio-libs-debuginfo.x86_64 14.2-3.fc34 @fedora-debuginfo
pulseaudio-libs-glib2.x86_64 14.2-3.fc34 @anaconda
pulseaudio-qt.x86_64 1.2-5.fc34 @anaconda