You are not logged in.

#1 2020-11-14 13:15:13

i0ria
Member
Registered: 2020-11-14
Posts: 3

[SOLVED] bluetooth.service segfault connecting to specific device

Hello,
I'm having problems connecting to a JBL link 300 by bluetooth.
I can pair correctly with the device, but as soon as i try to connect, bluetooth.service stops working.
I also have a pair of true wireless earbuds, they work perfectly.

Looking around, I found this "https://bugs.archlinux.org/task/48644".
It seems the same problem but appears to have been fixed in 2016. 


$ uname -a
Linux XXXX 5.9.8-arch1-1 #1 SMP PREEMPT Tue, 10 Nov 2020 22:44:11 +0000 x86_64 GNU/Linux
$ bluetoothctl 
Agent registered

[bluetooth]# version 
Version 5.55

[bluetooth]# show XX:XX:XX:XX:XX:XX 
Controller XX:XX:XX:XX:XX:XX (public)
	Name: XX
	Alias: XX
	Class: 0x003c0104
	Powered: yes
	Discoverable: no
	DiscoverableTimeout: 0x00000000
	Pairable: yes
	UUID: Message Notification Se.. (00001133-0000-1000-8000-00805f9b34fb)
	UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)
	UUID: OBEX Object Push          (00001105-0000-1000-8000-00805f9b34fb)
	UUID: Message Access Server     (00001132-0000-1000-8000-00805f9b34fb)
	UUID: PnP Information           (00001200-0000-1000-8000-00805f9b34fb)
	UUID: IrMC Sync                 (00001104-0000-1000-8000-00805f9b34fb)
	UUID: Vendor specific           (00005005-0000-1000-8000-0002ee000001)
	UUID: Headset AG                (00001112-0000-1000-8000-00805f9b34fb)
	UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
	UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
	UUID: Phonebook Access Server   (0000112f-0000-1000-8000-00805f9b34fb)
	UUID: Audio Sink                (0000110b-0000-1000-8000-00805f9b34fb)
	UUID: Device Information        (0000180a-0000-1000-8000-00805f9b34fb)
	UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
	UUID: Headset                   (00001108-0000-1000-8000-00805f9b34fb)
	UUID: Audio Source              (0000110a-0000-1000-8000-00805f9b34fb)
	UUID: OBEX File Transfer        (00001106-0000-1000-8000-00805f9b34fb)
	Modalias: usb:v1D6Bp0246d0537
	Discovering: no
	Roles: central
	Roles: peripheral
Advertising Features:
	ActiveInstances: 0x00 (0)
	SupportedInstances: 0x05 (5)
	SupportedIncludes: tx-power
	SupportedIncludes: appearance
	SupportedIncludes: local-name

[bluetooth]# info XX:XX:XX:XX:XX:XX  
Device XX:XX:XX:XX:XX:XX  (public)
	Name: JBL Link 300
	Alias: JBL Link 300
	Class: 0x004c0414
	Icon: audio-card
	Paired: yes
	Trusted: yes
	Blocked: no
	Connected: no
	LegacyPairing: no
	UUID: Audio Source              (0000110a-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: SIM Access                (0000112d-0000-1000-8000-00805f9b34fb)
	UUID: PnP Information           (00001200-0000-1000-8000-00805f9b34fb)
	UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
	UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
	Modalias: bluetooth:v0ECBp1EEAd0001
$ lsusb | grep tooth
Bus 002 Device 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
$ systemctl status bluetooth

bluetoothd[6079]: profiles/audio/a2dp.c:register_remote_sep() Could not register remote sep /org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/sep7
bluetoothd[6079]: profiles/audio/a2dp.c:register_remote_sep() Could not register remote sep /org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/sep8
bluetoothd[6079]: profiles/audio/a2dp.c:register_remote_sep() Could not register remote sep /org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/sep9
bluetooth.service: Main process exited, code=dumped, status=11/SEGV
bluetooth.service: Failed with result 'core-dump'.
$ dmesg

[ 6874.438813] bluetoothd[6079]: segfault at 3 ip 00005574cedbf517 sp 00007ffc58571f40 error 4 in bluetoothd[5574cedba000+a8000]
[ 6874.438818] Code: 48 8d 0d d7 35 0a 00 ba 04 00 00 00 4c 89 f7 44 0f b6 c0 be 01 00 00 00 31 c0 ff 15 db 58 10 00 48 8b 7d 10 67 e8 99 77 00 00 <44> 0f b6 6b 03 48 8b 7d 10 44 0f b6 f8 67 e8 66 77 00 00 48 83 ec

Thanks in advance for your help.

Last edited by i0ria (2020-11-23 20:36:50)

Offline

#2 2020-11-14 15:54:37

GaKu999
Member
From: US/Eastern
Registered: 2020-06-21
Posts: 696

Re: [SOLVED] bluetooth.service segfault connecting to specific device

Try to get a coredump, and try downgrading until you find a working version so a regression can be declared and the source of the regression can be found.

Last edited by GaKu999 (2020-11-14 15:55:03)


My reposSome snippets

Heisenberg might have been here.

Offline

#3 2020-11-15 09:03:41

i0ria
Member
Registered: 2020-11-14
Posts: 3

Re: [SOLVED] bluetooth.service segfault connecting to specific device

Thanks for the tips.
I followed your advice to keep downgrading and I actually found where the problem started.
I don't know if it was needed, but I downgraded together bluez, bluez-libs and bluez-utils.

This is the last version that works correctly:
bluez-5.50-7-x86_64.pkg.tar.xz                     06-Sep-2019 19:32    518K

I start getting those segfaults from here:
bluez-5.51-1-x86_64.pkg.tar.xz                     22-Sep-2019 20:46    676K


This is what I get with 5.50-7 when I connect to the JBL:

# systemctl status bluetooth.service
Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; vendor preset: disabled)
     Active: active (running) since Sun 2020-11-15 09:36:01 CET; 29min ago
       Docs: man:bluetoothd(8)
 Main PID: 5785 (bluetoothd)
     Status: "Running"
       Tasks: 1 (limit: 19081)
   Memory: 932.0K
    CGroup: /system.slice/bluetooth.service
             └─5785 /usr/lib/bluetooth/bluetoothd

Nov 15 09:36:01 XX bluetoothd[5785]: Bluetooth daemon 5.50
Nov 15 09:36:01 XX systemd[1]: Started Bluetooth service.
Nov 15 09:36:01 XX bluetoothd[5785]: Starting SDP server
Nov 15 09:36:01 XX bluetoothd[5785]: Bluetooth management interface 1.18 initialized
Nov 15 09:36:01 XX bluetoothd[5785]: Endpoint registered: sender=:1.66 path=/MediaEndpoint/A2DPSink/sbc
Nov 15 09:36:01 XX bluetoothd[5785]: Endpoint registered: sender=:1.66 path=/MediaEndpoint/A2DPSource/sbc
Nov 15 09:36:17 XX bluetoothd[5785]: a2dp-source profile connect failed for XX:XX:XX:XX:XX:XX: Device or resource busy
Nov 15 09:36:20 XX bluetoothd[5785]: /org/bluez/hci0/dev_XX:XX:XX:XX:XX:XX/fd0: fd(23) ready

This is the coredump, of version 5.55-1, taken by systemd:

# coredumpctl info 6079
           PID: 6079 (bluetoothd)
           UID: 0 (root)
           GID: 0 (root)
           Signal: 11 (SEGV)
           Timestamp: Sat 2020-11-14 13:45:39 CET (20h ago)
           Command Line: /usr/lib/bluetooth/bluetoothd
           Executable: /usr/lib/bluetooth/bluetoothd
           Control Group: /system.slice/bluetooth.service
           Unit: bluetooth.service
           Slice: system.slice
           Boot ID: XXX
           Machine ID: XXX
           Hostname: XX
           Storage: /var/lib/systemd/coredump/core.bluetoothd.0.2c2cc8a8928c48d3b4080aebc2d5d6ad.6079.1605357939000000.zst
           Message: Process 6079 (bluetoothd) of user 0 dumped core.
                
                Stack trace of thread 6079:
                #0  0x00005574cedbf517 n/a (bluetoothd + 0x25517)
                #1  0x00005574cee4df6d n/a (bluetoothd + 0xb3f6d)
                #2  0x00005574cedbfe3e n/a (bluetoothd + 0x25e3e)
                #3  0x00005574cedc2b13 n/a (bluetoothd + 0x28b13)
                #4  0x00005574cedc4d5e n/a (bluetoothd + 0x2ad5e)
                #5  0x00005574cedca3a9 n/a (bluetoothd + 0x303a9)
                #6  0x00007f2ed307d914 g_main_context_dispatch (libglib-2.0.so.0 + 0x52914)
                #7  0x00007f2ed30d17d1 n/a (libglib-2.0.so.0 + 0xa67d1)
                #8  0x00007f2ed307ce63 g_main_loop_run (libglib-2.0.so.0 + 0x51e63)
                #9  0x00005574cee5fa06 n/a (bluetoothd + 0xc5a06)
                #10 0x00005574cee5fe88 n/a (bluetoothd + 0xc5e88)
                #11 0x00005574cedbaac1 n/a (bluetoothd + 0x20ac1)
                #12 0x00007f2ed2d50152 __libc_start_main (libc.so.6 + 0x28152)
                #13 0x00005574cedbb77e n/a (bluetoothd + 0x2177e)

At the moment, I configured pacman.conf like this:

IgnorePkg   = bluez bluez-libs bluez-utils

What should I do next?

Thanks again for the help.

Last edited by i0ria (2020-11-15 09:22:04)

Offline

#4 2020-11-23 20:36:11

i0ria
Member
Registered: 2020-11-14
Posts: 3

Re: [SOLVED] bluetooth.service segfault connecting to specific device

After reporting upstream, this issue came out to be a bug.

This is the post on bluez github: https://github.com/bluez/bluez/issues/53
These are the commits that solved the segfaults: https://github.com/tedd-an/bluez/pull/794/commits

That's all.

Offline

Board footer

Powered by FluxBB