smartdevicelink / sdl_core

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

Deadlock happens during video streaming #3148

Closed zhouxin627 closed 4 years ago

zhouxin627 commented 4 years ago

Bug Report

Deadlock happens during video streaming

Preconditions

Set VideoDataStoppedTimeout = 500 in smartDeviceLink.ini

The smaller the value of VideoDataStoppedTimeout is, the more likely the deadlock happens. If VideoDataStoppedTimeoutis 3000, it is almost impossible to reproduce the issue.

Reproduction Steps
  1. Register Sygic
  2. Activate Sygic, starts video streaming
  3. Quickly and repeatedly click the screen of Sygic on the head unit
Expected Behavior

Deadlock should not happen.

Observed Behavior

Deadlock happens during video streaming.

The reason seems to be that WakeUpStreaming happens deadlock. If the phone does not sends streaming data, a timeout occurs. After SuspendStreaming, WakeUpStreaming is started, then a deadlock happens. Please refer to the attached logs for further details.

OS & Version Information
Occurrence

80%

Recovery Method

Acc off/on

Test Case, Sample Code, and / or Example App

Logs:logs.txt logs.txt

[Paste a link to a PR, gist, or other code that exemplifies this behavior]

E-SAITO-TMC commented 4 years ago

This is one of the issues that Toyota reported at the 11/18 Roadmap workshop.

theresalech commented 4 years ago

@E-SAITO-TMC is the Toyota team working on a fix for this issue? If so, can you please let us know when the fix will be ready for Livio review?

E-SAITO-TMC commented 4 years ago

@theresalech I'm sorry, I found a bug. It has not been fixed yet. We will let you know when a solution is found.

iCollin commented 4 years ago

Closed via #3231