Crash when selecting HDMI output
When selecting the HDMI output while playing Spotify Flatpak (through pulse-bridge), GNOME Shell crashed with:
Core was generated by `/usr/bin/gnome-shell'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 update_card (control=0x55da8ae89b90, info=0x7ffd9fc1a630) at ../subprojects/gvc/gvc-mixer-control.c:2559
2559 is_default = (g_strcmp0 (pi.name, info->active_profile->name) == 0);
[Current thread is 1 (Thread 0x7f2ca5394cc0 (LWP 179696))]
(gdb) bt
#0 update_card (control=0x55da8ae89b90, info=0x7ffd9fc1a630) at ../subprojects/gvc/gvc-mixer-control.c:2559
#1 0x00007f2c7120b351 in _pa_context_get_card_info_by_index_cb (context=0x55da8f6473e0, i=0x7ffd9fc1a630, eol=0, userdata=0x55da8ae89b90) at ../subprojects/gvc/gvc-mixer-control.c:2808
#2 0x00007f2c711640f8 in () at /usr/lib/libpulse.so.0
#3 0x00007f2c710fa034 in () at /usr/lib/pulseaudio/libpulsecommon-13.99.so
#4 0x00007f2c710fbccf in pa_pdispatch_run () at /usr/lib/pulseaudio/libpulsecommon-13.99.so
#5 0x00007f2c71151ad1 in () at /usr/lib/libpulse.so.0
#6 0x00007f2c710ff10f in () at /usr/lib/pulseaudio/libpulsecommon-13.99.so
#7 0x00007f2c71100bef in () at /usr/lib/pulseaudio/libpulsecommon-13.99.so
#8 0x00007f2c8001765e in () at /usr/lib/libpulse-mainloop-glib.so.0
#9 0x00007f2ca9f06914 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#10 0x00007f2ca9f5a7d1 in () at /usr/lib/libglib-2.0.so.0
#11 0x00007f2ca9f05e63 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#12 0x00007f2ca92d8406 in meta_run_main_loop () at ../src/core/main.c:708
#13 0x00007f2ca92d8417 in meta_run () at ../src/core/main.c:723
#14 0x000055da8a59c337 in main (argc=1, argv=0x7ffd9fc1ab58) at ../src/main.c:550
(gdb) print pi.name
$1 = 0x55da90eb366c "off"
(gdb) print info
$2 = (const pa_card_info *) 0x7ffd9fc1a630
(gdb) print info->active_profile
$3 = (pa_card_profile_info *) 0x0
Looks like gnome-volume-control expects info->active_profile
to always be non-NULL. I'm not sure this is a valid assumption, but if it is, then PipeWire should make sure not to pass NULL there.