* bluetoothd crashes on exit when Media is enabled
@ 2011-08-06 11:17 Daniel Schaal
2011-08-07 13:40 ` Luiz Augusto von Dentz
0 siblings, 1 reply; 3+ messages in thread
From: Daniel Schaal @ 2011-08-06 11:17 UTC (permalink / raw)
To: linux-bluetooth
[-- Attachment #1: Type: text/plain, Size: 594 bytes --]
Hi,
after enabling Media in audio.conf, bluetoothd always crashes when exiting.
From the log I suspect the problem is that avdtp_unregister_sep is called
twice with the same sep:
audio/avdtp.c:avdtp_unregister_sep() SEP 0x7ffff822b650 unregistered: type:0
codec:0 seid:2
audio/avdtp.c:avdtp_unregister_sep() SEP 0x7ffff822b650 unregistered: type:0
codec:0 seid:2
*** glibc detected *** /usr/sbin/bluetoothd: double free or corruption
(!prev): 0x00007ffff822a920 ***
Attached is the backtrace and the debug output of bluetoothd
I'm using 4.96 with Kernel 3.0
Thanks
[-- Attachment #2: bluetoothd.bt --]
[-- Type: text/plain, Size: 1644 bytes --]
#0 0x00007ffff6a66405 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00007ffff6a69680 in abort () at abort.c:92
#2 0x00007ffff6a9cdbb in __libc_message (do_abort=<value optimized out>, fmt=<value optimized out>) at ../sysdeps/unix/sysv/linux/libc_fatal.c:189
#3 0x00007ffff6aa6606 in malloc_printerr (action=3, str=0x7ffff6b7d2a8 "double free or corruption (!prev)", ptr=<value optimized out>) at malloc.c:6283
#4 0x00007ffff6aab33c in __libc_free (mem=<value optimized out>) at malloc.c:3738
#5 0x00007ffff788e447 in g_slist_foreach (list=<value optimized out>, func=0x7ffff7f80780 <a2dp_unregister_sep>, user_data=0x0) at /tmp/buildd/glib2.0-2.28.6/./glib/gslist.c:880
#6 0x00007ffff788e46b in g_slist_free_full (list=0x7ffff82132b0, free_func=<value optimized out>) at /tmp/buildd/glib2.0-2.28.6/./glib/gslist.c:209
#7 0x00007ffff7f82820 in a2dp_unregister (src=0x7fffffffe410) at audio/a2dp.c:1551
#8 0x00007ffff7f738bd in a2dp_server_remove (adapter=0x7ffff8212aa0) at audio/manager.c:1032
#9 0x00007ffff788e447 in g_slist_foreach (list=<value optimized out>, func=0x7ffff7fc7190 <remove_driver>, user_data=0x7ffff8212aa0) at /tmp/buildd/glib2.0-2.28.6/./glib/gslist.c:
880
#10 0x00007ffff7fca63e in unload_drivers (adapter=0x7ffff8212aa0) at src/adapter.c:2329
#11 adapter_remove (adapter=0x7ffff8212aa0) at src/adapter.c:2578
#12 0x00007ffff7fc6b42 in manager_cleanup (conn=0x7ffff820cb20, path=<value optimized out>) at src/manager.c:306
#13 0x00007ffff7f6f049 in disconnect_dbus (argc=1, argv=0x7fffffffe668) at src/main.c:304
#14 main (argc=1, argv=0x7fffffffe668) at src/main.c:481
[-- Attachment #3: bluetoothd.log --]
[-- Type: text/plain, Size: 38343 bytes --]
bluetoothd[3276]: Bluetooth daemon 4.96
bluetoothd[3276]: src/main.c:parse_config() parsing main.conf
bluetoothd[3276]: src/main.c:parse_config() discovto=0
bluetoothd[3276]: src/main.c:parse_config() pairto=0
bluetoothd[3276]: src/main.c:parse_config() pageto=8192
bluetoothd[3276]: src/main.c:parse_config() name=%h-%d
bluetoothd[3276]: src/main.c:parse_config() class=0x000100
bluetoothd[3276]: src/main.c:parse_config() discov_interval=30
bluetoothd[3276]: src/main.c:parse_config() Key file does not have key 'DeviceID'
bluetoothd[3276]: Starting SDP server
bluetoothd[3276]: src/plugin.c:plugin_init() Loading builtin plugins
bluetoothd[3276]: Excluding (conf) pnat
bluetoothd[3276]: src/plugin.c:add_plugin() Loading audio plugin
bluetoothd[3276]: Excluding (conf) sap
bluetoothd[3276]: Excluding (conf) input
bluetoothd[3276]: src/plugin.c:add_plugin() Loading serial plugin
bluetoothd[3276]: Excluding (conf) network
bluetoothd[3276]: Excluding (conf) proximity
bluetoothd[3276]: src/plugin.c:add_plugin() Loading service plugin
bluetoothd[3276]: Excluding (conf) health
bluetoothd[3276]: Excluding (conf) thermometer
bluetoothd[3276]: src/plugin.c:add_plugin() Loading hciops plugin
bluetoothd[3276]: src/plugin.c:add_plugin() Loading mgmtops plugin
bluetoothd[3276]: src/plugin.c:add_plugin() Loading formfactor plugin
bluetoothd[3276]: src/plugin.c:add_plugin() Loading storage plugin
bluetoothd[3276]: src/plugin.c:add_plugin() Loading adaptername plugin
bluetoothd[3276]: Excluding (conf) wiimote
bluetoothd[3276]: Excluding (conf) dbusoob
bluetoothd[3276]: src/plugin.c:plugin_init() Loading plugins /usr/lib/x86_64-linux-gnu/bluetooth/plugins
bluetoothd[3276]: plugins/service.c:register_interface() path /org/bluez/3276/any
bluetoothd[3276]: plugins/service.c:register_interface() Registered interface org.bluez.Service on path /org/bluez/3276/any
bluetoothd[3276]: audio/unix.c:unix_init() Unix socket created: 14
bluetoothd[3276]: plugins/hciops.c:hciops_init()
bluetoothd[3276]: Bluetooth Management interface initialized
bluetoothd[3276]: src/main.c:main() Entering main loop
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() Received 11 bytes from management socket
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[3276]: plugins/mgmtops.c:read_version_complete() version 0 revision 1
bluetoothd[3276]: src/rfkill.c:rfkill_event() RFKILL event idx 0 type 1 op 0 soft 0 hard 0
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() Received 12 bytes from management socket
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[3276]: plugins/mgmtops.c:add_controller() Added controller 0
bluetoothd[3276]: plugins/mgmtops.c:mgmt_remove_uuid() index 0
bluetoothd[3276]: src/rfkill.c:rfkill_event() RFKILL event idx 1 type 2 op 0 soft 0 hard 0
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() Received 10 bytes from management socket
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() Received 285 bytes from management socket
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[3276]: plugins/mgmtops.c:read_info_complete() hci0 type 0 addr 00:1B:DC:00:30:05
bluetoothd[3276]: plugins/mgmtops.c:read_info_complete() hci0 class 0x580100
bluetoothd[3276]: plugins/mgmtops.c:read_info_complete() hci0 manufacturer 10 HCI ver 4:4839
bluetoothd[3276]: plugins/mgmtops.c:read_info_complete() hci0 enabled 1 discoverable 0 pairable 1 sec_mode 4
bluetoothd[3276]: plugins/mgmtops.c:read_info_complete() hci0 name CSR - bc4
bluetoothd[3276]: src/adapter.c:btd_adapter_ref() 0x7ffff8212aa0: ref=1
bluetoothd[3276]: plugins/mgmtops.c:mgmt_read_bdaddr() index 0 addr 00:1B:DC:00:30:05
bluetoothd[3276]: src/sdpd-database.c:sdp_init_services_list()
bluetoothd[3276]: plugins/mgmtops.c:mgmt_add_uuid() index 0
bluetoothd[3276]: plugins/mgmtops.c:mgmt_add_uuid() index 0
bluetoothd[3276]: plugins/service.c:register_interface() path /org/bluez/3276/hci0
bluetoothd[3276]: plugins/service.c:register_interface() Registered interface org.bluez.Service on path /org/bluez/3276/hci0
bluetoothd[3276]: serial/manager.c:proxy_probe() path /org/bluez/3276/hci0
bluetoothd[3276]: src/adapter.c:btd_adapter_ref() 0x7ffff8212aa0: ref=2
bluetoothd[3276]: serial/proxy.c:proxy_register() Registered interface org.bluez.SerialProxyManager on path /org/bluez/3276/hci0
bluetoothd[3276]: audio/manager.c:media_server_probe() path /org/bluez/3276/hci0
bluetoothd[3276]: src/adapter.c:btd_adapter_ref() 0x7ffff8212aa0: ref=3
bluetoothd[3276]: audio/manager.c:audio_adapter_ref() 0x7ffff8213350: ref=1
bluetoothd[3276]: audio/manager.c:headset_server_probe() path /org/bluez/3276/hci0
bluetoothd[3276]: audio/manager.c:audio_adapter_ref() 0x7ffff8213350: ref=2
bluetoothd[3276]: audio/manager.c:state_changed() /org/bluez/3276/hci0 powered on
bluetoothd[3276]: audio/telephony.c:telephony_init()
bluetoothd[3276]: audio/headset.c:telephony_ready_ind() Telephony plugin initialized
bluetoothd[3276]: audio/headset.c:print_ag_features() HFP AG features: "Ability to reject a call" "Enhanced call status" "Extended Error Result Codes"
bluetoothd[3276]: audio/manager.c:headset_server_init() audio.conf: Key file does not have key 'Master'
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Adding record with handle 0x10000
bluetoothd[3276]: plugins/mgmtops.c:mgmt_add_uuid() index 0
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000003-0000-1000-8000-00805f9
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000100-0000-1000-8000-00805f9
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00001002-0000-1000-8000-00805f9
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00001108-0000-1000-8000-00805f9
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00001112-0000-1000-8000-00805f9
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00001203-0000-1000-8000-00805f9
bluetoothd[3276]: audio/headset.c:headset_config_init() audio.conf: Key file does not have key 'SCORouting'
bluetoothd[3276]: plugins/mgmtops.c:mgmt_fast_connectable() index 0 enable 0
bluetoothd[3276]: Changing fast connectable for hci0 failed
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Adding record with handle 0x10001
bluetoothd[3276]: plugins/mgmtops.c:mgmt_add_uuid() index 0
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000003-0000-1000-8000-00805f9
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000100-0000-1000-8000-00805f9
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00001002-0000-1000-8000-00805f9
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 0000111e-0000-1000-8000-00805f9
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 0000111f-0000-1000-8000-00805f9
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00001203-0000-1000-8000-00805f9
bluetoothd[3276]: audio/manager.c:a2dp_server_probe() path /org/bluez/3276/hci0
bluetoothd[3276]: audio/manager.c:audio_adapter_ref() 0x7ffff8213350: ref=3
bluetoothd[3276]: audio/a2dp.c:a2dp_register() audio.conf: Key file does not have key 'Disable'
bluetoothd[3276]: audio/a2dp.c:a2dp_register() audio.conf: Key file does not have group 'A2DP'
bluetoothd[3276]: audio/a2dp.c:a2dp_register() audio.conf: Key file does not have group 'A2DP'
bluetoothd[3276]: audio/a2dp.c:a2dp_register() audio.conf: Key file does not have group 'A2DP'
bluetoothd[3276]: audio/a2dp.c:a2dp_register() audio.conf: Key file does not have group 'A2DP'
bluetoothd[3276]: audio/avdtp.c:avdtp_init() audio.conf: Key file does not have key 'Master'
bluetoothd[3276]: audio/avdtp.c:avdtp_register_sep() SEP 0x7ffff8214be0 registered: type:0 codec:0 seid:1
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Adding record with handle 0x10002
bluetoothd[3276]: plugins/mgmtops.c:mgmt_add_uuid() index 0
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000019-0000-1000-8000-00805f9
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000100-0000-1000-8000-00805f9
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00001002-0000-1000-8000-00805f9
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 0000110a-0000-1000-8000-00805f9
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 0000110d-0000-1000-8000-00805f9
bluetoothd[3276]: audio/manager.c:avrcp_server_probe() path /org/bluez/3276/hci0
bluetoothd[3276]: audio/manager.c:audio_adapter_ref() 0x7ffff8213350: ref=4
bluetoothd[3276]: audio/control.c:avrcp_register() audio.conf: Key file does not have key 'Master'
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Adding record with handle 0x10003
bluetoothd[3276]: plugins/mgmtops.c:mgmt_add_uuid() index 0
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000017-0000-1000-8000-00805f9
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000100-0000-1000-8000-00805f9
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00001002-0000-1000-8000-00805f9
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 0000110c-0000-1000-8000-00805f9
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 0000110e-0000-1000-8000-00805f9
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Adding record with handle 0x10004
bluetoothd[3276]: plugins/mgmtops.c:mgmt_add_uuid() index 0
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000017-0000-1000-8000-00805f9
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000100-0000-1000-8000-00805f9
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00001002-0000-1000-8000-00805f9
bluetoothd[3276]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 0000110e-0000-1000-8000-00805f9
bluetoothd[3276]: plugins/adaptername.c:adaptername_probe() Setting name 'CSR - bc4' for device 'hci0'
bluetoothd[3276]: plugins/mgmtops.c:mgmt_set_name() index 0, name CSR - bc4
bluetoothd[3276]: plugins/formfactor.c:formfactor_probe() Setting 0x000110 for major/minor device class
bluetoothd[3276]: plugins/mgmtops.c:mgmt_set_dev_class() index 0 major 1 minor 16
bluetoothd[3276]: plugins/mgmtops.c:mgmt_unblock_device() index 0 addr 00:00:00:00:00:00
bluetoothd[3276]: src/device.c:device_create() Creating device /org/bluez/3276/hci0/dev_00_0B_E4_91_5D_0D
bluetoothd[3276]: src/device.c:device_set_bonded() bonded 1
bluetoothd[3276]: src/device.c:btd_device_ref() 0x7ffff8216760: ref=1
bluetoothd[3276]: src/device.c:device_set_temporary() temporary 0
bluetoothd[3276]: src/device.c:device_probe_drivers() Probing drivers for 00:0B:E4:91:5D:0D
bluetoothd[3276]: serial/manager.c:serial_probe() path /org/bluez/3276/hci0/dev_00_0B_E4_91_5D_0D: 00001108-0000-1000-8000-00805f9b34fb
bluetoothd[3276]: serial/port.c:create_serial_device() Registered interface org.bluez.Serial on path /org/bluez/3276/hci0/dev_00_0B_E4_91_5D_0D
bluetoothd[3276]: serial/manager.c:serial_probe() path /org/bluez/3276/hci0/dev_00_0B_E4_91_5D_0D: 0000111e-0000-1000-8000-00805f9b34fb
bluetoothd[3276]: src/adapter.c:adapter_get_device() 00:0B:E4:91:5D:0D
bluetoothd[3276]: src/device.c:btd_device_ref() 0x7ffff8216760: ref=2
bluetoothd[3276]: audio/device.c:audio_device_register() Registered interface org.bluez.Audio on path /org/bluez/3276/hci0/dev_00_0B_E4_91_5D_0D
bluetoothd[3276]: audio/manager.c:handle_uuid() Found Headset record
bluetoothd[3276]: audio/headset.c:headset_init() Registered interface org.bluez.Headset on path /org/bluez/3276/hci0/dev_00_0B_E4_91_5D_0D
bluetoothd[3276]: audio/manager.c:handle_uuid() Found Handsfree record
bluetoothd[3276]: audio/manager.c:handle_uuid() Found Audio Sink
bluetoothd[3276]: audio/sink.c:sink_init() Registered interface org.bluez.AudioSink on path /org/bluez/3276/hci0/dev_00_0B_E4_91_5D_0D
bluetoothd[3276]: audio/manager.c:handle_uuid() Found AV Target
bluetoothd[3276]: audio/control.c:control_init() Registered interface org.bluez.Control on path /org/bluez/3276/hci0/dev_00_0B_E4_91_5D_0D
bluetoothd[3276]: audio/manager.c:handle_uuid() Found AV Remote
bluetoothd[3276]: src/device.c:device_create() Creating device /org/bluez/3276/hci0/dev_00_22_98_CD_7A_E9
bluetoothd[3276]: src/device.c:device_set_bonded() bonded 1
bluetoothd[3276]: src/device.c:btd_device_ref() 0x7ffff82195d0: ref=1
bluetoothd[3276]: src/device.c:device_set_temporary() temporary 0
bluetoothd[3276]: src/device.c:device_probe_drivers() Probing drivers for 00:22:98:CD:7A:E9
bluetoothd[3276]: serial/manager.c:serial_probe() path /org/bluez/3276/hci0/dev_00_22_98_CD_7A_E9: 00001105-0000-1000-8000-00805f9b34fb
bluetoothd[3276]: serial/port.c:create_serial_device() Registered interface org.bluez.Serial on path /org/bluez/3276/hci0/dev_00_22_98_CD_7A_E9
bluetoothd[3276]: serial/manager.c:serial_probe() path /org/bluez/3276/hci0/dev_00_22_98_CD_7A_E9: 00001112-0000-1000-8000-00805f9b34fb
bluetoothd[3276]: serial/manager.c:serial_probe() path /org/bluez/3276/hci0/dev_00_22_98_CD_7A_E9: 0000111f-0000-1000-8000-00805f9b34fb
bluetoothd[3276]: src/adapter.c:adapter_get_device() 00:22:98:CD:7A:E9
bluetoothd[3276]: src/device.c:btd_device_ref() 0x7ffff82195d0: ref=2
bluetoothd[3276]: audio/device.c:audio_device_register() Registered interface org.bluez.Audio on path /org/bluez/3276/hci0/dev_00_22_98_CD_7A_E9
bluetoothd[3276]: audio/manager.c:handle_uuid() server not enabled for 0000111f-0000-1000-8000-00805f9b34fb (0x111f)
bluetoothd[3276]: audio/manager.c:handle_uuid() server not enabled for 00001112-0000-1000-8000-00805f9b34fb (0x1112)
bluetoothd[3276]: src/device.c:device_create() Creating device /org/bluez/3276/hci0/dev_E0_A6_70_2F_3A_B6
bluetoothd[3276]: src/device.c:device_set_bonded() bonded 1
bluetoothd[3276]: src/device.c:btd_device_ref() 0x7ffff821ba40: ref=1
bluetoothd[3276]: src/device.c:device_set_temporary() temporary 0
bluetoothd[3276]: src/device.c:device_probe_drivers() Probing drivers for E0:A6:70:2F:3A:B6
bluetoothd[3276]: serial/manager.c:serial_probe() path /org/bluez/3276/hci0/dev_E0_A6_70_2F_3A_B6: 00000002-0000-1000-8000-0002ee000002
bluetoothd[3276]: serial/port.c:create_serial_device() Registered interface org.bluez.Serial on path /org/bluez/3276/hci0/dev_E0_A6_70_2F_3A_B6
bluetoothd[3276]: serial/manager.c:serial_probe() path /org/bluez/3276/hci0/dev_E0_A6_70_2F_3A_B6: 00001101-0000-1000-8000-00805f9b34fb
bluetoothd[3276]: serial/manager.c:serial_probe() path /org/bluez/3276/hci0/dev_E0_A6_70_2F_3A_B6: 00001103-0000-1000-8000-00805f9b34fb
bluetoothd[3276]: serial/manager.c:serial_probe() path /org/bluez/3276/hci0/dev_E0_A6_70_2F_3A_B6: 00001105-0000-1000-8000-00805f9b34fb
bluetoothd[3276]: serial/manager.c:serial_probe() path /org/bluez/3276/hci0/dev_E0_A6_70_2F_3A_B6: 00001106-0000-1000-8000-00805f9b34fb
bluetoothd[3276]: serial/manager.c:serial_probe() path /org/bluez/3276/hci0/dev_E0_A6_70_2F_3A_B6: 00001112-0000-1000-8000-00805f9b34fb
bluetoothd[3276]: serial/manager.c:serial_probe() path /org/bluez/3276/hci0/dev_E0_A6_70_2F_3A_B6: 0000111f-0000-1000-8000-00805f9b34fb
bluetoothd[3276]: serial/manager.c:serial_probe() path /org/bluez/3276/hci0/dev_E0_A6_70_2F_3A_B6: 0000112d-0000-1000-8000-00805f9b34fb
bluetoothd[3276]: serial/manager.c:serial_probe() path /org/bluez/3276/hci0/dev_E0_A6_70_2F_3A_B6: 0000112f-0000-1000-8000-00805f9b34fb
bluetoothd[3276]: serial/manager.c:serial_probe() path /org/bluez/3276/hci0/dev_E0_A6_70_2F_3A_B6: 00005002-0000-1000-8000-0002ee000001
bluetoothd[3276]: serial/manager.c:serial_probe() path /org/bluez/3276/hci0/dev_E0_A6_70_2F_3A_B6: 00005557-0000-1000-8000-0002ee000001
bluetoothd[3276]: serial/manager.c:serial_probe() path /org/bluez/3276/hci0/dev_E0_A6_70_2F_3A_B6: 00005601-0000-1000-8000-0002ee000001
bluetoothd[3276]: src/adapter.c:adapter_get_device() E0:A6:70:2F:3A:B6
bluetoothd[3276]: src/device.c:btd_device_ref() 0x7ffff821ba40: ref=2
bluetoothd[3276]: audio/device.c:audio_device_register() Registered interface org.bluez.Audio on path /org/bluez/3276/hci0/dev_E0_A6_70_2F_3A_B6
bluetoothd[3276]: audio/manager.c:handle_uuid() server not enabled for 00001112-0000-1000-8000-00805f9b34fb (0x1112)
bluetoothd[3276]: audio/manager.c:handle_uuid() server not enabled for 0000111f-0000-1000-8000-00805f9b34fb (0x111f)
bluetoothd[3276]: src/device.c:device_create() Creating device /org/bluez/3276/hci0/dev_40_2B_A1_61_DD_C5
bluetoothd[3276]: src/device.c:device_set_bonded() bonded 1
bluetoothd[3276]: src/device.c:btd_device_ref() 0x7ffff8223e40: ref=1
bluetoothd[3276]: src/device.c:device_set_temporary() temporary 0
bluetoothd[3276]: src/device.c:device_probe_drivers() Probing drivers for 40:2B:A1:61:DD:C5
bluetoothd[3276]: serial/manager.c:serial_probe() path /org/bluez/3276/hci0/dev_40_2B_A1_61_DD_C5: 00001108-0000-1000-8000-00805f9b34fb
bluetoothd[3276]: serial/port.c:create_serial_device() Registered interface org.bluez.Serial on path /org/bluez/3276/hci0/dev_40_2B_A1_61_DD_C5
bluetoothd[3276]: serial/manager.c:serial_probe() path /org/bluez/3276/hci0/dev_40_2B_A1_61_DD_C5: 0000111e-0000-1000-8000-00805f9b34fb
bluetoothd[3276]: src/adapter.c:adapter_get_device() 40:2B:A1:61:DD:C5
bluetoothd[3276]: src/device.c:btd_device_ref() 0x7ffff8223e40: ref=2
bluetoothd[3276]: audio/device.c:audio_device_register() Registered interface org.bluez.Audio on path /org/bluez/3276/hci0/dev_40_2B_A1_61_DD_C5
bluetoothd[3276]: audio/manager.c:handle_uuid() Found Headset record
bluetoothd[3276]: audio/headset.c:headset_init() Registered interface org.bluez.Headset on path /org/bluez/3276/hci0/dev_40_2B_A1_61_DD_C5
bluetoothd[3276]: audio/manager.c:handle_uuid() Found Handsfree record
bluetoothd[3276]: audio/manager.c:handle_uuid() Found Audio Sink
bluetoothd[3276]: audio/sink.c:sink_init() Registered interface org.bluez.AudioSink on path /org/bluez/3276/hci0/dev_40_2B_A1_61_DD_C5
bluetoothd[3276]: audio/manager.c:handle_uuid() Found AV Target
bluetoothd[3276]: audio/control.c:control_init() Registered interface org.bluez.Control on path /org/bluez/3276/hci0/dev_40_2B_A1_61_DD_C5
bluetoothd[3276]: audio/manager.c:handle_uuid() Found AV Remote
bluetoothd[3276]: src/device.c:device_create() Creating device /org/bluez/3276/hci0/dev_00_22_FC_74_CA_27
bluetoothd[3276]: src/device.c:device_set_bonded() bonded 1
bluetoothd[3276]: src/device.c:btd_device_ref() 0x7ffff8227530: ref=1
bluetoothd[3276]: src/device.c:device_set_temporary() temporary 0
bluetoothd[3276]: src/device.c:device_probe_drivers() Probing drivers for 00:22:FC:74:CA:27
bluetoothd[3276]: serial/manager.c:serial_probe() path /org/bluez/3276/hci0/dev_00_22_FC_74_CA_27: 00001108-0000-1000-8000-00805f9b34fb
bluetoothd[3276]: serial/port.c:create_serial_device() Registered interface org.bluez.Serial on path /org/bluez/3276/hci0/dev_00_22_FC_74_CA_27
bluetoothd[3276]: serial/manager.c:serial_probe() path /org/bluez/3276/hci0/dev_00_22_FC_74_CA_27: 0000111e-0000-1000-8000-00805f9b34fb
bluetoothd[3276]: src/adapter.c:adapter_get_device() 00:22:FC:74:CA:27
bluetoothd[3276]: src/device.c:btd_device_ref() 0x7ffff8227530: ref=2
bluetoothd[3276]: audio/device.c:audio_device_register() Registered interface org.bluez.Audio on path /org/bluez/3276/hci0/dev_00_22_FC_74_CA_27
bluetoothd[3276]: audio/manager.c:handle_uuid() Found Headset record
bluetoothd[3276]: audio/headset.c:headset_init() Registered interface org.bluez.Headset on path /org/bluez/3276/hci0/dev_00_22_FC_74_CA_27
bluetoothd[3276]: audio/manager.c:handle_uuid() Found Handsfree record
bluetoothd[3276]: audio/manager.c:handle_uuid() Found Audio Sink
bluetoothd[3276]: audio/sink.c:sink_init() Registered interface org.bluez.AudioSink on path /org/bluez/3276/hci0/dev_00_22_FC_74_CA_27
bluetoothd[3276]: audio/manager.c:handle_uuid() Found AV Target
bluetoothd[3276]: audio/control.c:control_init() Registered interface org.bluez.Control on path /org/bluez/3276/hci0/dev_00_22_FC_74_CA_27
bluetoothd[3276]: audio/manager.c:handle_uuid() Found AV Remote
bluetoothd[3276]: plugins/mgmtops.c:mgmt_load_keys() index 0 keys 5 debug_keys 0
bluetoothd[3276]: plugins/mgmtops.c:mgmt_get_conn_list() index 0
bluetoothd[3276]: src/manager.c:btd_manager_register_adapter() Adapter /org/bluez/3276/hci0 registered
bluetoothd[3276]: src/adapter.c:btd_adapter_ref() 0x7ffff8212aa0: ref=4
bluetoothd[3276]: plugins/mgmtops.c:mgmt_set_name() index 0, name CSR - bc4
bluetoothd[3276]: plugins/mgmtops.c:mgmt_set_dev_class() index 0 major 1 minor 0
bluetoothd[3276]: audio/manager.c:state_changed() /org/bluez/3276/hci0 powered on
bluetoothd[3276]: plugins/mgmtops.c:mgmt_disable_cod_cache() index 0
bluetoothd[3276]: Adapter /org/bluez/3276/hci0 has been enabled
bluetoothd[3276]: src/adapter.c:adapter_mode_changed() old 0x00 new 0x02
bluetoothd[3276]: src/adapter.c:adapter_set_limited_discoverable() FALSE
bluetoothd[3276]: plugins/mgmtops.c:mgmt_set_limited_discoverable() index 0 limited 0
bluetoothd[3276]: src/adapter.c:set_mode_complete()
bluetoothd[3276]: src/adapter.c:btd_adapter_unref() 0x7ffff8212aa0: ref=3
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete() set_service_cache complete
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete() add_uuid complete
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete() add_uuid complete
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete() add_uuid complete
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete() add_uuid complete
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete() add_uuid complete
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete() add_uuid complete
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete() add_uuid complete
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete() set_dev_class complete
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() Received 9 bytes from management socket
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_status() status 1 opcode 30 (index 0)
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() Received 257 bytes from management socket
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[3276]: plugins/mgmtops.c:set_local_name_complete() hci0 name CSR - bc4
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete() set_dev_class complete
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete() set_service_cache complete
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() Received 257 bytes from management socket
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[3276]: plugins/mgmtops.c:set_local_name_complete() hci0 name CSR - bc4
bluetoothd[3276]: Endpoint registered: sender=:1.28 path=/MediaEndpoint/HFPAG
bluetoothd[3276]: audio/avdtp.c:avdtp_register_sep() SEP 0x7ffff822b650 registered: type:0 codec:0 seid:2
bluetoothd[3276]: Endpoint registered: sender=:1.28 path=/MediaEndpoint/A2DPSource
bluetoothd[3276]: src/adapter.c:register_agent() Agent registered for hci0 at :1.13:/blueDevil_agent
bluetoothd[3276]: plugins/mgmtops.c:mgmt_set_io_capability() hci0 io_capability 0x01
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete() set_io_capability complete
bluetoothd[3276]: plugins/mgmtops.c:mgmt_add_uuid() index 0
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[3276]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[3276]: plugins/mgmtops.c:mgmt_cmd_complete() add_uuid complete
bluetoothd[3276]: src/adapter.c:adapter_remove() Removing adapter /org/bluez/3276/hci0
bluetoothd[3276]: src/device.c:device_remove() Removing device /org/bluez/3276/hci0/dev_00_0B_E4_91_5D_0D
bluetoothd[3276]: serial/manager.c:serial_remove() path /org/bluez/3276/hci0/dev_00_0B_E4_91_5D_0D
bluetoothd[3276]: serial/port.c:path_unregister() Unregistered interface org.bluez.Serial on path /org/bluez/3276/hci0/dev_00_0B_E4_91_5D_0D
bluetoothd[3276]: audio/unix.c:unix_device_removed() unix_device_removed(0x7ffff8218e60)
bluetoothd[3276]: audio/headset.c:path_unregister() Unregistered interface org.bluez.Headset on path /org/bluez/3276/hci0/dev_00_0B_E4_91_5D_0D
bluetoothd[3276]: audio/sink.c:path_unregister() Unregistered interface org.bluez.AudioSink on path /org/bluez/3276/hci0/dev_00_0B_E4_91_5D_0D
bluetoothd[3276]: audio/control.c:path_unregister() Unregistered interface org.bluez.Control on path /org/bluez/3276/hci0/dev_00_0B_E4_91_5D_0D
bluetoothd[3276]: src/device.c:btd_device_unref() 0x7ffff8216760: ref=1
bluetoothd[3276]: src/device.c:btd_device_unref() 0x7ffff8216760: ref=0
bluetoothd[3276]: src/device.c:device_free() 0x7ffff8216760
bluetoothd[3276]: src/device.c:device_remove() Removing device /org/bluez/3276/hci0/dev_00_22_98_CD_7A_E9
bluetoothd[3276]: serial/manager.c:serial_remove() path /org/bluez/3276/hci0/dev_00_22_98_CD_7A_E9
bluetoothd[3276]: serial/port.c:path_unregister() Unregistered interface org.bluez.Serial on path /org/bluez/3276/hci0/dev_00_22_98_CD_7A_E9
bluetoothd[3276]: audio/unix.c:unix_device_removed() unix_device_removed(0x7ffff821b620)
bluetoothd[3276]: src/device.c:btd_device_unref() 0x7ffff82195d0: ref=1
bluetoothd[3276]: src/device.c:btd_device_unref() 0x7ffff82195d0: ref=0
bluetoothd[3276]: src/device.c:device_free() 0x7ffff82195d0
bluetoothd[3276]: src/device.c:device_remove() Removing device /org/bluez/3276/hci0/dev_E0_A6_70_2F_3A_B6
bluetoothd[3276]: serial/manager.c:serial_remove() path /org/bluez/3276/hci0/dev_E0_A6_70_2F_3A_B6
bluetoothd[3276]: serial/port.c:path_unregister() Unregistered interface org.bluez.Serial on path /org/bluez/3276/hci0/dev_E0_A6_70_2F_3A_B6
bluetoothd[3276]: audio/unix.c:unix_device_removed() unix_device_removed(0x7ffff8223d10)
bluetoothd[3276]: src/device.c:btd_device_unref() 0x7ffff821ba40: ref=1
bluetoothd[3276]: src/device.c:btd_device_unref() 0x7ffff821ba40: ref=0
bluetoothd[3276]: src/device.c:device_free() 0x7ffff821ba40
bluetoothd[3276]: src/device.c:device_remove() Removing device /org/bluez/3276/hci0/dev_40_2B_A1_61_DD_C5
bluetoothd[3276]: serial/manager.c:serial_remove() path /org/bluez/3276/hci0/dev_40_2B_A1_61_DD_C5
bluetoothd[3276]: serial/port.c:path_unregister() Unregistered interface org.bluez.Serial on path /org/bluez/3276/hci0/dev_40_2B_A1_61_DD_C5
bluetoothd[3276]: audio/unix.c:unix_device_removed() unix_device_removed(0x7ffff82271f0)
bluetoothd[3276]: audio/headset.c:path_unregister() Unregistered interface org.bluez.Headset on path /org/bluez/3276/hci0/dev_40_2B_A1_61_DD_C5
bluetoothd[3276]: audio/sink.c:path_unregister() Unregistered interface org.bluez.AudioSink on path /org/bluez/3276/hci0/dev_40_2B_A1_61_DD_C5
bluetoothd[3276]: audio/control.c:path_unregister() Unregistered interface org.bluez.Control on path /org/bluez/3276/hci0/dev_40_2B_A1_61_DD_C5
bluetoothd[3276]: src/device.c:btd_device_unref() 0x7ffff8223e40: ref=1
bluetoothd[3276]: src/device.c:btd_device_unref() 0x7ffff8223e40: ref=0
bluetoothd[3276]: src/device.c:device_free() 0x7ffff8223e40
bluetoothd[3276]: src/device.c:device_remove() Removing device /org/bluez/3276/hci0/dev_00_22_FC_74_CA_27
bluetoothd[3276]: serial/manager.c:serial_remove() path /org/bluez/3276/hci0/dev_00_22_FC_74_CA_27
bluetoothd[3276]: serial/port.c:path_unregister() Unregistered interface org.bluez.Serial on path /org/bluez/3276/hci0/dev_00_22_FC_74_CA_27
bluetoothd[3276]: audio/unix.c:unix_device_removed() unix_device_removed(0x7ffff8229c70)
bluetoothd[3276]: audio/headset.c:path_unregister() Unregistered interface org.bluez.Headset on path /org/bluez/3276/hci0/dev_00_22_FC_74_CA_27
bluetoothd[3276]: audio/sink.c:path_unregister() Unregistered interface org.bluez.AudioSink on path /org/bluez/3276/hci0/dev_00_22_FC_74_CA_27
bluetoothd[3276]: audio/control.c:path_unregister() Unregistered interface org.bluez.Control on path /org/bluez/3276/hci0/dev_00_22_FC_74_CA_27
bluetoothd[3276]: src/device.c:btd_device_unref() 0x7ffff8227530: ref=1
bluetoothd[3276]: src/device.c:btd_device_unref() 0x7ffff8227530: ref=0
bluetoothd[3276]: src/device.c:device_free() 0x7ffff8227530
bluetoothd[3276]: audio/manager.c:avrcp_server_remove() path /org/bluez/3276/hci0
bluetoothd[3276]: src/sdpd-service.c:remove_record_from_server() Removing record with handle 0x10004
bluetoothd[3276]: src/sdpd-service.c:remove_record_from_server() Removing record with handle 0x10003
bluetoothd[3276]: audio/manager.c:audio_adapter_unref() 0x7ffff8213350: ref=3
bluetoothd[3276]: audio/manager.c:a2dp_server_remove() path /org/bluez/3276/hci0
bluetoothd[3276]: audio/avdtp.c:avdtp_unregister_sep() SEP 0x7ffff8214be0 unregistered: type:0 codec:0 seid:1
bluetoothd[3276]: audio/media.c:media_endpoint_release() sender=:1.28 path=/MediaEndpoint/A2DPSource
bluetoothd[3276]: Endpoint unregistered: sender=:1.28 path=/MediaEndpoint/A2DPSource
bluetoothd[3276]: audio/media.c:media_endpoint_release() sender=:1.28 path=/MediaEndpoint/A2DPSource
bluetoothd[3276]: audio/avdtp.c:avdtp_unregister_sep() SEP 0x7ffff822b650 unregistered: type:0 codec:0 seid:2
bluetoothd[3276]: audio/avdtp.c:avdtp_unregister_sep() SEP 0x7ffff822b650 unregistered: type:0 codec:0 seid:2
*** glibc detected *** /usr/sbin/bluetoothd: double free or corruption (!prev): 0x00007ffff822a920 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x72606)[0x7ffff6aa6606]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x6c)[0x7ffff6aab33c]
/lib/libglib-2.0.so.0(g_slist_foreach+0x27)[0x7ffff788e447]
/lib/libglib-2.0.so.0(g_slist_free_full+0xb)[0x7ffff788e46b]
/usr/sbin/bluetoothd(+0x29820)[0x7ffff7f82820]
/usr/sbin/bluetoothd(+0x1a8bd)[0x7ffff7f738bd]
/lib/libglib-2.0.so.0(g_slist_foreach+0x27)[0x7ffff788e447]
/usr/sbin/bluetoothd(+0x7163e)[0x7ffff7fca63e]
/usr/sbin/bluetoothd(+0x6db42)[0x7ffff7fc6b42]
/usr/sbin/bluetoothd(+0x16049)[0x7ffff7f6f049]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd)[0x7ffff6a52ead]
/usr/sbin/bluetoothd(+0x16335)[0x7ffff7f6f335]
======= Memory map: ========
7ffff0000000-7ffff0021000 rw-p 00000000 00:00 0
7ffff0021000-7ffff4000000 ---p 00000000 00:00 0
7ffff65e2000-7ffff65f7000 r-xp 00000000 08:01 1753108 /lib/x86_64-linux-gnu/libgcc_s.so.1
7ffff65f7000-7ffff67f7000 ---p 00015000 08:01 1753108 /lib/x86_64-linux-gnu/libgcc_s.so.1
7ffff67f7000-7ffff67f8000 rw-p 00015000 08:01 1753108 /lib/x86_64-linux-gnu/libgcc_s.so.1
7ffff67f8000-7ffff6834000 r-xp 00000000 08:01 1753119 /lib/x86_64-linux-gnu/libpcre.so.3.12.1
7ffff6834000-7ffff6a33000 ---p 0003c000 08:01 1753119 /lib/x86_64-linux-gnu/libpcre.so.3.12.1
7ffff6a33000-7ffff6a34000 rw-p 0003b000 08:01 1753119 /lib/x86_64-linux-gnu/libpcre.so.3.12.1
7ffff6a34000-7ffff6bae000 r-xp 00000000 08:01 1753090 /lib/x86_64-linux-gnu/libc-2.13.so
7ffff6bae000-7ffff6dae000 ---p 0017a000 08:01 1753090 /lib/x86_64-linux-gnu/libc-2.13.so
7ffff6dae000-7ffff6db2000 r--p 0017a000 08:01 1753090 /lib/x86_64-linux-gnu/libc-2.13.so
7ffff6db2000-7ffff6db3000 rw-p 0017e000 08:01 1753090 /lib/x86_64-linux-gnu/libc-2.13.so
7ffff6db3000-7ffff6db8000 rw-p 00000000 00:00 0
7ffff6db8000-7ffff6dbf000 r-xp 00000000 08:01 1753407 /lib/x86_64-linux-gnu/librt-2.13.so
7ffff6dbf000-7ffff6fbe000 ---p 00007000 08:01 1753407 /lib/x86_64-linux-gnu/librt-2.13.so
7ffff6fbe000-7ffff6fbf000 r--p 00006000 08:01 1753407 /lib/x86_64-linux-gnu/librt-2.13.so
7ffff6fbf000-7ffff6fc0000 rw-p 00007000 08:01 1753407 /lib/x86_64-linux-gnu/librt-2.13.so
7ffff6fc0000-7ffff6fc2000 r-xp 00000000 08:01 1753395 /lib/x86_64-linux-gnu/libdl-2.13.so
7ffff6fc2000-7ffff71c2000 ---p 00002000 08:01 1753395 /lib/x86_64-linux-gnu/libdl-2.13.so
7ffff71c2000-7ffff71c3000 r--p 00002000 08:01 1753395 /lib/x86_64-linux-gnu/libdl-2.13.so
7ffff71c3000-7ffff71c4000 rw-p 00003000 08:01 1753395 /lib/x86_64-linux-gnu/libdl-2.13.so
7ffff71c4000-7ffff71c8000 r-xp 00000000 08:01 3024602 /usr/lib/libcap-ng.so.0.0.0
7ffff71c8000-7ffff73c7000 ---p 00004000 08:01 3024602 /usr/lib/libcap-ng.so.0.0.0
7ffff73c7000-7ffff73c8000 r--p 00003000 08:01 3024602 /usr/lib/libcap-ng.so.0.0.0
7ffff73c8000-7ffff73c9000 rw-p 00004000 08:01 3024602 /usr/lib/libcap-ng.so.0.0.0
7ffff73c9000-7ffff73e0000 r-xp 00000000 08:01 1753405 /lib/x86_64-linux-gnu/libpthread-2.13.so
7ffff73e0000-7ffff75df000 ---p 00017000 08:01 1753405 /lib/x86_64-linux-gnu/libpthread-2.13.so
7ffff75df000-7ffff75e0000 r--p 00016000 08:01 1753405 /lib/x86_64-linux-gnu/libpthread-2.13.so
7ffff75e0000-7ffff75e1000 rw-p 00017000 08:01 1753405 /lib/x86_64-linux-gnu/libpthread-2.13.so
7ffff75e1000-7ffff75e5000 rw-p 00000000 00:00 0
7ffff75e5000-7ffff7628000 r-xp 00000000 08:01 1753124 /lib/x86_64-linux-gnu/libdbus-1.so.3.6.3
7ffff7628000-7ffff7827000 ---p 00043000 08:01 1753124 /lib/x86_64-linux-gnu/libdbus-1.so.3.6.3
7ffff7827000-7ffff7829000 r--p 00042000 08:01 1753124 /lib/x86_64-linux-gnu/libdbus-1.so.3.6.3
7ffff7829000-7ffff782a000 rw-p 00044000 08:01 1753124 /lib/x86_64-linux-gnu/libdbus-1.so.3.6.3
7ffff782a000-7ffff791a000 r-xp 00000000 08:01 1753205 /lib/libglib-2.0.so.0.2800.6
7ffff791a000-7ffff7b19000 ---p 000f0000 08:01 1753205 /lib/libglib-2.0.so.0.2800.6
7ffff7b19000-7ffff7b1a000 rw-p 000ef000 08:01 1753205 /lib/libglib-2.0.so.0.2800.6
7ffff7b1a000-7ffff7b1b000 rw-p 00000000 00:00 0
7ffff7b1b000-7ffff7b35000 r-xp 00000000 08:01 163913 /usr/lib/x86_64-linux-gnu/libbluetooth.so.3.11.4
7ffff7b35000-7ffff7d34000 ---p 0001a000 08:01 163913 /usr/lib/x86_64-linux-gnu/libbluetooth.so.3.11.4
7ffff7d34000-7ffff7d37000 rw-p 00019000 08:01 163913 /usr/lib/x86_64-linux-gnu/libbluetooth.so.3.11.4
7ffff7d37000-7ffff7d56000 r-xp 00000000 08:01 1753410 /lib/x86_64-linux-gnu/ld-2.13.so
7ffff7f2b000-7ffff7f31000 rw-p 00000000 00:00 0
7ffff7f4c000-7ffff7f53000 r--s 00000000 08:01 207270 /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache
7ffff7f53000-7ffff7f55000 rw-p 00000000 00:00 0
7ffff7f55000-7ffff7f56000 r-xp 00000000 00:00 0 [vdso]
7ffff7f56000-7ffff7f57000 r--p 0001f000 08:01 1753410 /lib/x86_64-linux-gnu/ld-2.13.so
7ffff7f57000-7ffff7f58000 rw-p 00020000 08:01 1753410 /lib/x86_64-linux-gnu/ld-2.13.so
7ffff7f58000-7ffff7f59000 rw-p 00000000 00:00 0
7ffff7f59000-7ffff7fff000 r-xp 00000000 08:01 3023299 /usr/sbin/bluetoothd
7ffff81fe000-7ffff8206000 rw-p 000a5000 08:01 3023299 /usr/sbin/bluetoothd
7ffff8206000-7ffff8247000 rw-p 00000000 00:00 0 [heap]
7ffffffde000-7ffffffff000 rw-p 00000000 00:00 0 [stack]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: bluetoothd crashes on exit when Media is enabled
2011-08-06 11:17 bluetoothd crashes on exit when Media is enabled Daniel Schaal
@ 2011-08-07 13:40 ` Luiz Augusto von Dentz
2011-08-07 14:13 ` Daniel Schaal
0 siblings, 1 reply; 3+ messages in thread
From: Luiz Augusto von Dentz @ 2011-08-07 13:40 UTC (permalink / raw)
To: Daniel Schaal; +Cc: linux-bluetooth
[-- Attachment #1: Type: text/plain, Size: 819 bytes --]
Hi Daniel,
On Sat, Aug 6, 2011 at 2:17 PM, Daniel Schaal <farbing@web.de> wrote:
> Hi,
>
> after enabling Media in audio.conf, bluetoothd always crashes when exiting.
>
> From the log I suspect the problem is that avdtp_unregister_sep is called
> twice with the same sep:
>
> audio/avdtp.c:avdtp_unregister_sep() SEP 0x7ffff822b650 unregistered: type:0
> codec:0 seid:2
> audio/avdtp.c:avdtp_unregister_sep() SEP 0x7ffff822b650 unregistered: type:0
> codec:0 seid:2
> *** glibc detected *** /usr/sbin/bluetoothd: double free or corruption
> (!prev): 0x00007ffff822a920 ***
>
> Attached is the backtrace and the debug output of bluetoothd
>
> I'm using 4.96 with Kernel 3.0
Could you please try with attached patch. It has been posted here
before, but we decide to rework it a little bit.
--
Luiz Augusto von Dentz
[-- Attachment #2: 0001-Fix-possible-invalid-read-free-on-media.c.patch --]
[-- Type: text/x-patch, Size: 32716 bytes --]
From d605b6d126a0c968e8a72c014caffaf659cbce5b Mon Sep 17 00:00:00 2001
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date: Fri, 8 Jul 2011 12:04:29 +0300
Subject: [PATCH BlueZ] Fix possible invalid read/free on media.c
This also fix the circular dependency of media.c and a2dp.c
Invalid read of size 8
at 0x4EA8CC2: g_slice_free_chain_with_offset (in /lib64/libglib-2.0.so.0.2908.0)
by 0x13AF33: path_free (media.c:417)
by 0x11EB39: remove_interface (object.c:563)
by 0x11F360: g_dbus_unregister_interface (object.c:715)
by 0x120C49: media_server_remove (manager.c:1098)
by 0x4EA9826: g_slist_foreach (in /lib64/libglib-2.0.so.0.2908.0)
by 0x178915: adapter_remove (adapter.c:2326)
by 0x17535F: btd_manager_unregister_adapter (manager.c:293)
by 0x154081: device_event (hciops.c:2643)
by 0x1543C1: io_stack_event (hciops.c:2763)
by 0x4E8C88C: g_main_context_dispatch (in /lib64/libglib-2.0.so.0.2908.0)
by 0x4E8D087: ??? (in /lib64/libglib-2.0.so.0.2908.0)
Address 0x63f6638 is 8 bytes inside a block of size 16 free'd
at 0x4A055FE: free (vg_replace_malloc.c:366)
by 0x4E938F2: g_free (in /lib64/libglib-2.0.so.0.2908.0)
by 0x4EA854E: g_slice_free1 (in /lib64/libglib-2.0.so.0.2908.0)
by 0x4EA930C: g_slist_remove (in /lib64/libglib-2.0.so.0.2908.0)
by 0x13AE53: media_endpoint_remove (media.c:118)
by 0x4EA9826: g_slist_foreach (in /lib64/libglib-2.0.so.0.2908.0)
by 0x4EA984A: g_slist_free_full (in /lib64/libglib-2.0.so.0.2908.0)
by 0x13AF33: path_free (media.c:417)
by 0x11EB39: remove_interface (object.c:563)
by 0x11F360: g_dbus_unregister_interface (object.c:715)
by 0x120C49: media_server_remove (manager.c:1098)
by 0x4EA9826: g_slist_foreach (in /lib64/libglib-2.0.so.0.2908.0)
---
audio/a2dp.c | 78 ++++---
audio/a2dp.h | 29 +++-
audio/media.c | 676 +++++++++++++++++++++++++++++++----------------------
audio/media.h | 17 --
audio/transport.c | 3 +-
5 files changed, 464 insertions(+), 339 deletions(-)
diff --git a/audio/a2dp.c b/audio/a2dp.c
index 72a0df5..6e14913 100644
--- a/audio/a2dp.c
+++ b/audio/a2dp.c
@@ -44,8 +44,6 @@
#include "sink.h"
#include "source.h"
#include "unix.h"
-#include "media.h"
-#include "transport.h"
#include "a2dp.h"
#include "sdpd.h"
@@ -64,7 +62,7 @@
struct a2dp_sep {
struct a2dp_server *server;
- struct media_endpoint *endpoint;
+ struct a2dp_endpoint *endpoint;
uint8_t type;
uint8_t codec;
struct avdtp_local_sep *lsep;
@@ -75,6 +73,8 @@ struct a2dp_sep {
gboolean locked;
gboolean suspending;
gboolean starting;
+ void *user_data;
+ GDestroyNotify destroy;
};
struct a2dp_setup_cb {
@@ -372,8 +372,8 @@ static void stream_state_changed(struct avdtp_stream *stream,
sep->stream = NULL;
- if (sep->endpoint)
- media_endpoint_clear_configuration(sep->endpoint);
+ if (sep->endpoint && sep->endpoint->clear_configuration)
+ sep->endpoint->clear_configuration(sep, sep->user_data);
}
static gboolean auto_config(gpointer data)
@@ -638,7 +638,7 @@ static gboolean mpeg_getcap_ind(struct avdtp *session,
return TRUE;
}
-static void endpoint_setconf_cb(struct media_endpoint *endpoint, void *ret,
+static void endpoint_setconf_cb(struct a2dp_sep *sep, void *ret,
int size, void *user_data)
{
struct a2dp_setup *setup = user_data;
@@ -701,11 +701,12 @@ static gboolean endpoint_setconf_ind(struct avdtp *session,
goto done;
}
- ret = media_endpoint_set_configuration(a2dp_sep->endpoint,
+ ret = a2dp_sep->endpoint->set_configuration(a2dp_sep,
setup->dev, codec->data,
cap->length - sizeof(*codec),
- endpoint_setconf_cb, setup);
- if (ret)
+ endpoint_setconf_cb, setup,
+ a2dp_sep->user_data);
+ if (ret == 0)
return TRUE;
avdtp_error_init(setup->err, AVDTP_MEDIA_CODEC,
@@ -741,8 +742,8 @@ static gboolean endpoint_getcap_ind(struct avdtp *session,
*caps = g_slist_append(*caps, media_transport);
- length = media_endpoint_get_capabilities(a2dp_sep->endpoint,
- &capabilities);
+ length = a2dp_sep->endpoint->get_capabilities(a2dp_sep, &capabilities,
+ a2dp_sep->user_data);
codec_caps = g_malloc0(sizeof(*codec_caps) + length);
codec_caps->media_type = AVDTP_MEDIA_TYPE_AUDIO;
@@ -765,7 +766,7 @@ static gboolean endpoint_getcap_ind(struct avdtp *session,
return TRUE;
}
-static void endpoint_open_cb(struct media_endpoint *endpoint, void *ret,
+static void endpoint_open_cb(struct a2dp_sep *sep, void *ret,
int size, void *user_data)
{
struct a2dp_setup *setup = user_data;
@@ -828,15 +829,16 @@ static void setconf_cfm(struct avdtp *session, struct avdtp_local_sep *sep,
if (a2dp_sep->endpoint) {
struct avdtp_service_capability *service;
struct avdtp_media_codec_capability *codec;
+ int err;
service = avdtp_stream_get_codec(stream);
codec = (struct avdtp_media_codec_capability *) service->data;
- if (media_endpoint_set_configuration(a2dp_sep->endpoint, dev,
- codec->data, service->length -
- sizeof(*codec),
- endpoint_open_cb, setup) ==
- TRUE)
+ err = a2dp_sep->endpoint->set_configuration(a2dp_sep, dev,
+ codec->data, service->length -
+ sizeof(*codec), endpoint_open_cb,
+ setup, a2dp_sep->user_data);
+ if (err == 0)
return;
setup->stream = NULL;
@@ -1254,18 +1256,17 @@ static gboolean endpoint_delayreport_ind(struct avdtp *session,
uint8_t *err, void *user_data)
{
struct a2dp_sep *a2dp_sep = user_data;
- struct media_transport *transport;
if (a2dp_sep->type == AVDTP_SEP_TYPE_SINK)
DBG("Sink %p: DelayReport_Ind", sep);
else
DBG("Source %p: DelayReport_Ind", sep);
- transport = media_endpoint_get_transport(a2dp_sep->endpoint);
- if (transport == NULL)
+ if (a2dp_sep->endpoint == NULL ||
+ a2dp_sep->endpoint->set_delay == NULL)
return FALSE;
- media_transport_update_delay(transport, delay);
+ a2dp_sep->endpoint->set_delay(a2dp_sep, delay, a2dp_sep->user_data);
return TRUE;
}
@@ -1559,23 +1560,25 @@ proceed:
if (source) {
for (i = 0; i < sbc_srcs; i++)
a2dp_add_sep(src, AVDTP_SEP_TYPE_SOURCE,
- A2DP_CODEC_SBC, delay_reporting, NULL, NULL);
+ A2DP_CODEC_SBC, delay_reporting,
+ NULL, NULL, NULL, NULL);
for (i = 0; i < mpeg12_srcs; i++)
a2dp_add_sep(src, AVDTP_SEP_TYPE_SOURCE,
A2DP_CODEC_MPEG12, delay_reporting,
- NULL, NULL);
+ NULL, NULL, NULL, NULL);
}
server->sink_enabled = sink;
if (sink) {
for (i = 0; i < sbc_sinks; i++)
a2dp_add_sep(src, AVDTP_SEP_TYPE_SINK,
- A2DP_CODEC_SBC, delay_reporting, NULL, NULL);
+ A2DP_CODEC_SBC, delay_reporting,
+ NULL, NULL, NULL, NULL);
for (i = 0; i < mpeg12_sinks; i++)
a2dp_add_sep(src, AVDTP_SEP_TYPE_SINK,
A2DP_CODEC_MPEG12, delay_reporting,
- NULL, NULL);
+ NULL, NULL, NULL, NULL);
}
return 0;
@@ -1583,8 +1586,8 @@ proceed:
static void a2dp_unregister_sep(struct a2dp_sep *sep)
{
- if (sep->endpoint) {
- media_endpoint_release(sep->endpoint);
+ if (sep->destroy) {
+ sep->destroy(sep->user_data);
sep->endpoint = NULL;
}
@@ -1625,7 +1628,9 @@ void a2dp_unregister(const bdaddr_t *src)
struct a2dp_sep *a2dp_add_sep(const bdaddr_t *src, uint8_t type,
uint8_t codec, gboolean delay_reporting,
- struct media_endpoint *endpoint, int *err)
+ struct a2dp_endpoint *endpoint,
+ void *user_data, GDestroyNotify destroy,
+ int *err)
{
struct a2dp_server *server;
struct a2dp_sep *sep;
@@ -1678,6 +1683,8 @@ proceed:
sep->codec = codec;
sep->type = type;
sep->delay_reporting = delay_reporting;
+ sep->user_data = user_data;
+ sep->destroy = destroy;
if (type == AVDTP_SEP_TYPE_SOURCE) {
l = &server->sources;
@@ -1927,8 +1934,8 @@ static gboolean select_capabilities(struct avdtp *session,
return TRUE;
}
-static void select_cb(struct media_endpoint *endpoint, void *ret, int size,
- void *user_data)
+static void select_cb(struct a2dp_sep *sep, void *ret, int size,
+ void *user_data)
{
struct a2dp_setup *setup = user_data;
struct avdtp_service_capability *media_transport, *media_codec;
@@ -1981,7 +1988,7 @@ static struct a2dp_sep *a2dp_find_sep(struct avdtp *session, GSList *list,
if (sep->endpoint == NULL)
continue;
- name = media_endpoint_get_sender(sep->endpoint);
+ name = sep->endpoint->get_name(sep, sep->user_data);
if (g_strcmp0(sender, name) != 0)
continue;
}
@@ -2028,6 +2035,7 @@ unsigned int a2dp_select_capabilities(struct avdtp *session,
struct a2dp_sep *sep;
struct avdtp_service_capability *service;
struct avdtp_media_codec_capability *codec;
+ int err;
sep = a2dp_select_sep(session, type, sender);
if (!sep) {
@@ -2068,10 +2076,10 @@ unsigned int a2dp_select_capabilities(struct avdtp *session,
service = avdtp_get_codec(setup->rsep);
codec = (struct avdtp_media_codec_capability *) service->data;
- if (media_endpoint_select_configuration(sep->endpoint, codec->data,
- service->length - sizeof(*codec),
- select_cb, setup) ==
- TRUE)
+ err = sep->endpoint->select_configuration(sep, codec->data,
+ service->length - sizeof(*codec),
+ select_cb, setup, sep->user_data);
+ if (err == 0)
return cb_data->id;
fail:
diff --git a/audio/a2dp.h b/audio/a2dp.h
index 5c4232d..b50bc33 100644
--- a/audio/a2dp.h
+++ b/audio/a2dp.h
@@ -121,6 +121,31 @@ struct mpeg_codec_cap {
struct a2dp_sep;
+typedef void (*a2dp_endpoint_cb_t) (struct a2dp_sep *sep, void *ret,
+ int size, void *user_data);
+
+struct a2dp_endpoint {
+ const char *(*get_name) (struct a2dp_sep *sep, void *user_data);
+ size_t (*get_capabilities) (struct a2dp_sep *sep,
+ uint8_t **capabilities,
+ void *user_data);
+ int (*select_configuration) (struct a2dp_sep *sep,
+ uint8_t *capabilities,
+ size_t length,
+ a2dp_endpoint_cb_t cb,
+ void *cb_data,
+ void *user_data);
+ int (*set_configuration) (struct a2dp_sep *sep,
+ struct audio_device *dev,
+ uint8_t *configuration,
+ size_t length,
+ a2dp_endpoint_cb_t cb,
+ void *cb_data,
+ void *user_data);
+ void (*clear_configuration) (struct a2dp_sep *sep, void *user_data);
+ void (*set_delay) (struct a2dp_sep *sep, uint16_t delay,
+ void *user_data);
+};
typedef void (*a2dp_select_cb_t) (struct avdtp *session,
struct a2dp_sep *sep, GSList *caps,
@@ -138,7 +163,9 @@ void a2dp_unregister(const bdaddr_t *src);
struct a2dp_sep *a2dp_add_sep(const bdaddr_t *src, uint8_t type,
uint8_t codec, gboolean delay_reporting,
- struct media_endpoint *endpoint, int *err);
+ struct a2dp_endpoint *endpoint,
+ void *user_data, GDestroyNotify destroy,
+ int *err);
void a2dp_remove_sep(struct a2dp_sep *sep);
struct a2dp_sep *a2dp_get(struct avdtp *session, struct avdtp_remote_sep *sep);
diff --git a/audio/media.c b/audio/media.c
index 57bf7c9..bfd80d9 100644
--- a/audio/media.c
+++ b/audio/media.c
@@ -105,20 +105,11 @@ static void media_endpoint_cancel(struct media_endpoint *endpoint)
endpoint->request = NULL;
}
-static void media_endpoint_remove(struct media_endpoint *endpoint)
+static void media_endpoint_destroy(struct media_endpoint *endpoint)
{
struct media_adapter *adapter = endpoint->adapter;
- if (g_slist_find(adapter->endpoints, endpoint) == NULL)
- return;
-
- info("Endpoint unregistered: sender=%s path=%s", endpoint->sender,
- endpoint->path);
-
- adapter->endpoints = g_slist_remove(adapter->endpoints, endpoint);
-
- if (endpoint->sep)
- a2dp_remove_sep(endpoint->sep);
+ DBG("sender=%s path=%s", endpoint->sender, endpoint->path);
if (endpoint->hs_watch)
headset_remove_state_cb(endpoint->hs_watch);
@@ -137,6 +128,23 @@ static void media_endpoint_remove(struct media_endpoint *endpoint)
g_free(endpoint);
}
+static void media_endpoint_remove(struct media_endpoint *endpoint)
+{
+ struct media_adapter *adapter = endpoint->adapter;
+
+ if (endpoint->sep) {
+ a2dp_remove_sep(endpoint->sep);
+ return;
+ }
+
+ info("Endpoint unregistered: sender=%s path=%s", endpoint->sender,
+ endpoint->path);
+
+ adapter->endpoints = g_slist_remove(adapter->endpoints, endpoint);
+
+ media_endpoint_destroy(endpoint);
+}
+
static void media_endpoint_exit(DBusConnection *connection, void *user_data)
{
struct media_endpoint *endpoint = user_data;
@@ -156,6 +164,233 @@ static void headset_setconf_cb(struct media_endpoint *endpoint, void *ret,
headset_set_state(dev, HEADSET_STATE_DISCONNECTED);
}
+static void clear_configuration(struct media_endpoint *endpoint)
+{
+ DBusConnection *conn;
+ DBusMessage *msg;
+ const char *path;
+ struct media_transport *transport = endpoint->transport;
+
+ if (endpoint->transport == NULL)
+ return;
+
+ if (endpoint->request)
+ media_endpoint_cancel(endpoint);
+
+ conn = endpoint->adapter->conn;
+
+ msg = dbus_message_new_method_call(endpoint->sender, endpoint->path,
+ MEDIA_ENDPOINT_INTERFACE,
+ "ClearConfiguration");
+ if (msg == NULL) {
+ error("Couldn't allocate D-Bus message");
+ goto done;
+ }
+
+ path = media_transport_get_path(endpoint->transport);
+ dbus_message_append_args(msg, DBUS_TYPE_OBJECT_PATH, &path,
+ DBUS_TYPE_INVALID);
+ g_dbus_send_message(conn, msg);
+done:
+ endpoint->transport = NULL;
+ media_transport_destroy(transport);
+}
+
+static void endpoint_reply(DBusPendingCall *call, void *user_data)
+{
+ struct media_endpoint *endpoint = user_data;
+ struct endpoint_request *request = endpoint->request;
+ DBusMessage *reply;
+ DBusError err;
+ gboolean value;
+ void *ret = NULL;
+ int size = -1;
+
+ /* steal_reply will always return non-NULL since the callback
+ * is only called after a reply has been received */
+ reply = dbus_pending_call_steal_reply(call);
+
+ dbus_error_init(&err);
+ if (dbus_set_error_from_message(&err, reply)) {
+ error("Endpoint replied with an error: %s",
+ err.name);
+
+ /* Clear endpoint configuration in case of NO_REPLY error */
+ if (dbus_error_has_name(&err, DBUS_ERROR_NO_REPLY)) {
+ if (request->cb)
+ request->cb(endpoint, NULL, size,
+ request->user_data);
+ clear_configuration(endpoint);
+ dbus_message_unref(reply);
+ dbus_error_free(&err);
+ return;
+ }
+
+ dbus_error_free(&err);
+ goto done;
+ }
+
+ dbus_error_init(&err);
+ if (dbus_message_is_method_call(request->msg, MEDIA_ENDPOINT_INTERFACE,
+ "SelectConfiguration")) {
+ DBusMessageIter args, array;
+ uint8_t *configuration;
+
+ dbus_message_iter_init(reply, &args);
+
+ dbus_message_iter_recurse(&args, &array);
+
+ dbus_message_iter_get_fixed_array(&array, &configuration, &size);
+
+ ret = configuration;
+ goto done;
+ } else if (!dbus_message_get_args(reply, &err, DBUS_TYPE_INVALID)) {
+ error("Wrong reply signature: %s", err.message);
+ dbus_error_free(&err);
+ goto done;
+ }
+
+ size = 1;
+ value = TRUE;
+ ret = &value;
+
+done:
+ dbus_message_unref(reply);
+
+ if (request->cb)
+ request->cb(endpoint, ret, size, request->user_data);
+
+ endpoint_request_free(request);
+ endpoint->request = NULL;
+}
+
+static gboolean media_endpoint_async_call(DBusConnection *conn,
+ DBusMessage *msg,
+ struct media_endpoint *endpoint,
+ media_endpoint_cb_t cb,
+ void *user_data)
+{
+ struct endpoint_request *request;
+
+ if (endpoint->request)
+ return FALSE;
+
+ request = g_new0(struct endpoint_request, 1);
+
+ /* Timeout should be less than avdtp request timeout (4 seconds) */
+ if (dbus_connection_send_with_reply(conn, msg, &request->call,
+ REQUEST_TIMEOUT) == FALSE) {
+ error("D-Bus send failed");
+ g_free(request);
+ return FALSE;
+ }
+
+ dbus_pending_call_set_notify(request->call, endpoint_reply, endpoint, NULL);
+
+ request->msg = msg;
+ request->cb = cb;
+ request->user_data = user_data;
+ endpoint->request = request;
+
+ DBG("Calling %s: name = %s path = %s", dbus_message_get_member(msg),
+ dbus_message_get_destination(msg),
+ dbus_message_get_path(msg));
+
+ return TRUE;
+}
+
+static gboolean select_configuration(struct media_endpoint *endpoint,
+ uint8_t *capabilities,
+ size_t length,
+ media_endpoint_cb_t cb,
+ void *user_data)
+{
+ DBusConnection *conn;
+ DBusMessage *msg;
+
+ if (endpoint->request != NULL)
+ return FALSE;
+
+ conn = endpoint->adapter->conn;
+
+ msg = dbus_message_new_method_call(endpoint->sender, endpoint->path,
+ MEDIA_ENDPOINT_INTERFACE,
+ "SelectConfiguration");
+ if (msg == NULL) {
+ error("Couldn't allocate D-Bus message");
+ return FALSE;
+ }
+
+ dbus_message_append_args(msg, DBUS_TYPE_ARRAY, DBUS_TYPE_BYTE,
+ &capabilities, length,
+ DBUS_TYPE_INVALID);
+
+ return media_endpoint_async_call(conn, msg, endpoint, cb, user_data);
+}
+
+static gboolean set_configuration(struct media_endpoint *endpoint,
+ struct audio_device *device,
+ uint8_t *configuration, size_t size,
+ media_endpoint_cb_t cb,
+ void *user_data)
+{
+ DBusConnection *conn;
+ DBusMessage *msg;
+ const char *path;
+ DBusMessageIter iter;
+
+ if (endpoint->transport != NULL || endpoint->request != NULL)
+ return FALSE;
+
+ conn = endpoint->adapter->conn;
+
+ endpoint->transport = media_transport_create(conn, endpoint, device,
+ configuration, size);
+ if (endpoint->transport == NULL)
+ return FALSE;
+
+ msg = dbus_message_new_method_call(endpoint->sender, endpoint->path,
+ MEDIA_ENDPOINT_INTERFACE,
+ "SetConfiguration");
+ if (msg == NULL) {
+ error("Couldn't allocate D-Bus message");
+ return FALSE;
+ }
+
+ dbus_message_iter_init_append(msg, &iter);
+
+ path = media_transport_get_path(endpoint->transport);
+ dbus_message_iter_append_basic(&iter, DBUS_TYPE_OBJECT_PATH, &path);
+
+ transport_get_properties(endpoint->transport, &iter);
+
+ return media_endpoint_async_call(conn, msg, endpoint, cb, user_data);
+}
+
+static void release_endpoint(struct media_endpoint *endpoint)
+{
+ DBusMessage *msg;
+
+ DBG("sender=%s path=%s", endpoint->sender, endpoint->path);
+
+ /* already exit */
+ if (endpoint->watch == 0)
+ goto done;
+
+ msg = dbus_message_new_method_call(endpoint->sender, endpoint->path,
+ MEDIA_ENDPOINT_INTERFACE,
+ "Release");
+ if (msg == NULL) {
+ error("Couldn't allocate D-Bus message");
+ return;
+ }
+
+ g_dbus_send_message(endpoint->adapter->conn, msg);
+
+done:
+ media_endpoint_remove(endpoint);
+}
+
static void headset_state_changed(struct audio_device *dev,
headset_state_t old_state,
headset_state_t new_state,
@@ -163,28 +398,144 @@ static void headset_state_changed(struct audio_device *dev,
{
struct media_endpoint *endpoint = user_data;
- DBG("");
-
- switch (new_state) {
- case HEADSET_STATE_DISCONNECTED:
- if (endpoint->transport &&
- media_transport_get_dev(endpoint->transport) == dev) {
-
- DBG("Clear endpoint %p", endpoint);
- media_endpoint_clear_configuration(endpoint);
- }
- break;
- case HEADSET_STATE_CONNECTING:
- media_endpoint_set_configuration(endpoint, dev, NULL, 0,
- headset_setconf_cb, dev);
- break;
- case HEADSET_STATE_CONNECTED:
- break;
- case HEADSET_STATE_PLAY_IN_PROGRESS:
- break;
- case HEADSET_STATE_PLAYING:
- break;
+ DBG("");
+
+ switch (new_state) {
+ case HEADSET_STATE_DISCONNECTED:
+ if (endpoint->transport &&
+ media_transport_get_dev(endpoint->transport) == dev) {
+
+ DBG("Clear endpoint %p", endpoint);
+ clear_configuration(endpoint);
+ }
+ break;
+ case HEADSET_STATE_CONNECTING:
+ set_configuration(endpoint, dev, NULL, 0, headset_setconf_cb,
+ dev);
+ break;
+ case HEADSET_STATE_CONNECTED:
+ break;
+ case HEADSET_STATE_PLAY_IN_PROGRESS:
+ break;
+ case HEADSET_STATE_PLAYING:
+ break;
+ }
+}
+
+static const char *a2dp_get_name(struct a2dp_sep *sep, void *user_data)
+{
+ struct media_endpoint *endpoint = user_data;
+
+ return endpoint->sender;
+}
+
+static size_t a2dp_get_capabilities(struct a2dp_sep *sep,
+ uint8_t **capabilities,
+ void *user_data)
+{
+ struct media_endpoint *endpoint = user_data;
+
+ *capabilities = endpoint->capabilities;
+ return endpoint->size;
+}
+
+struct a2dp_data {
+ a2dp_endpoint_cb_t cb;
+ void *user_data;
+};
+
+static void endpoint_cb(struct media_endpoint *endpoint,
+ void *ret, int size, void *user_data)
+{
+ struct a2dp_data *data = user_data;
+
+ data->cb(endpoint->sep, ret, size, data->user_data);
+ g_free(data);
+}
+
+static int a2dp_select_configuration(struct a2dp_sep *sep,
+ uint8_t *capabilities,
+ size_t length,
+ a2dp_endpoint_cb_t cb,
+ void *cb_data,
+ void *user_data)
+{
+ struct media_endpoint *endpoint = user_data;
+ struct a2dp_data *data;
+
+ data = g_new0(struct a2dp_data, 1);
+ data->cb = cb;
+ data->user_data = cb_data;
+
+ if (select_configuration(endpoint, capabilities, length,
+ endpoint_cb, data) == TRUE)
+ return 0;
+
+ g_free(data);
+ return -ENOMEM;
+}
+
+static int a2dp_set_configuration(struct a2dp_sep *sep,
+ struct audio_device *dev,
+ uint8_t *configuration,
+ size_t length,
+ a2dp_endpoint_cb_t cb,
+ void *cb_data,
+ void *user_data)
+{
+ struct media_endpoint *endpoint = user_data;
+ struct a2dp_data *data;
+
+ data = g_new0(struct a2dp_data, 1);
+ data->cb = cb;
+ data->user_data = cb_data;
+
+ if (set_configuration(endpoint, dev, configuration, length,
+ endpoint_cb, data) == TRUE)
+ return 0;
+
+ g_free(data);
+ return -ENOMEM;
+}
+
+static void a2dp_clear_configuration(struct a2dp_sep *sep, void *user_data)
+{
+ struct media_endpoint *endpoint = user_data;
+
+ clear_configuration(endpoint);
+}
+
+static void a2dp_set_delay(struct a2dp_sep *sep, uint16_t delay,
+ void *user_data)
+{
+ struct media_endpoint *endpoint = user_data;
+
+ if (endpoint->transport == NULL)
+ return;
+
+ media_transport_update_delay(endpoint->transport, delay);
+}
+
+static struct a2dp_endpoint a2dp_endpoint = {
+ .get_name = a2dp_get_name,
+ .get_capabilities = a2dp_get_capabilities,
+ .select_configuration = a2dp_select_configuration,
+ .set_configuration = a2dp_set_configuration,
+ .clear_configuration = a2dp_clear_configuration,
+ .set_delay = a2dp_set_delay
+};
+
+static void a2dp_destroy_endpoint(void *user_data)
+{
+ struct media_endpoint *endpoint = user_data;
+
+ if (endpoint->transport) {
+ media_transport_destroy(endpoint->transport);
+ endpoint->transport = NULL;
}
+
+ endpoint->sep = NULL;
+ release_endpoint(endpoint);
}
static struct media_endpoint *media_endpoint_create(struct media_adapter *adapter,
@@ -216,13 +567,15 @@ static struct media_endpoint *media_endpoint_create(struct media_adapter *adapte
if (strcasecmp(uuid, A2DP_SOURCE_UUID) == 0) {
endpoint->sep = a2dp_add_sep(&adapter->src,
AVDTP_SEP_TYPE_SOURCE, codec,
- delay_reporting, endpoint, err);
+ delay_reporting, &a2dp_endpoint,
+ endpoint, a2dp_destroy_endpoint, err);
if (endpoint->sep == NULL)
goto failed;
} else if (strcasecmp(uuid, A2DP_SINK_UUID) == 0) {
endpoint->sep = a2dp_add_sep(&adapter->src,
- AVDTP_SEP_TYPE_SINK, codec,
- delay_reporting, endpoint, err);
+ AVDTP_SEP_TYPE_SOURCE, codec,
+ delay_reporting, &a2dp_endpoint,
+ endpoint, a2dp_destroy_endpoint, err);
if (endpoint->sep == NULL)
goto failed;
} else if (strcasecmp(uuid, HFP_AG_UUID) == 0 ||
@@ -234,9 +587,8 @@ static struct media_endpoint *media_endpoint_create(struct media_adapter *adapte
dev = manager_find_device(NULL, &adapter->src, BDADDR_ANY,
AUDIO_HEADSET_INTERFACE, TRUE);
if (dev)
- media_endpoint_set_configuration(endpoint, dev, NULL,
- 0, headset_setconf_cb,
- dev);
+ set_configuration(endpoint, dev, NULL, 0,
+ headset_setconf_cb, dev);
} else {
if (err)
*err = -EINVAL;
@@ -285,11 +637,6 @@ static struct media_endpoint *media_adapter_find_endpoint(
return NULL;
}
-const char *media_endpoint_get_sender(struct media_endpoint *endpoint)
-{
- return endpoint->sender;
-}
-
static int parse_properties(DBusMessageIter *props, const char **uuid,
gboolean *delay_reporting, uint8_t *codec,
uint8_t **capabilities, int *size)
@@ -414,8 +761,8 @@ static void path_free(void *data)
{
struct media_adapter *adapter = data;
- g_slist_free_full(adapter->endpoints,
- (GDestroyNotify) media_endpoint_release);
+ while (adapter->endpoints)
+ release_endpoint(adapter->endpoints->data);
dbus_connection_unref(adapter->conn);
@@ -465,239 +812,6 @@ void media_unregister(const char *path)
}
}
-size_t media_endpoint_get_capabilities(struct media_endpoint *endpoint,
- uint8_t **capabilities)
-{
- *capabilities = endpoint->capabilities;
- return endpoint->size;
-}
-
-static void endpoint_reply(DBusPendingCall *call, void *user_data)
-{
- struct media_endpoint *endpoint = user_data;
- struct endpoint_request *request = endpoint->request;
- DBusMessage *reply;
- DBusError err;
- gboolean value;
- void *ret = NULL;
- int size = -1;
-
- /* steal_reply will always return non-NULL since the callback
- * is only called after a reply has been received */
- reply = dbus_pending_call_steal_reply(call);
-
- dbus_error_init(&err);
- if (dbus_set_error_from_message(&err, reply)) {
- error("Endpoint replied with an error: %s",
- err.name);
-
- /* Clear endpoint configuration in case of NO_REPLY error */
- if (dbus_error_has_name(&err, DBUS_ERROR_NO_REPLY)) {
- if (request->cb)
- request->cb(endpoint, NULL, size,
- request->user_data);
- media_endpoint_clear_configuration(endpoint);
- dbus_message_unref(reply);
- dbus_error_free(&err);
- return;
- }
-
- dbus_error_free(&err);
- goto done;
- }
-
- dbus_error_init(&err);
- if (dbus_message_is_method_call(request->msg, MEDIA_ENDPOINT_INTERFACE,
- "SelectConfiguration")) {
- DBusMessageIter args, array;
- uint8_t *configuration;
-
- dbus_message_iter_init(reply, &args);
-
- dbus_message_iter_recurse(&args, &array);
-
- dbus_message_iter_get_fixed_array(&array, &configuration, &size);
-
- ret = configuration;
- goto done;
- } else if (!dbus_message_get_args(reply, &err, DBUS_TYPE_INVALID)) {
- error("Wrong reply signature: %s", err.message);
- dbus_error_free(&err);
- goto done;
- }
-
- size = 1;
- value = TRUE;
- ret = &value;
-
-done:
- dbus_message_unref(reply);
-
- if (request->cb)
- request->cb(endpoint, ret, size, request->user_data);
-
- endpoint_request_free(request);
- endpoint->request = NULL;
-}
-
-static gboolean media_endpoint_async_call(DBusConnection *conn,
- DBusMessage *msg,
- struct media_endpoint *endpoint,
- media_endpoint_cb_t cb,
- void *user_data)
-{
- struct endpoint_request *request;
-
- if (endpoint->request)
- return FALSE;
-
- request = g_new0(struct endpoint_request, 1);
-
- /* Timeout should be less than avdtp request timeout (4 seconds) */
- if (dbus_connection_send_with_reply(conn, msg, &request->call,
- REQUEST_TIMEOUT) == FALSE) {
- error("D-Bus send failed");
- g_free(request);
- return FALSE;
- }
-
- dbus_pending_call_set_notify(request->call, endpoint_reply, endpoint, NULL);
-
- request->msg = msg;
- request->cb = cb;
- request->user_data = user_data;
- endpoint->request = request;
-
- DBG("Calling %s: name = %s path = %s", dbus_message_get_member(msg),
- dbus_message_get_destination(msg),
- dbus_message_get_path(msg));
-
- return TRUE;
-}
-
-gboolean media_endpoint_set_configuration(struct media_endpoint *endpoint,
- struct audio_device *device,
- uint8_t *configuration, size_t size,
- media_endpoint_cb_t cb,
- void *user_data)
-{
- DBusConnection *conn;
- DBusMessage *msg;
- const char *path;
- DBusMessageIter iter;
-
- if (endpoint->transport != NULL || endpoint->request != NULL)
- return FALSE;
-
- conn = endpoint->adapter->conn;
-
- endpoint->transport = media_transport_create(conn, endpoint, device,
- configuration, size);
- if (endpoint->transport == NULL)
- return FALSE;
-
- msg = dbus_message_new_method_call(endpoint->sender, endpoint->path,
- MEDIA_ENDPOINT_INTERFACE,
- "SetConfiguration");
- if (msg == NULL) {
- error("Couldn't allocate D-Bus message");
- return FALSE;
- }
-
- dbus_message_iter_init_append(msg, &iter);
-
- path = media_transport_get_path(endpoint->transport);
- dbus_message_iter_append_basic(&iter, DBUS_TYPE_OBJECT_PATH, &path);
-
- transport_get_properties(endpoint->transport, &iter);
-
- return media_endpoint_async_call(conn, msg, endpoint, cb, user_data);
-}
-
-gboolean media_endpoint_select_configuration(struct media_endpoint *endpoint,
- uint8_t *capabilities,
- size_t length,
- media_endpoint_cb_t cb,
- void *user_data)
-{
- DBusConnection *conn;
- DBusMessage *msg;
-
- if (endpoint->request != NULL)
- return FALSE;
-
- conn = endpoint->adapter->conn;
-
- msg = dbus_message_new_method_call(endpoint->sender, endpoint->path,
- MEDIA_ENDPOINT_INTERFACE,
- "SelectConfiguration");
- if (msg == NULL) {
- error("Couldn't allocate D-Bus message");
- return FALSE;
- }
-
- dbus_message_append_args(msg, DBUS_TYPE_ARRAY, DBUS_TYPE_BYTE,
- &capabilities, length,
- DBUS_TYPE_INVALID);
-
- return media_endpoint_async_call(conn, msg, endpoint, cb, user_data);
-}
-
-void media_endpoint_clear_configuration(struct media_endpoint *endpoint)
-{
- DBusConnection *conn;
- DBusMessage *msg;
- const char *path;
- struct media_transport *transport = endpoint->transport;
-
- if (endpoint->transport == NULL)
- return;
-
- if (endpoint->request)
- media_endpoint_cancel(endpoint);
-
- conn = endpoint->adapter->conn;
-
- msg = dbus_message_new_method_call(endpoint->sender, endpoint->path,
- MEDIA_ENDPOINT_INTERFACE,
- "ClearConfiguration");
- if (msg == NULL) {
- error("Couldn't allocate D-Bus message");
- goto done;
- }
-
- path = media_transport_get_path(endpoint->transport);
- dbus_message_append_args(msg, DBUS_TYPE_OBJECT_PATH, &path,
- DBUS_TYPE_INVALID);
- g_dbus_send_message(conn, msg);
-done:
- endpoint->transport = NULL;
- media_transport_destroy(transport);
-}
-
-void media_endpoint_release(struct media_endpoint *endpoint)
-{
- DBusMessage *msg;
-
- DBG("sender=%s path=%s", endpoint->sender, endpoint->path);
-
- /* already exit */
- if (endpoint->watch == 0)
- return;
-
- msg = dbus_message_new_method_call(endpoint->sender, endpoint->path,
- MEDIA_ENDPOINT_INTERFACE,
- "Release");
- if (msg == NULL) {
- error("Couldn't allocate D-Bus message");
- return;
- }
-
- g_dbus_send_message(endpoint->adapter->conn, msg);
-
- media_endpoint_remove(endpoint);
-}
-
struct a2dp_sep *media_endpoint_get_sep(struct media_endpoint *endpoint)
{
return endpoint->sep;
@@ -712,9 +826,3 @@ uint8_t media_endpoint_get_codec(struct media_endpoint *endpoint)
{
return endpoint->codec;
}
-
-struct media_transport *media_endpoint_get_transport(
- struct media_endpoint *endpoint)
-{
- return endpoint->transport;
-}
diff --git a/audio/media.h b/audio/media.h
index d089103..ee9a51e 100644
--- a/audio/media.h
+++ b/audio/media.h
@@ -30,23 +30,6 @@ typedef void (*media_endpoint_cb_t) (struct media_endpoint *endpoint,
int media_register(DBusConnection *conn, const char *path, const bdaddr_t *src);
void media_unregister(const char *path);
-const char *media_endpoint_get_sender(struct media_endpoint *endpoint);
-
-size_t media_endpoint_get_capabilities(struct media_endpoint *endpoint,
- uint8_t **capabilities);
-gboolean media_endpoint_set_configuration(struct media_endpoint *endpoint,
- struct audio_device *device,
- uint8_t *configuration, size_t size,
- media_endpoint_cb_t cb,
- void *user_data);
-gboolean media_endpoint_select_configuration(struct media_endpoint *endpoint,
- uint8_t *capabilities,
- size_t length,
- media_endpoint_cb_t cb,
- void *user_data);
-void media_endpoint_clear_configuration(struct media_endpoint *endpoint);
-void media_endpoint_release(struct media_endpoint *endpoint);
-
struct a2dp_sep *media_endpoint_get_sep(struct media_endpoint *endpoint);
const char *media_endpoint_get_uuid(struct media_endpoint *endpoint);
uint8_t media_endpoint_get_codec(struct media_endpoint *endpoint);
diff --git a/audio/transport.c b/audio/transport.c
index cd2de37..f915262 100644
--- a/audio/transport.c
+++ b/audio/transport.c
@@ -99,7 +99,6 @@ void media_transport_destroy(struct media_transport *transport)
char *path;
path = g_strdup(transport->path);
-
g_dbus_unregister_interface(transport->conn, path,
MEDIA_TRANSPORT_INTERFACE);
@@ -922,4 +921,4 @@ void media_transport_update_delay(struct media_transport *transport,
struct audio_device *media_transport_get_dev(struct media_transport *transport)
{
return transport->device;
-}
\ No newline at end of file
+}
--
1.7.6
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: bluetoothd crashes on exit when Media is enabled
2011-08-07 13:40 ` Luiz Augusto von Dentz
@ 2011-08-07 14:13 ` Daniel Schaal
0 siblings, 0 replies; 3+ messages in thread
From: Daniel Schaal @ 2011-08-07 14:13 UTC (permalink / raw)
To: linux-bluetooth
[-- Attachment #1: Type: Text/Plain, Size: 234 bytes --]
> Hi Daniel,
>
> Could you please try with attached patch. It has been posted here
> before, but we decide to rework it a little bit.
Seems to work fine now.
Attached is the log of bluetoothd with the patch.
Thanks,
Daniel Schaal
[-- Attachment #2: bluetoothd.log --]
[-- Type: text/plain, Size: 35130 bytes --]
bluetoothd[26883]: Bluetooth daemon 4.96
bluetoothd[26883]: src/main.c:parse_config() parsing main.conf
bluetoothd[26883]: src/main.c:parse_config() discovto=0
bluetoothd[26883]: src/main.c:parse_config() pairto=0
bluetoothd[26883]: src/main.c:parse_config() pageto=8192
bluetoothd[26883]: src/main.c:parse_config() name=%h-%d
bluetoothd[26883]: src/main.c:parse_config() class=0x000100
bluetoothd[26883]: src/main.c:parse_config() discov_interval=30
bluetoothd[26883]: src/main.c:parse_config() Key file does not have key 'DeviceID'
bluetoothd[26883]: Starting SDP server
bluetoothd[26883]: src/plugin.c:plugin_init() Loading builtin plugins
bluetoothd[26883]: Excluding (conf) pnat
bluetoothd[26883]: src/plugin.c:add_plugin() Loading audio plugin
bluetoothd[26883]: Excluding (conf) sap
bluetoothd[26883]: Excluding (conf) input
bluetoothd[26883]: src/plugin.c:add_plugin() Loading serial plugin
bluetoothd[26883]: Excluding (conf) network
bluetoothd[26883]: Excluding (conf) proximity
bluetoothd[26883]: src/plugin.c:add_plugin() Loading service plugin
bluetoothd[26883]: Excluding (conf) health
bluetoothd[26883]: Excluding (conf) thermometer
bluetoothd[26883]: src/plugin.c:add_plugin() Loading hciops plugin
bluetoothd[26883]: src/plugin.c:add_plugin() Loading mgmtops plugin
bluetoothd[26883]: src/plugin.c:add_plugin() Loading formfactor plugin
bluetoothd[26883]: src/plugin.c:add_plugin() Loading storage plugin
bluetoothd[26883]: src/plugin.c:add_plugin() Loading adaptername plugin
bluetoothd[26883]: Excluding (conf) wiimote
bluetoothd[26883]: Excluding (conf) dbusoob
bluetoothd[26883]: src/plugin.c:plugin_init() Loading plugins /usr/lib/x86_64-linux-gnu/bluetooth/plugins
bluetoothd[26883]: plugins/service.c:register_interface() path /org/bluez/26883/any
bluetoothd[26883]: plugins/service.c:register_interface() Registered interface org.bluez.Service on path /org/bluez/26883/any
bluetoothd[26883]: audio/unix.c:unix_init() Unix socket created: 7
bluetoothd[26883]: plugins/hciops.c:hciops_init()
bluetoothd[26883]: Bluetooth Management interface initialized
bluetoothd[26883]: src/main.c:main() Entering main loop
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() Received 11 bytes from management socket
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[26883]: plugins/mgmtops.c:read_version_complete() version 0 revision 1
bluetoothd[26883]: src/rfkill.c:rfkill_event() RFKILL event idx 0 type 1 op 0 soft 0 hard 0
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() Received 12 bytes from management socket
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[26883]: plugins/mgmtops.c:add_controller() Added controller 0
bluetoothd[26883]: plugins/mgmtops.c:mgmt_remove_uuid() index 0
bluetoothd[26883]: src/rfkill.c:rfkill_event() RFKILL event idx 1 type 2 op 0 soft 0 hard 0
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() Received 10 bytes from management socket
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() Received 285 bytes from management socket
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[26883]: plugins/mgmtops.c:read_info_complete() hci0 type 0 addr 00:1B:DC:00:30:05
bluetoothd[26883]: plugins/mgmtops.c:read_info_complete() hci0 class 0x580100
bluetoothd[26883]: plugins/mgmtops.c:read_info_complete() hci0 manufacturer 10 HCI ver 4:4839
bluetoothd[26883]: plugins/mgmtops.c:read_info_complete() hci0 enabled 1 discoverable 0 pairable 1 sec_mode 4
bluetoothd[26883]: plugins/mgmtops.c:read_info_complete() hci0 name CSR - bc4
bluetoothd[26883]: src/adapter.c:btd_adapter_ref() 0x7fe2517de090: ref=1
bluetoothd[26883]: plugins/mgmtops.c:mgmt_read_bdaddr() index 0 addr 00:1B:DC:00:30:05
bluetoothd[26883]: src/sdpd-database.c:sdp_init_services_list()
bluetoothd[26883]: plugins/mgmtops.c:mgmt_add_uuid() index 0
bluetoothd[26883]: plugins/mgmtops.c:mgmt_add_uuid() index 0
bluetoothd[26883]: plugins/service.c:register_interface() path /org/bluez/26883/hci0
bluetoothd[26883]: plugins/service.c:register_interface() Registered interface org.bluez.Service on path /org/bluez/26883/hci0
bluetoothd[26883]: serial/manager.c:proxy_probe() path /org/bluez/26883/hci0
bluetoothd[26883]: src/adapter.c:btd_adapter_ref() 0x7fe2517de090: ref=2
bluetoothd[26883]: serial/proxy.c:proxy_register() Registered interface org.bluez.SerialProxyManager on path /org/bluez/26883/hci0
bluetoothd[26883]: audio/manager.c:media_server_probe() path /org/bluez/26883/hci0
bluetoothd[26883]: src/adapter.c:btd_adapter_ref() 0x7fe2517de090: ref=3
bluetoothd[26883]: audio/manager.c:audio_adapter_ref() 0x7fe2517db990: ref=1
bluetoothd[26883]: audio/manager.c:headset_server_probe() path /org/bluez/26883/hci0
bluetoothd[26883]: audio/manager.c:audio_adapter_ref() 0x7fe2517db990: ref=2
bluetoothd[26883]: audio/manager.c:state_changed() /org/bluez/26883/hci0 powered on
bluetoothd[26883]: audio/telephony.c:telephony_init()
bluetoothd[26883]: audio/headset.c:telephony_ready_ind() Telephony plugin initialized
bluetoothd[26883]: audio/headset.c:print_ag_features() HFP AG features: "Ability to reject a call" "Enhanced call status" "Extended Error Result Codes"
bluetoothd[26883]: audio/manager.c:headset_server_init() audio.conf: Key file does not have key 'Master'
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Adding record with handle 0x10000
bluetoothd[26883]: plugins/mgmtops.c:mgmt_add_uuid() index 0
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000003-0000-1000-8000-00805f9
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000100-0000-1000-8000-00805f9
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00001002-0000-1000-8000-00805f9
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00001108-0000-1000-8000-00805f9
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00001112-0000-1000-8000-00805f9
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00001203-0000-1000-8000-00805f9
bluetoothd[26883]: audio/headset.c:headset_config_init() audio.conf: Key file does not have key 'SCORouting'
bluetoothd[26883]: plugins/mgmtops.c:mgmt_fast_connectable() index 0 enable 0
bluetoothd[26883]: Changing fast connectable for hci0 failed
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Adding record with handle 0x10001
bluetoothd[26883]: plugins/mgmtops.c:mgmt_add_uuid() index 0
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000003-0000-1000-8000-00805f9
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000100-0000-1000-8000-00805f9
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00001002-0000-1000-8000-00805f9
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 0000111e-0000-1000-8000-00805f9
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 0000111f-0000-1000-8000-00805f9
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00001203-0000-1000-8000-00805f9
bluetoothd[26883]: audio/manager.c:a2dp_server_probe() path /org/bluez/26883/hci0
bluetoothd[26883]: audio/manager.c:audio_adapter_ref() 0x7fe2517db990: ref=3
bluetoothd[26883]: audio/a2dp.c:a2dp_register() audio.conf: Key file does not have key 'Disable'
bluetoothd[26883]: audio/a2dp.c:a2dp_register() audio.conf: Key file does not have group 'A2DP'
bluetoothd[26883]: audio/a2dp.c:a2dp_register() audio.conf: Key file does not have group 'A2DP'
bluetoothd[26883]: audio/a2dp.c:a2dp_register() audio.conf: Key file does not have group 'A2DP'
bluetoothd[26883]: audio/a2dp.c:a2dp_register() audio.conf: Key file does not have group 'A2DP'
bluetoothd[26883]: audio/avdtp.c:avdtp_init() audio.conf: Key file does not have key 'Master'
bluetoothd[26883]: audio/avdtp.c:avdtp_register_sep() SEP 0x7fe2517dfbc0 registered: type:0 codec:0 seid:1
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Adding record with handle 0x10002
bluetoothd[26883]: plugins/mgmtops.c:mgmt_add_uuid() index 0
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000019-0000-1000-8000-00805f9
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000100-0000-1000-8000-00805f9
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00001002-0000-1000-8000-00805f9
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 0000110a-0000-1000-8000-00805f9
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 0000110d-0000-1000-8000-00805f9
bluetoothd[26883]: audio/manager.c:avrcp_server_probe() path /org/bluez/26883/hci0
bluetoothd[26883]: audio/manager.c:audio_adapter_ref() 0x7fe2517db990: ref=4
bluetoothd[26883]: audio/control.c:avrcp_register() audio.conf: Key file does not have key 'Master'
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Adding record with handle 0x10003
bluetoothd[26883]: plugins/mgmtops.c:mgmt_add_uuid() index 0
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000017-0000-1000-8000-00805f9
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000100-0000-1000-8000-00805f9
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00001002-0000-1000-8000-00805f9
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 0000110c-0000-1000-8000-00805f9
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 0000110e-0000-1000-8000-00805f9
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Adding record with handle 0x10004
bluetoothd[26883]: plugins/mgmtops.c:mgmt_add_uuid() index 0
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000017-0000-1000-8000-00805f9
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000100-0000-1000-8000-00805f9
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 00001002-0000-1000-8000-00805f9
bluetoothd[26883]: src/sdpd-service.c:add_record_to_server() Record pattern UUID 0000110e-0000-1000-8000-00805f9
bluetoothd[26883]: plugins/adaptername.c:adaptername_probe() Setting name 'CSR - bc4' for device 'hci0'
bluetoothd[26883]: plugins/mgmtops.c:mgmt_set_name() index 0, name CSR - bc4
bluetoothd[26883]: plugins/formfactor.c:formfactor_probe() Setting 0x000110 for major/minor device class
bluetoothd[26883]: plugins/mgmtops.c:mgmt_set_dev_class() index 0 major 1 minor 16
bluetoothd[26883]: plugins/mgmtops.c:mgmt_unblock_device() index 0 addr 00:00:00:00:00:00
bluetoothd[26883]: src/device.c:device_create() Creating device /org/bluez/26883/hci0/dev_00_0B_E4_91_5D_0D
bluetoothd[26883]: src/device.c:device_set_bonded() bonded 1
bluetoothd[26883]: src/device.c:btd_device_ref() 0x7fe2517e1730: ref=1
bluetoothd[26883]: src/device.c:device_set_temporary() temporary 0
bluetoothd[26883]: src/device.c:device_probe_drivers() Probing drivers for 00:0B:E4:91:5D:0D
bluetoothd[26883]: serial/manager.c:serial_probe() path /org/bluez/26883/hci0/dev_00_0B_E4_91_5D_0D: 00001108-0000-1000-8000-00805f9b34fb
bluetoothd[26883]: serial/port.c:create_serial_device() Registered interface org.bluez.Serial on path /org/bluez/26883/hci0/dev_00_0B_E4_91_5D_0D
bluetoothd[26883]: serial/manager.c:serial_probe() path /org/bluez/26883/hci0/dev_00_0B_E4_91_5D_0D: 0000111e-0000-1000-8000-00805f9b34fb
bluetoothd[26883]: src/adapter.c:adapter_get_device() 00:0B:E4:91:5D:0D
bluetoothd[26883]: src/device.c:btd_device_ref() 0x7fe2517e1730: ref=2
bluetoothd[26883]: audio/device.c:audio_device_register() Registered interface org.bluez.Audio on path /org/bluez/26883/hci0/dev_00_0B_E4_91_5D_0D
bluetoothd[26883]: audio/manager.c:handle_uuid() Found Headset record
bluetoothd[26883]: audio/headset.c:headset_init() Registered interface org.bluez.Headset on path /org/bluez/26883/hci0/dev_00_0B_E4_91_5D_0D
bluetoothd[26883]: audio/manager.c:handle_uuid() Found Handsfree record
bluetoothd[26883]: audio/manager.c:handle_uuid() Found Audio Sink
bluetoothd[26883]: audio/sink.c:sink_init() Registered interface org.bluez.AudioSink on path /org/bluez/26883/hci0/dev_00_0B_E4_91_5D_0D
bluetoothd[26883]: audio/manager.c:handle_uuid() Found AV Target
bluetoothd[26883]: audio/control.c:control_init() Registered interface org.bluez.Control on path /org/bluez/26883/hci0/dev_00_0B_E4_91_5D_0D
bluetoothd[26883]: audio/manager.c:handle_uuid() Found AV Remote
bluetoothd[26883]: src/device.c:device_create() Creating device /org/bluez/26883/hci0/dev_00_22_98_CD_7A_E9
bluetoothd[26883]: src/device.c:device_set_bonded() bonded 1
bluetoothd[26883]: src/device.c:btd_device_ref() 0x7fe2517e45d0: ref=1
bluetoothd[26883]: src/device.c:device_set_temporary() temporary 0
bluetoothd[26883]: src/device.c:device_probe_drivers() Probing drivers for 00:22:98:CD:7A:E9
bluetoothd[26883]: serial/manager.c:serial_probe() path /org/bluez/26883/hci0/dev_00_22_98_CD_7A_E9: 00001105-0000-1000-8000-00805f9b34fb
bluetoothd[26883]: serial/port.c:create_serial_device() Registered interface org.bluez.Serial on path /org/bluez/26883/hci0/dev_00_22_98_CD_7A_E9
bluetoothd[26883]: serial/manager.c:serial_probe() path /org/bluez/26883/hci0/dev_00_22_98_CD_7A_E9: 00001112-0000-1000-8000-00805f9b34fb
bluetoothd[26883]: serial/manager.c:serial_probe() path /org/bluez/26883/hci0/dev_00_22_98_CD_7A_E9: 0000111f-0000-1000-8000-00805f9b34fb
bluetoothd[26883]: src/adapter.c:adapter_get_device() 00:22:98:CD:7A:E9
bluetoothd[26883]: src/device.c:btd_device_ref() 0x7fe2517e45d0: ref=2
bluetoothd[26883]: audio/device.c:audio_device_register() Registered interface org.bluez.Audio on path /org/bluez/26883/hci0/dev_00_22_98_CD_7A_E9
bluetoothd[26883]: audio/manager.c:handle_uuid() server not enabled for 0000111f-0000-1000-8000-00805f9b34fb (0x111f)
bluetoothd[26883]: audio/manager.c:handle_uuid() server not enabled for 00001112-0000-1000-8000-00805f9b34fb (0x1112)
bluetoothd[26883]: src/device.c:device_create() Creating device /org/bluez/26883/hci0/dev_E0_A6_70_2F_3A_B6
bluetoothd[26883]: src/device.c:device_set_bonded() bonded 1
bluetoothd[26883]: src/device.c:btd_device_ref() 0x7fe2517e6a10: ref=1
bluetoothd[26883]: src/device.c:device_set_temporary() temporary 0
bluetoothd[26883]: src/device.c:device_probe_drivers() Probing drivers for E0:A6:70:2F:3A:B6
bluetoothd[26883]: serial/manager.c:serial_probe() path /org/bluez/26883/hci0/dev_E0_A6_70_2F_3A_B6: 00000002-0000-1000-8000-0002ee000002
bluetoothd[26883]: serial/port.c:create_serial_device() Registered interface org.bluez.Serial on path /org/bluez/26883/hci0/dev_E0_A6_70_2F_3A_B6
bluetoothd[26883]: serial/manager.c:serial_probe() path /org/bluez/26883/hci0/dev_E0_A6_70_2F_3A_B6: 00001101-0000-1000-8000-00805f9b34fb
bluetoothd[26883]: serial/manager.c:serial_probe() path /org/bluez/26883/hci0/dev_E0_A6_70_2F_3A_B6: 00001103-0000-1000-8000-00805f9b34fb
bluetoothd[26883]: serial/manager.c:serial_probe() path /org/bluez/26883/hci0/dev_E0_A6_70_2F_3A_B6: 00001105-0000-1000-8000-00805f9b34fb
bluetoothd[26883]: serial/manager.c:serial_probe() path /org/bluez/26883/hci0/dev_E0_A6_70_2F_3A_B6: 00001106-0000-1000-8000-00805f9b34fb
bluetoothd[26883]: serial/manager.c:serial_probe() path /org/bluez/26883/hci0/dev_E0_A6_70_2F_3A_B6: 00001112-0000-1000-8000-00805f9b34fb
bluetoothd[26883]: serial/manager.c:serial_probe() path /org/bluez/26883/hci0/dev_E0_A6_70_2F_3A_B6: 0000111f-0000-1000-8000-00805f9b34fb
bluetoothd[26883]: serial/manager.c:serial_probe() path /org/bluez/26883/hci0/dev_E0_A6_70_2F_3A_B6: 0000112d-0000-1000-8000-00805f9b34fb
bluetoothd[26883]: serial/manager.c:serial_probe() path /org/bluez/26883/hci0/dev_E0_A6_70_2F_3A_B6: 0000112f-0000-1000-8000-00805f9b34fb
bluetoothd[26883]: serial/manager.c:serial_probe() path /org/bluez/26883/hci0/dev_E0_A6_70_2F_3A_B6: 00005002-0000-1000-8000-0002ee000001
bluetoothd[26883]: serial/manager.c:serial_probe() path /org/bluez/26883/hci0/dev_E0_A6_70_2F_3A_B6: 00005557-0000-1000-8000-0002ee000001
bluetoothd[26883]: serial/manager.c:serial_probe() path /org/bluez/26883/hci0/dev_E0_A6_70_2F_3A_B6: 00005601-0000-1000-8000-0002ee000001
bluetoothd[26883]: src/adapter.c:adapter_get_device() E0:A6:70:2F:3A:B6
bluetoothd[26883]: src/device.c:btd_device_ref() 0x7fe2517e6a10: ref=2
bluetoothd[26883]: audio/device.c:audio_device_register() Registered interface org.bluez.Audio on path /org/bluez/26883/hci0/dev_E0_A6_70_2F_3A_B6
bluetoothd[26883]: audio/manager.c:handle_uuid() server not enabled for 00001112-0000-1000-8000-00805f9b34fb (0x1112)
bluetoothd[26883]: audio/manager.c:handle_uuid() server not enabled for 0000111f-0000-1000-8000-00805f9b34fb (0x111f)
bluetoothd[26883]: src/device.c:device_create() Creating device /org/bluez/26883/hci0/dev_40_2B_A1_61_DD_C5
bluetoothd[26883]: src/device.c:device_set_bonded() bonded 1
bluetoothd[26883]: src/device.c:btd_device_ref() 0x7fe2517eee40: ref=1
bluetoothd[26883]: src/device.c:device_set_temporary() temporary 0
bluetoothd[26883]: src/device.c:device_probe_drivers() Probing drivers for 40:2B:A1:61:DD:C5
bluetoothd[26883]: serial/manager.c:serial_probe() path /org/bluez/26883/hci0/dev_40_2B_A1_61_DD_C5: 00001108-0000-1000-8000-00805f9b34fb
bluetoothd[26883]: serial/port.c:create_serial_device() Registered interface org.bluez.Serial on path /org/bluez/26883/hci0/dev_40_2B_A1_61_DD_C5
bluetoothd[26883]: serial/manager.c:serial_probe() path /org/bluez/26883/hci0/dev_40_2B_A1_61_DD_C5: 0000111e-0000-1000-8000-00805f9b34fb
bluetoothd[26883]: src/adapter.c:adapter_get_device() 40:2B:A1:61:DD:C5
bluetoothd[26883]: src/device.c:btd_device_ref() 0x7fe2517eee40: ref=2
bluetoothd[26883]: audio/device.c:audio_device_register() Registered interface org.bluez.Audio on path /org/bluez/26883/hci0/dev_40_2B_A1_61_DD_C5
bluetoothd[26883]: audio/manager.c:handle_uuid() Found Headset record
bluetoothd[26883]: audio/headset.c:headset_init() Registered interface org.bluez.Headset on path /org/bluez/26883/hci0/dev_40_2B_A1_61_DD_C5
bluetoothd[26883]: audio/manager.c:handle_uuid() Found Handsfree record
bluetoothd[26883]: audio/manager.c:handle_uuid() Found Audio Sink
bluetoothd[26883]: audio/sink.c:sink_init() Registered interface org.bluez.AudioSink on path /org/bluez/26883/hci0/dev_40_2B_A1_61_DD_C5
bluetoothd[26883]: audio/manager.c:handle_uuid() Found AV Target
bluetoothd[26883]: audio/control.c:control_init() Registered interface org.bluez.Control on path /org/bluez/26883/hci0/dev_40_2B_A1_61_DD_C5
bluetoothd[26883]: audio/manager.c:handle_uuid() Found AV Remote
bluetoothd[26883]: src/device.c:device_create() Creating device /org/bluez/26883/hci0/dev_00_22_FC_74_CA_27
bluetoothd[26883]: src/device.c:device_set_bonded() bonded 1
bluetoothd[26883]: src/device.c:btd_device_ref() 0x7fe2517f2530: ref=1
bluetoothd[26883]: src/device.c:device_set_temporary() temporary 0
bluetoothd[26883]: src/device.c:device_probe_drivers() Probing drivers for 00:22:FC:74:CA:27
bluetoothd[26883]: serial/manager.c:serial_probe() path /org/bluez/26883/hci0/dev_00_22_FC_74_CA_27: 00001108-0000-1000-8000-00805f9b34fb
bluetoothd[26883]: serial/port.c:create_serial_device() Registered interface org.bluez.Serial on path /org/bluez/26883/hci0/dev_00_22_FC_74_CA_27
bluetoothd[26883]: serial/manager.c:serial_probe() path /org/bluez/26883/hci0/dev_00_22_FC_74_CA_27: 0000111e-0000-1000-8000-00805f9b34fb
bluetoothd[26883]: src/adapter.c:adapter_get_device() 00:22:FC:74:CA:27
bluetoothd[26883]: src/device.c:btd_device_ref() 0x7fe2517f2530: ref=2
bluetoothd[26883]: audio/device.c:audio_device_register() Registered interface org.bluez.Audio on path /org/bluez/26883/hci0/dev_00_22_FC_74_CA_27
bluetoothd[26883]: audio/manager.c:handle_uuid() Found Headset record
bluetoothd[26883]: audio/headset.c:headset_init() Registered interface org.bluez.Headset on path /org/bluez/26883/hci0/dev_00_22_FC_74_CA_27
bluetoothd[26883]: audio/manager.c:handle_uuid() Found Handsfree record
bluetoothd[26883]: audio/manager.c:handle_uuid() Found Audio Sink
bluetoothd[26883]: audio/sink.c:sink_init() Registered interface org.bluez.AudioSink on path /org/bluez/26883/hci0/dev_00_22_FC_74_CA_27
bluetoothd[26883]: audio/manager.c:handle_uuid() Found AV Target
bluetoothd[26883]: audio/control.c:control_init() Registered interface org.bluez.Control on path /org/bluez/26883/hci0/dev_00_22_FC_74_CA_27
bluetoothd[26883]: audio/manager.c:handle_uuid() Found AV Remote
bluetoothd[26883]: plugins/mgmtops.c:mgmt_load_keys() index 0 keys 5 debug_keys 0
bluetoothd[26883]: plugins/mgmtops.c:mgmt_get_conn_list() index 0
bluetoothd[26883]: src/manager.c:btd_manager_register_adapter() Adapter /org/bluez/26883/hci0 registered
bluetoothd[26883]: src/adapter.c:btd_adapter_ref() 0x7fe2517de090: ref=4
bluetoothd[26883]: plugins/mgmtops.c:mgmt_set_name() index 0, name CSR - bc4
bluetoothd[26883]: plugins/mgmtops.c:mgmt_set_dev_class() index 0 major 1 minor 0
bluetoothd[26883]: audio/manager.c:state_changed() /org/bluez/26883/hci0 powered on
bluetoothd[26883]: plugins/mgmtops.c:mgmt_disable_cod_cache() index 0
bluetoothd[26883]: Adapter /org/bluez/26883/hci0 has been enabled
bluetoothd[26883]: src/adapter.c:adapter_mode_changed() old 0x00 new 0x02
bluetoothd[26883]: src/adapter.c:adapter_set_limited_discoverable() FALSE
bluetoothd[26883]: plugins/mgmtops.c:mgmt_set_limited_discoverable() index 0 limited 0
bluetoothd[26883]: src/adapter.c:set_mode_complete()
bluetoothd[26883]: src/adapter.c:btd_adapter_unref() 0x7fe2517de090: ref=3
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete() set_service_cache complete
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete() add_uuid complete
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete() add_uuid complete
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete() add_uuid complete
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete() add_uuid complete
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete() add_uuid complete
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete() add_uuid complete
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete() add_uuid complete
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete() set_dev_class complete
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() Received 9 bytes from management socket
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_status() status 1 opcode 30 (index 0)
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() Received 257 bytes from management socket
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[26883]: plugins/mgmtops.c:set_local_name_complete() hci0 name CSR - bc4
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete() set_dev_class complete
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete() set_service_cache complete
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() Received 257 bytes from management socket
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[26883]: plugins/mgmtops.c:set_local_name_complete() hci0 name CSR - bc4
bluetoothd[26883]: Endpoint registered: sender=:1.36 path=/MediaEndpoint/HFPAG
bluetoothd[26883]: audio/avdtp.c:avdtp_register_sep() SEP 0x7fe2517f6450 registered: type:0 codec:0 seid:2
bluetoothd[26883]: Endpoint registered: sender=:1.36 path=/MediaEndpoint/A2DPSource
bluetoothd[26883]: audio/avdtp.c:avdtp_register_sep() SEP 0x7fe2517f6610 registered: type:0 codec:0 seid:3
bluetoothd[26883]: Endpoint registered: sender=:1.36 path=/MediaEndpoint/A2DPSink
bluetoothd[26883]: src/adapter.c:register_agent() Agent registered for hci0 at :1.11:/blueDevil_agent
bluetoothd[26883]: plugins/mgmtops.c:mgmt_set_io_capability() hci0 io_capability 0x01
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete() set_io_capability complete
bluetoothd[26883]: plugins/mgmtops.c:mgmt_add_uuid() index 0
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[26883]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[26883]: plugins/mgmtops.c:mgmt_cmd_complete() add_uuid complete
bluetoothd[26883]: src/adapter.c:adapter_remove() Removing adapter /org/bluez/26883/hci0
bluetoothd[26883]: src/device.c:device_remove() Removing device /org/bluez/26883/hci0/dev_00_0B_E4_91_5D_0D
bluetoothd[26883]: serial/manager.c:serial_remove() path /org/bluez/26883/hci0/dev_00_0B_E4_91_5D_0D
bluetoothd[26883]: serial/port.c:path_unregister() Unregistered interface org.bluez.Serial on path /org/bluez/26883/hci0/dev_00_0B_E4_91_5D_0D
bluetoothd[26883]: audio/unix.c:unix_device_removed() unix_device_removed(0x7fe2517e3e30)
bluetoothd[26883]: audio/headset.c:path_unregister() Unregistered interface org.bluez.Headset on path /org/bluez/26883/hci0/dev_00_0B_E4_91_5D_0D
bluetoothd[26883]: audio/sink.c:path_unregister() Unregistered interface org.bluez.AudioSink on path /org/bluez/26883/hci0/dev_00_0B_E4_91_5D_0D
bluetoothd[26883]: audio/control.c:path_unregister() Unregistered interface org.bluez.Control on path /org/bluez/26883/hci0/dev_00_0B_E4_91_5D_0D
bluetoothd[26883]: src/device.c:btd_device_unref() 0x7fe2517e1730: ref=1
bluetoothd[26883]: src/device.c:btd_device_unref() 0x7fe2517e1730: ref=0
bluetoothd[26883]: src/device.c:device_free() 0x7fe2517e1730
bluetoothd[26883]: src/device.c:device_remove() Removing device /org/bluez/26883/hci0/dev_00_22_98_CD_7A_E9
bluetoothd[26883]: serial/manager.c:serial_remove() path /org/bluez/26883/hci0/dev_00_22_98_CD_7A_E9
bluetoothd[26883]: serial/port.c:path_unregister() Unregistered interface org.bluez.Serial on path /org/bluez/26883/hci0/dev_00_22_98_CD_7A_E9
bluetoothd[26883]: audio/unix.c:unix_device_removed() unix_device_removed(0x7fe2517e65f0)
bluetoothd[26883]: src/device.c:btd_device_unref() 0x7fe2517e45d0: ref=1
bluetoothd[26883]: src/device.c:btd_device_unref() 0x7fe2517e45d0: ref=0
bluetoothd[26883]: src/device.c:device_free() 0x7fe2517e45d0
bluetoothd[26883]: src/device.c:device_remove() Removing device /org/bluez/26883/hci0/dev_E0_A6_70_2F_3A_B6
bluetoothd[26883]: serial/manager.c:serial_remove() path /org/bluez/26883/hci0/dev_E0_A6_70_2F_3A_B6
bluetoothd[26883]: serial/port.c:path_unregister() Unregistered interface org.bluez.Serial on path /org/bluez/26883/hci0/dev_E0_A6_70_2F_3A_B6
bluetoothd[26883]: audio/unix.c:unix_device_removed() unix_device_removed(0x7fe2517eed10)
bluetoothd[26883]: src/device.c:btd_device_unref() 0x7fe2517e6a10: ref=1
bluetoothd[26883]: src/device.c:btd_device_unref() 0x7fe2517e6a10: ref=0
bluetoothd[26883]: src/device.c:device_free() 0x7fe2517e6a10
bluetoothd[26883]: src/device.c:device_remove() Removing device /org/bluez/26883/hci0/dev_40_2B_A1_61_DD_C5
bluetoothd[26883]: serial/manager.c:serial_remove() path /org/bluez/26883/hci0/dev_40_2B_A1_61_DD_C5
bluetoothd[26883]: serial/port.c:path_unregister() Unregistered interface org.bluez.Serial on path /org/bluez/26883/hci0/dev_40_2B_A1_61_DD_C5
bluetoothd[26883]: audio/unix.c:unix_device_removed() unix_device_removed(0x7fe2517f21f0)
bluetoothd[26883]: audio/headset.c:path_unregister() Unregistered interface org.bluez.Headset on path /org/bluez/26883/hci0/dev_40_2B_A1_61_DD_C5
bluetoothd[26883]: audio/sink.c:path_unregister() Unregistered interface org.bluez.AudioSink on path /org/bluez/26883/hci0/dev_40_2B_A1_61_DD_C5
bluetoothd[26883]: audio/control.c:path_unregister() Unregistered interface org.bluez.Control on path /org/bluez/26883/hci0/dev_40_2B_A1_61_DD_C5
bluetoothd[26883]: src/device.c:btd_device_unref() 0x7fe2517eee40: ref=1
bluetoothd[26883]: src/device.c:btd_device_unref() 0x7fe2517eee40: ref=0
bluetoothd[26883]: src/device.c:device_free() 0x7fe2517eee40
bluetoothd[26883]: src/device.c:device_remove() Removing device /org/bluez/26883/hci0/dev_00_22_FC_74_CA_27
bluetoothd[26883]: serial/manager.c:serial_remove() path /org/bluez/26883/hci0/dev_00_22_FC_74_CA_27
bluetoothd[26883]: serial/port.c:path_unregister() Unregistered interface org.bluez.Serial on path /org/bluez/26883/hci0/dev_00_22_FC_74_CA_27
bluetoothd[26883]: audio/unix.c:unix_device_removed() unix_device_removed(0x7fe2517f4c70)
bluetoothd[26883]: audio/headset.c:path_unregister() Unregistered interface org.bluez.Headset on path /org/bluez/26883/hci0/dev_00_22_FC_74_CA_27
bluetoothd[26883]: audio/sink.c:path_unregister() Unregistered interface org.bluez.AudioSink on path /org/bluez/26883/hci0/dev_00_22_FC_74_CA_27
bluetoothd[26883]: audio/control.c:path_unregister() Unregistered interface org.bluez.Control on path /org/bluez/26883/hci0/dev_00_22_FC_74_CA_27
bluetoothd[26883]: src/device.c:btd_device_unref() 0x7fe2517f2530: ref=1
bluetoothd[26883]: src/device.c:btd_device_unref() 0x7fe2517f2530: ref=0
bluetoothd[26883]: src/device.c:device_free() 0x7fe2517f2530
bluetoothd[26883]: audio/manager.c:avrcp_server_remove() path /org/bluez/26883/hci0
bluetoothd[26883]: src/sdpd-service.c:remove_record_from_server() Removing record with handle 0x10004
bluetoothd[26883]: src/sdpd-service.c:remove_record_from_server() Removing record with handle 0x10003
bluetoothd[26883]: audio/manager.c:audio_adapter_unref() 0x7fe2517db990: ref=3
bluetoothd[26883]: audio/manager.c:a2dp_server_remove() path /org/bluez/26883/hci0
bluetoothd[26883]: audio/avdtp.c:avdtp_unregister_sep() SEP 0x7fe2517dfbc0 unregistered: type:0 codec:0 seid:1
bluetoothd[26883]: audio/media.c:release_endpoint() sender=:1.36 path=/MediaEndpoint/A2DPSource
bluetoothd[26883]: Endpoint unregistered: sender=:1.36 path=/MediaEndpoint/A2DPSource
bluetoothd[26883]: audio/media.c:media_endpoint_destroy() sender=:1.36 path=/MediaEndpoint/A2DPSource
bluetoothd[26883]: audio/avdtp.c:avdtp_unregister_sep() SEP 0x7fe2517f6450 unregistered: type:0 codec:0 seid:2
bluetoothd[26883]: audio/media.c:release_endpoint() sender=:1.36 path=/MediaEndpoint/A2DPSink
bluetoothd[26883]: Endpoint unregistered: sender=:1.36 path=/MediaEndpoint/A2DPSink
bluetoothd[26883]: audio/media.c:media_endpoint_destroy() sender=:1.36 path=/MediaEndpoint/A2DPSink
bluetoothd[26883]: audio/avdtp.c:avdtp_unregister_sep() SEP 0x7fe2517f6610 unregistered: type:0 codec:0 seid:3
bluetoothd[26883]: src/sdpd-service.c:remove_record_from_server() Removing record with handle 0x10002
bluetoothd[26883]: audio/manager.c:audio_adapter_unref() 0x7fe2517db990: ref=2
bluetoothd[26883]: audio/manager.c:headset_server_remove() path /org/bluez/26883/hci0
bluetoothd[26883]: src/sdpd-service.c:remove_record_from_server() Removing record with handle 0x10000
bluetoothd[26883]: src/sdpd-service.c:remove_record_from_server() Removing record with handle 0x10001
bluetoothd[26883]: audio/manager.c:audio_adapter_unref() 0x7fe2517db990: ref=1
bluetoothd[26883]: audio/manager.c:media_server_remove() path /org/bluez/26883/hci0
bluetoothd[26883]: audio/media.c:release_endpoint() sender=:1.36 path=/MediaEndpoint/HFPAG
bluetoothd[26883]: Endpoint unregistered: sender=:1.36 path=/MediaEndpoint/HFPAG
bluetoothd[26883]: audio/media.c:media_endpoint_destroy() sender=:1.36 path=/MediaEndpoint/HFPAG
bluetoothd[26883]: audio/manager.c:audio_adapter_unref() 0x7fe2517db990: ref=0
bluetoothd[26883]: src/adapter.c:btd_adapter_unref() 0x7fe2517de090: ref=2
bluetoothd[26883]: serial/manager.c:proxy_remove() path /org/bluez/26883/hci0
bluetoothd[26883]: src/adapter.c:btd_adapter_unref() 0x7fe2517de090: ref=1
bluetoothd[26883]: plugins/service.c:unregister_interface() path /org/bluez/26883/hci0
bluetoothd[26883]: plugins/mgmtops.c:mgmt_restore_powered() index 0
bluetoothd[26883]: src/adapter.c:btd_adapter_unref() 0x7fe2517de090: ref=0
bluetoothd[26883]: plugins/mgmtops.c:mgmt_set_io_capability() hci0 io_capability 0x03
bluetoothd[26883]: src/agent.c:agent_release() Releasing agent :1.11, /blueDevil_agent
bluetoothd[26883]: src/adapter.c:adapter_free() 0x7fe2517de090
bluetoothd[26883]: src/plugin.c:plugin_cleanup() Cleanup plugins
bluetoothd[26883]: plugins/service.c:unregister_interface() path /org/bluez/26883/any
bluetoothd[26883]: plugins/hciops.c:hciops_exit()
bluetoothd[26883]: plugins/hciops.c:hciops_cleanup()
bluetoothd[26883]: Stopping SDP server
bluetoothd[26883]: Exit
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-08-07 14:13 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-06 11:17 bluetoothd crashes on exit when Media is enabled Daniel Schaal
2011-08-07 13:40 ` Luiz Augusto von Dentz
2011-08-07 14:13 ` Daniel Schaal
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).