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

Windows: 100% CPU load when reading services and characteristics

    XMLWordPrintable

    Details

    • Platform/s:
      Windows
    • Commits:
      2a7ef291d696745887e71f8b0e27cb4c8701bdd2 (qt/qtconnectivity/dev) b6f854c81b4edea3a627dfe1a09f49235160cdf6 (qt/qtconnectivity/6.2) 6444868ff5f95e868471d16f61ca3d0696bbd8a5 (qt/tqtc-qtconnectivity/5.15)

      Description

      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
      good.
      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

        Attachments

        For Gerrit Dashboard: QTBUG-97242
        # Subject Branch Project Status CR V

          Activity

            People

            Assignee:
            ivan.solovev Ivan Solovev
            Reporter:
            ivan.solovev Ivan Solovev
            PM Owner:
            Vladimir Minenko Vladimir Minenko
            RnD Owner:
            Alex Blasche Alex Blasche
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes