Created attachment 130268 [details] full debug log When I connect an HSP/A2DP source, pulseaudio 10 and current -git crash in the bluez5 module: D: [pulseaudio] bluez5-util.c: Properties changed in device /org/bluez/hci0/dev_FC_A8_9A_AC_72_44 D: [pulseaudio] backend-native.c: dbus: path=/Profile/HSPAGProfile, interface=org.bluez.Profile1, member=NewConnection D: [pulseaudio] backend-native.c: dbus: NewConnection path=/org/bluez/hci0/dev_FC_A8_9A_AC_72_44, fd=19, profile headset_head_unit I: [pulseaudio] backend-native.c: doing listen D: [pulseaudio] bluez5-util.c: Transport /org/bluez/hci0/dev_FC_A8_9A_AC_72_44/fd19 state: disconnected -> idle D: [pulseaudio] backend-native.c: Transport /org/bluez/hci0/dev_FC_A8_9A_AC_72_44/fd19 available for profile headset_head_unit D: [pulseaudio] backend-native.c: RFCOMM << AT+VGS=15 D: [pulseaudio] backend-native.c: RFCOMM >> OK I: [pulseaudio] backend-native.c: Lost RFCOMM connection. D: [pulseaudio] bluez5-util.c: Transport /org/bluez/hci0/dev_FC_A8_9A_AC_72_44/fd19 state: idle -> disconnected D: [pulseaudio] bluez5-util.c: dbus: path=/MediaEndpoint/A2DPSource, interface=org.bluez.MediaEndpoint1, member=SelectConfiguration D: [pulseaudio] bluez5-util.c: Unknown interface org.freedesktop.DBus.Introspectable found, skipping D: [pulseaudio] bluez5-util.c: Unknown interface org.bluez.MediaTransport1 found, skipping D: [pulseaudio] bluez5-util.c: Unknown interface org.freedesktop.DBus.Properties found, skipping D: [pulseaudio] bluez5-util.c: dbus: path=/MediaEndpoint/A2DPSource, interface=org.bluez.MediaEndpoint1, member=SetConfiguration D: [pulseaudio] bluez5-util.c: Transport /org/bluez/hci0/dev_FC_A8_9A_AC_72_44/fd2 state: disconnected -> idle E: [pulseaudio] bluez5-util.c: Assertion '!device->wait_for_profiles_timer' failed at /var/tmp/portage/media-sound/pulseaudio-10.0/work/pulseaudio-10.0/src/modules/bluetooth/bluez5-util.c:254, function device_start_waiting_for_profiles(). Aborting. pulseaudio then crashes; the backtrace of the corefile shows this: #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 #1 0x00007f4187cfce2a in __GI_abort () at abort.c:89 #2 0x00007f417b1eb9a5 in pa_bluetooth_transport_set_state () from /usr/lib64/pulse-10.0/modules/libbluez5-util.so #3 0x00007f417b1ee500 in endpoint_set_configuration.isra () from /usr/lib64/pulse-10.0/modules/libbluez5-util.so #4 0x00007f417b1ee95b in endpoint_handler () from /usr/lib64/pulse-10.0/modules/libbluez5-util.so #5 0x00007f41884a2d53 in ?? () from /usr/lib64/libdbus-1.so.3 #6 0x00007f418849431c in dbus_connection_dispatch () from /usr/lib64/libdbus-1.so.3 #7 0x00007f41889c7524 in dispatch_cb () from /usr/lib64/pulseaudio/libpulsecommon-10.0.so #8 0x00007f4188c1a32e in pa_mainloop_dispatch () from /usr/lib64/libpulse.so.0 #9 0x00007f4188c1a53c in pa_mainloop_iterate () from /usr/lib64/libpulse.so.0 #10 0x00007f4188c1a5e0 in pa_mainloop_run () from /usr/lib64/libpulse.so.0 #11 0x00000000004070c9 in main () bluez-5.44 is used.
Created attachment 130274 [details] [review] 0001-bluez5-util-fix-profile-waiting-logic.patch Thanks for the report! I attached a patch, can you test it?
the patch doesn't apply to anyhting. I think there's another patch missing, because variable n_disconnected_profiles isn't in current -git.
Created attachment 130275 [details] [review] 0001-bluez5-util-fix-profile-waiting-logic.patch Oh, I'm sorry. I had an old patch that also modifies the same logic, and I intended to amend that, but my new changes ended up in a separate patch, so the changes in the old patch were left out. Here's an updated version.
That worked beautifully! PA even switches to a2dp_sink automatically now, always had to it by hand previously. Thank you very much!
The fix is now in master.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.