Bug #118206

【IOVDEV-30153】【内部】【VC1】【0095】【台架】【EE环境】【副屏】遥控器上连续进行屏保按键操作后副屏冻屏

Added by CDTS_TEST 王成 about 2 years ago. Updated about 2 years ago.

Status:CLOSEDStart date:2023-05-24
Priority:NormalDue date:2023-05-26
Assignee:CDTS_TEST 王成% Done:

100%

Category:冻屏
Target version:-
Need_Info:-- Found Version:01.00.0100
Resolution:FIXED Degrated:No
Severity:Critical Verified Version:
Reproducibility:Frequently Fixed Version:2023-05-26
Test Type:ST Root cause:屏保未完全打开时关闭屏保,导致状态出现异常无法关闭

Description

【环境信息】EE环境

【问题出现时间】:20230524

【前提条件】:副屏上电,网络正常,手机和副屏在同一网络下,高合EE账号(18629666668)登录

【操作步骤】

副屏冻屏

1.进入高合EE,登录账号后,点击页面下方HiPhi;

2.点击应用中的“遥控器”;

3.在副驾屏遥控器页面,连续点击“屏保”按键;

【实际结果】

1.副屏冻屏;

【期望结果】

1.副屏屏保正常开启和关闭;
【备注】

冻屏后副屏下电后重启,操作三次复现三次冻屏;

安卓(Android版本)手机操作,手机型号名称:Galaxy S22+;手机型号SM-S9060;手机硬件版本号:REV1.0

台架视频log:见附件--event.log;

实时日志:见附件--logcat.txt;

台架视频地址:https://ofs.human-horizons.com/#/download/index/87rilU3KD1o%3D

【当前开机次数】:副屏第120、121、122共三次开机

【应用版本】:/

【VIN】:HRYTTESTVINMGM401

【硬件版本号】:/
【中控版本号】:03.02.0082.C101
【副屏版本号】:01.00.0100

052402bug2.mp4 (7.5 MB) CDTS_TEST 王成, 2023-05-24 15:15

logcat.txt Magnifier (3.8 MB) CDTS_TEST 王成, 2023-05-24 15:15

event.log.txt Magnifier (175 KB) CDTS_TEST 王成, 2023-05-24 15:15


Related issues

Related to Figure - Bug #118413: 【IOVDEV-31951】【内部】【VC1】【0100】【台架】【EE环境】【副屏】 副屏在待机进入屏保界面一段... CLOSED 2023-06-01

History

#1 Updated by CDTS_TEST 王成 about 2 years ago

#2 Updated by CDTS_TEST 王成 about 2 years ago

  • Due date set to 2023-05-26

#3 Updated by CD FW 曹覃刚 about 2 years ago

  • Status changed from New to ASSIGNED
  • Assignee changed from CD FW 曹覃刚 to CD FW-程天颖

#4 Updated by CD FW-程天颖 about 2 years ago

  • Assignee changed from CD FW-程天颖 to CD APP-王宏

Hi,王营:
请帮忙分析一下为什么屏保卡住了

#5 Updated by CDTS-TEST 周婷 about 2 years ago

  • Category changed from CD-FW to 冻屏

#6 Updated by CD FW-程天颖 about 2 years ago

初步分析由于多线程操作导致记录屏保状态的数据,由于缺乏适当的同步机制或互斥锁,导致数据的一致性产生错误,使得屏保无法打开

#7 Updated by CD APP-王营 about 2 years ago

  • Assignee changed from CD APP-王宏 to CD APP-王营

【当前状态】
复现问题,怀疑DreamService中mInteractive变量异常

public boolean dispatchTouchEvent(MotionEvent event) {
// TODO: create more flexible version of mInteractive that allows clicks
// but finish()es on any other kind of activity
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:
mActionDownY = event.getY();
break;
case MotionEvent.ACTION_UP:
mActionUpY = event.getY();
Slog.v(TAG, "mActionDownY = "+mActionDownY);
Slog.v(TAG, "mActionUpY = "+mActionUpY);
if (!mInteractive) {
if (mDebug) Slog.v(TAG, "Waking up on touchEvent");
if (mActionUpY < mActionDownY){
wakeUp();
return true;
}
}
break;
}
return mWindow.superDispatchTouchEvent(event);
}

【下一步】
1、确认mInteractive是否在频繁操作过程中出现异常。
2、中控遥控器向副屏发送事件频率需要添加控制,确定一个时间间隔,过于频繁的事件是不合理的,需要drop掉。

#8 Updated by CD APP-王营 about 2 years ago

  • % Done changed from 0 to 10

【状态】
问题原因是启动和退出屏保的动作太频繁,在屏保还没有启动完成就下发了唤醒屏保的指令,调用及变量赋值出现异常,当前有两个方案
1、对于这种不正常的操作进行规避,控制点击事件的点击频率,对framework层屏保的启动流程不做修改。
2、点击频率同样需要控制。对framework层进行控制,屏保启动流程没有结束之前不允许唤醒。

【分析】
1、正常启动屏保的log:
05-24 01:29:42.060 9655 9655 V DreamService[SystemDream]: onCreate()
05-24 01:29:42.060 9655 9655 V DreamService[SystemDream]: onBind() intent = Intent { act=android.service.dreams.DreamService flg=0x800000 cmp=com.thundercomm.screensaver/.service.SystemDream }
05-24 01:29:42.127 9655 9655 V DreamService[SystemDream]: onDreamingStarted()

2、正常退出的log:
05-24 01:29:42.182 9655 9655 V DreamService[SystemDream]: wakeUp(): fromSystem=true, mWaking=false, mFinished=false
05-24 01:29:42.182 9655 9655 V DreamService[SystemDream]: finish(): mFinished=false
05-24 01:29:42.322 9655 9655 V DreamService[SystemDream]: detach(): Calling onDreamingStopped()
05-24 01:29:42.322 9655 9655 V DreamService[SystemDream]: onDreamingStopped()
05-24 01:29:42.322 9655 9655 V DreamService[SystemDream]: finish(): mFinished=false
05-24 01:29:42.324 9655 9655 V DreamService[SystemDream]: onDestroy()
05-24 01:29:42.324 9655 9655 V DreamService[SystemDream]: finish(): mFinished=false

3、异常启动和退出屏保的log,onDreamingStarted没有执行完毕就进行了wakeup:
05-24 01:29:42.355 9655 9655 V DreamService[SystemDream]: onCreate()
05-24 01:29:42.355 9655 9655 V DreamService[SystemDream]: onBind() intent = Intent { act=android.service.dreams.DreamService flg=0x800000 cmp=com.thundercomm.screensaver/.service.SystemDream }
05-24 01:29:42.420 9655 9655 V DreamService[SystemDream]: wakeUp(): fromSystem=true, mWaking=false, mFinished=false
05-24 01:29:42.420 9655 9655 V DreamService[SystemDream]: finish(): mFinished=false
05-24 01:29:42.423 9655 9655 V DreamService[SystemDream]: finish(): mFinished=true
05-24 01:29:42.425 9655 9655 V DreamService[SystemDream]: onDestroy()
05-24 01:29:42.425 9655 9655 V DreamService[SystemDream]: finish(): mFinished=true
05-24 01:29:42.489 9655 9655 V DreamService[SystemDream]: onDreamingStarted()

【下一步】

确认方案

#9 Updated by CD APP-王营 about 2 years ago

  • Assignee changed from CD APP-王营 to CD FW-程天颖

Hi 天颖,
如沟通,结合log情况,采用方案1,时间间隔定为500ms

#10 Updated by IoT scm about 2 years ago

Gerrit Merge Information
ID Project Branch Uploader
202720 general/platform/frameworks/base Pre_figure_turbox-c2130c-la1.1-qssi12-dev
AF: ScreenSaver: Optimize dream wake up process
1.If dream start process is not finished you can not wake up it.
TC-RID: 0301-0300601
IssueID: TS-R-BUG-118206
Change-Id: I50a026ba6d457215ca264447d91c9d3399742238

#11 Updated by IoT scm about 2 years ago

Gerrit Merge Information
ID Project Branch Uploader
202717 general/platform/vendor/thundercomm/apps/RemoteControlServer Pre_figure_turbox-c2130c-la1.1-qssi12-dev
AF:RemoteControl: Server - Abandon too frequently screensaver event
1.Abandon too frequently screensaver event
TC-RID: 1201-0206001
IssueID: TS-R-BUG-118206
Change-Id: I210bba324b47fbc8a607bd4e46edab37cabfaee2

#12 Updated by IoT scm about 2 years ago

Gerrit Merge Information
ID Project Branch Uploader
202724 general/platform/vendor/thundercomm/apps/RemoteControlClients Pre_figure_turbox-c2130c-la1.1-qssi12-dev
AF:RemoteControl: Android - Abandon too frequently key event
1.Abandon too frequently key event
TC-RID: 1201-0206002
IssueID: TS-R-BUG-118206
Change-Id: I71eb6884d10f9e4ecc0781974ea3d0b6408c1ca5

#13 Updated by CD FW-程天颖 about 2 years ago

  • Assignee changed from CD FW-程天颖 to CD APP-王营
  • % Done changed from 10 to 30

遥控器已修改

#14 Updated by CD FW-程天颖 about 2 years ago

  • Status changed from ASSIGNED to RESOLVED
  • Assignee changed from CD APP-王营 to CDTS_TEST 王成
  • Resolution changed from -- to FIXED
  • Fixed Version set to 2023-05-26

■ Current conclusion
bug已解决
■ My analysis
屏保未完全打开时关闭屏保,导致状态出现异常无法关闭
解决方案:
1.遥控器限制key事件的频率
2.屏保服务在屏保未完全打开时禁止关闭屏保
■Submit URL
https://dev.thundercomm.com/gerrit/c/general/platform/frameworks/base/+/202720
https://dev.thundercomm.com/gerrit/c/general/platform/vendor/thundercomm/apps/RemoteControlClients/+/202724
https://dev.thundercomm.com/gerrit/c/general/platform/vendor/thundercomm/apps/RemoteControlServer/+/202717

#15 Updated by CD FW-程天颖 about 2 years ago

  • % Done changed from 30 to 100
  • Degrated changed from -- to No
  • Root cause set to 屏保未完全打开时关闭屏保,导致状态出现异常无法关闭

#16 Updated by IoT scm about 2 years ago

Gerrit Merge Information
ID Project Branch Uploader
202823 general/platform/vendor/thundercomm/apps/RemoteControlClients Pre_figure_turbox-c2130c-la1.1-qssi12-dev
AF:RemoteControl: iOS - Add TOO FREQUENTLY error code support.
TC-RID: 1201-0206003
IssueID: TS-R-BUG-118206
Change-Id: I1ff3bfabad401604595af690f565c26ee02c2e52

#17 Updated by 物联网测试组_CDTS 唐霞 about 2 years ago

  • Status changed from RESOLVED to NEED_INFO

客户提供的账号15101135968/123456
使用FlatBuild_HH_MCE_FSE.M.D.user.01.00.C103.202305270101版本验证20次未复现

#18 Updated by 物联网测试组_CDTS 唐霞 about 2 years ago

  • Status changed from NEED_INFO to RESOLVED

#19 Updated by CD TEST-方永红 about 2 years ago

  • Status changed from RESOLVED to VERIFIED

6.2
暂未复现,先关闭

#20 Updated by CD TEST-方永红 about 2 years ago

  • Status changed from VERIFIED to CLOSED

Also available in: Atom PDF