2a7ef291d696745887e71f8b0e27cb4c8701bdd2 (qt/qtconnectivity/dev) b6f854c81b4edea3a627dfe1a09f49235160cdf6 (qt/qtconnectivity/6.2) 6444868ff5f95e868471d16f61ca3d0696bbd8a5 (qt/tqtc-qtconnectivity/5.15)
Team 1 Foundation_Sprint 44
The user reports a 100% CPU load when connecting to a specific peripheral device and reading its services and characteristics:
When doing a lowEnergyService discoverDetails() the CPU on
each core goes for seconds to 100% which could cause a deadlock in our app on
old hardware. On newer hardware the process of discoverDetails() goes often
After the connect and the service discovery on our bluetooth peripheral with
lowenergyscanner when clicking on the service I can reproduce the high CPU
load. It needs about 5 seconds to query all the Characteristics of the
service, while querying the CPU load is that high on all cores.
By the way we have in this specifical BLE service 13 characteristics and
before reading the characteristics of this custom service we query
DeviceInformation service with 9 characteristics
All the characteristics have the following parameters:
The Service’s characteristics all have 2 descriptors, Characteristic User description and Client Characteristic Configuration. They have Read and Notify properties, and the values when reading are 22 octets long. So all characteristics have the same format.
The same peripheral device works without any issues with Qt 5.12