smartdevicelink / sdl_core

SmartDeviceLink In-Vehicle Software and Sample HMI
BSD 3-Clause "New" or "Revised" License
240 stars 245 forks source link

SDL does not send SubscribeButton request if HMI responds to UnsubscribeButton request once default timeout expires #3860

Open VjKlepikov opened 2 years ago

VjKlepikov commented 2 years ago

Bug Report

SDL does not send SubscribeButton request if HMI responds to UnsubscribeButton request once default timeout expires

Occurrences:

Rare ~1%

Reproduction Steps
  1. Mobile app is subscribed for "button"
  2. Mobile app requests UnsubscribeButton("button")
  3. SDL sends Buttons.UnsubscribeButton("button", appId) to HMI
  4. HMI does not respond during default timeout
  5. SDL responds UnsubscribeButton(GENERIC_ERROR) to mobile app
  6. HMI sends Buttons.UnsubscribeButton(SUCCESS) to SDL
Expected Behavior

SDL sends Buttons.SubscribeButton("button", appId) to HMI receive response Buttons.SubscribeButton(SUCCESS) and keep actual subscribed state for

VjKlepikov commented 2 years ago

Please notice this is a non-regression issue. It's also reproduced on 8.0