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
There is a session setup race condition if the data stream errors after the transport disconnects. I've only seen this bug once.
Reproduction Steps
Connect app to TDK via Bluetooth using the multisession protocol. A data session will be created.
Connect app to TDK via USB. The data session will be destroyed. However, if the stream errors during this process, (i.e. NSStreamEventErrorOccurred or NSStreamEventEndEncountered) the SDLIAPTransport object will try to reestablish a session with the accessory. Since the phone is connected to the TDK via a USB cord, the attempt to create a new session will be successful. Meanwhile, the lifecycle manager will be shutting down and starting again. When the lifecycle manager enters the ready state, it will create a new SDLIAPTransport object and try to create a new session. Since there is already a session in progress, the attempt to create a session will always fail.
Expected Behavior
If the data stream errors during shutdown, it should not attempt to create a new data session.
Observed Behavior
When the data stream errors during shutdown, a new session can not be created.
OS & Version Information
iOS Version: 11.0
SDL iOS Version: 6.2
Testing Against: SYNC 3 TDK
Test Case, Sample Code, and / or Example App
The Swift example app in the SDL_iOS library.
The text was updated successfully, but these errors were encountered:
Bug Report
There is a session setup race condition if the data stream errors after the transport disconnects. I've only seen this bug once.
Reproduction Steps
NSStreamEventErrorOccurred
orNSStreamEventEndEncountered
) theSDLIAPTransport
object will try to reestablish a session with the accessory. Since the phone is connected to the TDK via a USB cord, the attempt to create a new session will be successful. Meanwhile, the lifecycle manager will be shutting down and starting again. When the lifecycle manager enters the ready state, it will create a newSDLIAPTransport
object and try to create a new session. Since there is already a session in progress, the attempt to create a session will always fail.Expected Behavior
If the data stream errors during shutdown, it should not attempt to create a new data session.
Observed Behavior
When the data stream errors during shutdown, a new session can not be created.
OS & Version Information
Test Case, Sample Code, and / or Example App
The Swift example app in the SDL_iOS library.
The text was updated successfully, but these errors were encountered: