Details
-
Bug
-
Resolution: Done
-
P2: Important
-
6.5
-
None
-
-
8
-
3a55024682 (qt/qtconnectivity/dev) 3a55024682 (qt/tqtc-qtconnectivity/dev)
-
Foundation Sprint 67
Description
There seems to be an assert if the BT LE service discovery times out on macOS.
Reproduced with the 'bttestui' manual test application by clicking the LE Central column's first 1..4 buttons (waited each to complete, crashes on step 4).
The trick for reproduction is how to achieve a 'service discovery timeout', it is not a typical outcome. In my case I venture a guess it happens due to stale bluetooth cache on macOS side.
2022-08-30 09:56:37.748 bttestui[42950:3322592] Timeout caused by: <CBPeripheral: 0x600000fae6c0, identifier = A2411DDA-6836-20FC-4DE8-25873147074B, name, mtu = 23, state = connected> qt.bluetooth.darwin: Timeout in services discovery 2022-08-30 09:56:37.749 bttestui[42950:3322592] -[DarwinBTCentralManager peripheral:didDiscoverServices:] failed with error Error Domain=CBErrorDomain Code=5 "(null)" qt.bluetooth.darwin: QLowEnergyController error: QLowEnergyController::UnknownError in state: QLowEnergyController::DiscoveringState QLowEnergyController central errorOccurred: QLowEnergyController::UnknownError qt.bluetooth: QLowEnergyControllerPrivate setting state to QLowEnergyController::ConnectedState QLowEnergyController central stateChanged: QLowEnergyController::ConnectedState ASSERT failure in void QLowEnergyControllerPrivateDarwin::_q_serviceDiscoveryFinished(): "invalid state", file qtconnectivity/src/bluetooth/qlowenergycontroller_darwin.mm, line 406 Abort trap: 6
Attachments
For Gerrit Dashboard: QTBUG-106039 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
437780,3 | [Darwin BTLE] Fix service discovery timeout assert | dev | qt/qtconnectivity | Status: MERGED | +2 | 0 |