Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-97242

Windows: 100% CPU load when reading services and characteristics



    • Windows
    • 21
    • 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


        No reviews matched the request. Check your Options in the drop-down menu of this sections header.



            ivan.solovev Ivan Solovev
            ivan.solovev Ivan Solovev
            Vladimir Minenko Vladimir Minenko
            Alex Blasche Alex Blasche
            1 Vote for this issue
            6 Start watching this issue



              Gerrit Reviews

                There are no open Gerrit changes