Skip to content

WSS Re-connection infinite loop #3889

@ShobhitAd

Description

@ShobhitAd

Bug Report

Currently, if a WSS Cloud App with a valid endpoint and invalid certificate is activated, core keeps attempting to re-connect to the cloud app.

Reproduction Steps
  1. Setup test suite appJava with SSL enabled. Change the following params in Config.java
    public static final TransportType TRANSPORT_TYPE = TransportType.WEB_SOCKET_SERVER;
    public static final String APP_ID = "123e4567-e89b-12d3-a456-426655440000";
    public static final String APP_NAME = "Test Suite SE";
    ...
    public static final boolean ENABLE_SSL = true;
    public static final String CERTIFICATE_PEM = "<server_certificate_string>";
    public static final String KEY_PEM = "<server_key_string>";
  1. Add cloud app entry for the cloud (with transport type WSS) in sdl_preloaded_pt.json. Replace <client_certificate_string> with an invalid certificate
"123e4567-e89b-12d3-a456-426655440000": {
                "keep_context": false,
                "steal_focus": false,
                "priority": "NONE",
                "default_hmi": "NONE",
                "groups": ["Base-4", "CloudAppStore"],
                "RequestType": [],
                "RequestSubType": [],
                "nicknames": ["Test Suite SE"],
                "hybrid_app_preference": "CLOUD",
                "endpoint": "wss://<core_ip>:4355",
                "auth_token": "none",
                "cloud_transport_type": "WSS",
                "enabled": true,
                "certificate": "<client_certificate_string>"
            },
  1. Start Core and HMI
  2. Click on cloud app entry in app list
Expected Behavior
  • Cloud app fails to activate
  • SDL sends BasicCommunication.UpdateAppList to the HMI with the cloud app endpoint and "cloudConnectionStatus":"RETRY"
  • SDL sends BasicCommunication.UpdateAppList to the HMI with the cloud app endpoint and "cloudConnectionStatus":"NOT_CONNECTED"
Observed Behavior
  • Cloud app fails to activate
  • SDL repeatedly sends BasicCommunication.UpdateAppList to the HMI with the cloud app endpoint and "cloudConnectionStatus":"RETRY"
  • SDL repeatedly sends BasicCommunication.UpdateAppList to the HMI with the cloud app endpoint and "cloudConnectionStatus":"NOT_CONNECTED"

NOTE: Core seems to sometimes send some invalid data to the HMI in the UpdateDeviceList request during this reconnection loop, such as "transportType":-1 and "cloudConnectionStatus":-1

OS & Version Information
  • OS/Version: Ubuntu 20.04
  • SDL Core Version: release/8.1.0
  • Testing Against: Test Suite (appJava)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions