Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.15, 6.2
-
None
-
-
ac0dca699f (qt/qtconnectivity/dev) ac0dca699f (qt/tqtc-qtconnectivity/dev) a5b31fe55f (qt/qtconnectivity/6.3) a5b31fe55f (qt/tqtc-qtconnectivity/6.3) 1fa72a0f35 (qt/qtconnectivity/6.2) 1fa72a0f35 (qt/tqtc-qtconnectivity/6.2)
Description
On Android:
If one initiates a QBluetoothServer::listen() and then quickly destroys the server, the internal ServerAcceptanceThread asserts because isRunning() is still true in it's destructor, in spite of the close() call. The close() may have been called manually or by the server destructor.
This seems to happen when the Java-side run() is in the middle of
time-consuming synchronous "listenUsing*RfcommWithServiceRecord()" call and therefore the interruption and stop is not immediate but will happen only after that function returns.
Attachments
For Gerrit Dashboard: QTBUG-101586 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
399742,9 | Fix Android bluetooth server assert when disposed of quickly | dev | qt/qtconnectivity | Status: MERGED | +2 | 0 |
401072,2 | Fix Android bluetooth server assert when disposed of quickly | 6.3 | qt/qtconnectivity | Status: MERGED | +2 | 0 |
401073,2 | Fix Android bluetooth server assert when disposed of quickly | 6.2 | qt/qtconnectivity | Status: MERGED | +2 | 0 |
401109,3 | Fix Android bluetooth server assert when disposed of quickly | tqtc/lts-5.15 | qt/tqtc-qtconnectivity | Status: MERGED | +2 | 0 |