* 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).