Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iAP Bluetooth Connectivity Drops #1261

Closed
SatbirTanda opened this issue May 10, 2019 · 15 comments
Closed

iAP Bluetooth Connectivity Drops #1261

SatbirTanda opened this issue May 10, 2019 · 15 comments
Assignees
Labels
bug A defect in the library
Projects
Milestone

Comments

@SatbirTanda
Copy link
Contributor

SatbirTanda commented May 10, 2019

Bug Report

When connecting an iOS device with > 10 SDL apps to SYNC 3.2v2 via Bluetooth, a few errors appear:

  1. App displays on sync but does not populate when going from NONE to FULL state
  2. App does not show up at all on SYNC and iAP gets disconnected for that app
  3. All > 10 apps do not appear on SYNC
Reproduction Steps
  1. Create SDL enabled app
  2. Pair the iOS device to SYNC via bluetooth
Expected Behavior

All apps should display and work properly

Observed Behavior

Sometimes App does not display on SYNC
Sometimes App does not work when tapped on SYNC (no RPCs received by SYNC)

OS & Version Information
  • iOS Version: 12.2
  • SDL iOS Version: 6.2.0
  • Testing Against: SYNC 3.4 19126_DEVTEST
@SatbirTanda SatbirTanda changed the title iOS iAP Bluetooth Connectivity Drops iAP Bluetooth Connectivity Drops May 10, 2019
@joeljfischer joeljfischer added the bug A defect in the library label May 13, 2019
@joeljfischer
Copy link
Contributor

If this issue only appears when 10+ apps are connected, it is hard to understand how this could be an iOS library related issue. Based on that information alone, it would almost certainly be a module-side issue. The iOS library doesn't do anything different when 1 app is connected compared to 10. Can you provide more information that makes it clear that this is a library-side issue?

@NicoleYarroch
Copy link
Contributor

@SatbirTanda Were the apps being tested using the multisession protocol, unique protocol strings or a mix of both?

@NicoleYarroch NicoleYarroch self-assigned this May 13, 2019
@NicoleYarroch NicoleYarroch added this to To do in v6.3 via automation May 13, 2019
@NicoleYarroch
Copy link
Contributor

NicoleYarroch commented May 13, 2019

App displays on sync but does not populate when going from NONE to FULL state

Does this mean when the SDL app icon is tapped the SDL app does not open, or that the SDL app opens but the screen is empty?

@SatbirTanda
Copy link
Contributor Author

@NicoleYarroch - The latter, the SDL app opens up but the default template shows. Also, the apps were a mix of both (some used the multisession string and some did not).

@NicoleYarroch
Copy link
Contributor

NicoleYarroch commented May 16, 2019

@SatbirTanda
For your first bug I noticed something similar while testing with SYNC 3.4 Build 19126_DEVTEST

TDK version: SYNC 3, v.3.4, Build 19126_DEVTEST
Phone: iPhone XS Max iOS v.12.1.4

Bug Report

  1. Connect app to TDK using Bluetooth transport.
  2. Open the SDL app.
  3. Connect the phone to the TDK using a USB cord.
  4. Wait for app icon to show up in the TDK's "Apps" tab. Select the app icon.

Expected Result

An OnHMIStatus notification should be sent by Core notifying the app that the SDL app now has a hmiLevel of FULL. Since no notification is sent, the app does not send a Show RPC to populate the screen.

Actual Result

No OnHMIStatus notification is sent by Core. I have to put the SDL app in the background and then foreground it again before I get a OnHMIStatus notification.

@NicoleYarroch
Copy link
Contributor

The first bug could also be caused by #1264

@SatbirTanda
Copy link
Contributor Author

SatbirTanda commented May 28, 2019

It looks like there's a case where SDL attempts to create a session before the EAAccessory notification is executed, which leads to a one connection attempt to go to waste and occasionally a failure to ever pick up the Accessory (which might explain why apps do not show). The accessory always gets logged out as null too. Attached is a log showing failure to pick up accessory on first try, connecting to SYNC with RAI response, then a disconnect. This log displays issue 1 of the original post, the app displays on sync, does not populate the template when tapped, gets disconnected, but does not get removed from HMI.
App_Connects_then_no_template.txt

@SatbirTanda
Copy link
Contributor Author

Can confirm we are seeing these issues if only one SDL app in on the phone

@NicoleYarroch
Copy link
Contributor

@SatbirTanda I believe the race conditions in setting up a session when switching between BT and USB were fixed in PR #1248. If not, please reopen the issue.

v6.3 automation moved this from To do to Done Jun 5, 2019
@theresalech theresalech added this to the 6.3.0 milestone Jun 5, 2019
@SatbirTanda
Copy link
Contributor Author

Hey @NicoleYarroch this issue is primarily seen on a a plain BT connection to a HU. (No transport switching)

@SatbirTanda
Copy link
Contributor Author

SatbirTanda commented Jun 6, 2019

Yes, I integrated this develop branch into my cocoa pod and tested, seeing the app not appearing over BT in cases , also I cannot re-open the issue (no permission)

@NicoleYarroch
Copy link
Contributor

@SatbirTanda Are you still seeing sessions being destroyed in your logs or is it just an EAAccessoryManager empty accessory list issue?

@SatbirTanda
Copy link
Contributor Author

SatbirTanda commented Jun 11, 2019

I see the accessory get printed out as (null) and also I see that a session try to get created before the accessory is picked up. In SDLProxy.m I see

        [self.transport connect];

        SDLLogV(@"Proxy transport initialization");
        [[EAAccessoryManager sharedAccessoryManager] registerForLocalNotifications];

where connect is called before registerForLocalNotifications but I see that [[EAAccessoryManager sharedAccessoryManager] registerForLocalNotifications] is written in SDLIAPTransport

@stefanek22
Copy link

@NicoleYarroch can this issue be reopened, per Satbir's comments? The underlying issue is still seen...

@NicoleYarroch
Copy link
Contributor

@SatbirTanda, @stefanek22 I created a new issue: #1316 and PR #1317 that I think fixes the issue of the session not being created.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug A defect in the library
Projects
No open projects
v6.3
  
Done
Development

No branches or pull requests

5 participants