You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current IAP transport implementation often fails during the reconnection logic. Rapid disconnects/reconnects amplify the issue.
Reproduction Steps
Connect a SDL app.
Disconnect a SDL app, or initiate a transport mode switch if supported on the head unit
Observe if app successfully reconnects
Repeat steps 1-3
Expected Behavior
SDL app successfully connects
Observed Behavior
SDL apps often do not connect
This most often is due to two small logical issues inside the transport adapter
When the proxy reconnects after a delay, it holds a reference to the existing accessory. In many cases the accessory could have disconnected and reconnected inside of that delay, and the referenced accessory becomes invalid. Attempting to connect to the invalid accessory causes connection failure.
There is a race condition that occurs with the protocolIndexTimer which in many cases can cause the start selector to fire after the cancel selector.
OS & Version Information
iOS Version: iOS 10 and 11, including subversions.
SDL iOS Version: Issue observed in 5.0 release, and 4.7.3 release.
Testing Against: Head unit
Test Case, Sample Code, and / or Example App
PR 817
The text was updated successfully, but these errors were encountered:
Bug Report
The current IAP transport implementation often fails during the reconnection logic. Rapid disconnects/reconnects amplify the issue.
Reproduction Steps
Expected Behavior
SDL app successfully connects
Observed Behavior
SDL apps often do not connect
This most often is due to two small logical issues inside the transport adapter
When the proxy reconnects after a delay, it holds a reference to the existing accessory. In many cases the accessory could have disconnected and reconnected inside of that delay, and the referenced accessory becomes invalid. Attempting to connect to the invalid accessory causes connection failure.
There is a race condition that occurs with the protocolIndexTimer which in many cases can cause the start selector to fire after the cancel selector.
OS & Version Information
Test Case, Sample Code, and / or Example App
PR 817
The text was updated successfully, but these errors were encountered: