Sorry, for seeing this one a bit late. First of all the relevant problem is
( 15.152| 0.000) E: [pulseaudio] volume.c: Assertion 'pa_channels_valid(channels)' failed at pulse/volume.c:74, function pa_cvolume_set(). Aborting. Which basically means there is a volume level being set for an invalid channel (simply a number which is out of range once passed to pa_cvolume_set). Looking into the code the function source_set_volume_cb in src/modules/bluetooth/module-bluez5-device.c (line 961) calls pa_cvolume_set and also sink_set_volume_cb (line 1187). Each gets called for either when a source or sink is added to the device and the profile being used is PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT. The sample_spec struct being used to provide the channel is configured in transport_config which is according to the log file attached in comment #1 never called before the abort happens. The function transport_acquire is called before and returns an error according to: ( 14.894| 0.000) D: [pulseaudio] module-bluez5-device.c: Acquiring transport /org/bluez/hci0/dev_44_5E_F3_B4_07_29/fd49 ( 14.894| 0.000) I: [pulseaudio] backend-native.c: doing connect ( 15.151| 0.257) E: [pulseaudio] backend-native.c: connect(): Function not implemented That the connect() syscall returns "Function no implemented" is suspicious. If we're going further in the log file we see ( 15.152| 0.000) D: [pulseaudio] backend-native.c: Transport /org/bluez/hci0/dev_44_5E_F3_B4_07_29/fd49 available for profile headset_head_unit which happens inside src/modules/bluetooth/backend-native.c in function profile_new_connection when we get called back from bluez if the HFP profile you get connected with the remote side. The next line is the interesting one: ( 15.152| 0.000) D: [pulseaudio] backend-native.c: RFCOMM << AT+VGS=8 This actually comes from set_speaker_gain in src/modules/bluetooth /backend-native.c line 276 and is called by sink_set_volume_cb in src/modules/bluetooth/module-bluez5-device.c (line 1187) which is called subsequently from add_sink -> init_profile. As set_speaker_gain prints out the string "RFCOMM << AT+VGS=8" AFTER it has the set volume in sink_set_volume_cb the first call to pa_cvolume_set already happened and went through without the assert in pa_cvolume_set failing for an incorrect channel. The only left candidate then is source_set_volume_cb but that one is using the same u->sample_spec.channels value as we used before and it shouldn't have changed in between. What somebody should now look into: Add pa_log_debug lines before and after the actual pa_cvolume_set calls in src/modules/bluetooth/module- bluez5-device.c so that we can verify which is actually causing the abort. These should also print the value of u->sample_spec.channels. With that we have at least the line which is causing the abort and can then look into possible reasons why this is happening. I suspect the order of a specific code flow has change slightly with the SCO-over-PCM changes we did for Ubuntu Touch. Also it would be great if someone who removed the patches can provide a log file for pulseaudio in debug mode where the headset gets connected and no abort occurs. @Luke: Can you provide packages with the necessary changes so that people expiring the abort can install these and provide new log files? -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to pulseaudio in Ubuntu. https://bugs.launchpad.net/bugs/1574324 Title: pulseaudio crashes when connecting to bluetooth headphones (due to ubuntu changes?) Status in pulseaudio package in Ubuntu: In Progress Bug description: When I attempt to connect my Jaybird Bluebuds X to Ubuntu 16.04 pulseaudio crashes, this does *NOT* happen with a Jambox which leads me to believe it's an intermittent problem with some hardware. This did not happen on Ubuntu 15.10 (which was an upgrade of 15.04). Ubuntu Release: Description: Ubuntu 16.04 LTS Release: 16.04 Pulseaudio Version: pulseaudio: Installed: 1:8.0-0ubuntu3 Candidate: 1:8.0-0ubuntu3 Version table: *** 1:8.0-0ubuntu3 500 500 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 Packages 100 /var/lib/dpkg/status Device info: [bluetooth]# info 44:5E:F3:B4:07:29 Device 44:5E:F3:B4:07:29 Name: BlueBuds X Alias: BlueBuds X Class: 0x240404 Icon: audio-card Paired: yes Trusted: yes Blocked: no Connected: no LegacyPairing: no UUID: Headset (00001108-0000-1000-8000-00805f9b34fb) UUID: Audio Sink (0000110b-0000-1000-8000-00805f9b34fb) UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb) UUID: A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb) UUID: Handsfree (0000111e-0000-1000-8000-00805f9b34fb) UUID: Unknown (000080ff-0000-1000-8000-00805f9b34fb) I have also attached a debug dump of Pulseaudio when attempting to connect to the headphones. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1574324/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp