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

Reply via email to