smartdevicelink / sdl_core

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

Sometimes SDL does not reset timeout for DiagnosticMessage response by receiving 2nd BC.OnResetTimeout' notification #3894

Open VjKlepikov opened 2 years ago

VjKlepikov commented 2 years ago

Bug Report

Sometimes SDL does not reset timeout for DiagnosticMessage response by receiving 2nd BC.OnResetTimeout' notification

Occurrences: ~0.1%
Reproduction Steps
  1. Default SDL timeout is 10s (defined in .INI by 'DefaultTimeout' parameter)
  2. App is registered
  3. App sends DiagnosticMessage request
  4. SDL transfers this request to HMI
  5. HMI sends 1st 'BC.OnResetTimeout' notification to SDL right after receiving request with 'resetPeriod=15s'
  6. HMI sends 2nd 'BC.OnResetTimeout' notification to SDL after delay of 12s with 'resetPeriod=7s'
  7. HMI doesn't provide a response
Expected Behavior

SDL wait for the response from HMI within 'delay + 2nd resetPeriod' (19s) respond with GENERIC_ERROR:false to Mobile app once this timeout expires

Observed Behavior

SDL does not reset timeout for DiagnosticMessage response by receiving 2nd BC.OnResetTimeout' notification respond with GENERIC_ERROR:false to Mobile app once timeout expires (15s) after first request

OS & Version Information
Test Case, Sample Code, and / or Example App

./test_scripts/API/Restructuring_OnResetTimeout/005_BC_OnResetTimeout_HMI_sends_notification_twice.lua

Logs

Log.tar.gz