Package: bluez Version: 5.50 Severity: normal Dear Maintainer,
My application uses bluez for BLE data exchange and connection management. It has recconection logic implemented: after the app start, it reads "UUID" property of paired BLE devices from cache using bluez API (bluez_device_get_property(g_dbus_proxy_get_object_path(proxy), "UUIDs"). The devices that have this property are added to reconnection list. The bug description: 1. Six BLE devices were paired to raspberry PI 3b via bluez API. 2. After some time of normal operation (about 2 weeks with daily reboot), the attempt of reading out "UUIDs" property for one of the paired devices returned 0: bluez API returned zero-length UUIDs list ("Found 0 UUIDs on the device /org/bluez/hci0/dev_94_54_93_XX_XX_XX"). System reboot didn't resolve the issue - it was still not possible to read out UUID prorerty via bluez API. However, this property was avaliable in the file here /var/lib/bluetooth/B8:27:EB:10:DE:3D/94:54:93:XX:XX:XX/info. The device's other properties, like "Paired", "Address", "RSSI" were also avaliable for reading out using bluez API, so the device reconnection could be completed forcibly. After the reconnection, "UUID" property became avaliable for reading out via bluez API again. What could be the issue with data lost in the cache? -- System Information: Distributor ID: Raspbian Description: Raspbian GNU/Linux 9.1 (stretch) Release: 9.1 Codename: stretch Architecture: armv7l Kernel: Linux 4.14.94-v7+ (SMP w/4 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages bluez depends on: ii dbus 1.10.26-0+deb9u1 ii init-system-helpers 1.48 ii kmod 23-2 ii libc6 2.24-11+deb9u1 ii libdbus-1-3 1.10.26-0+deb9u1 ii libglib2.0-0 2.50.3-2 ii libreadline7 7.0-3 ii libudev1 232-25+deb9u2 ii lsb-base 9.20161125+rpi1 ii udev 232-25+deb9u2 bluez recommends no packages. Versions of packages bluez suggests: pn pulseaudio-module-bluetooth <none> -- Configuration Files: /etc/dbus-1/system.d/bluetooth.conf changed: <!-- This configuration file specifies the required security policies for Bluetooth core daemon to work. --> <!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> <busconfig> <!-- ../system.conf have denied everything, so we just punch some holes --> <policy user="root"> <allow own="org.bluez"/> <allow send_destination="org.bluez"/> <allow send_interface="org.bluez.Agent1"/> <allow send_interface="org.bluez.MediaEndpoint1"/> <allow send_interface="org.bluez.MediaPlayer1"/> <allow send_interface="org.bluez.Profile1"/> <allow send_interface="org.bluez.GattCharacteristic1"/> <allow send_interface="org.bluez.GattDescriptor1"/> <allow send_interface="org.bluez.LEAdvertisement1"/> <allow send_interface="org.freedesktop.DBus.ObjectManager"/> <allow send_interface="org.freedesktop.DBus.Properties"/> </policy> <policy at_console="true"> <allow send_destination="org.bluez"/> </policy> <!-- allow users of lp group (printing subsystem) to communicate with bluetoothd --> <policy group="lp"> <allow send_destination="org.bluez"/> </policy> <policy context="default"> <deny send_destination="org.bluez"/> </policy> </busconfig> -- no debconf information