Bug #118206
【IOVDEV-30153】【内部】【VC1】【0095】【台架】【EE环境】【副屏】遥控器上连续进行屏保按键操作后副屏冻屏
Status: | CLOSED | Start date: | 2023-05-24 | |
---|---|---|---|---|
Priority: | Normal | Due 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
Related issues
History
#1 Updated by CDTS_TEST 王成 about 2 years ago
- File 052402bug2.mp4 added
- File logcat.txt
added
- File event.log.txt
added
#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
ID | Project | Branch | Uploader |
202720 | general/platform/frameworks/base | Pre_figure_turbox-c2130c-la1.1-qssi12-dev | ying.wang@thundersoft.com |
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
ID | Project | Branch | Uploader |
202717 | general/platform/vendor/thundercomm/apps/RemoteControlServer | Pre_figure_turbox-c2130c-la1.1-qssi12-dev | tianying.cheng@thundersoft.com |
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
ID | Project | Branch | Uploader |
202724 | general/platform/vendor/thundercomm/apps/RemoteControlClients | Pre_figure_turbox-c2130c-la1.1-qssi12-dev | tianying.cheng@thundersoft.com |
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
ID | Project | Branch | Uploader |
202823 | general/platform/vendor/thundercomm/apps/RemoteControlClients | Pre_figure_turbox-c2130c-la1.1-qssi12-dev | tao.liao@thundersoft.com |
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
#20 Updated by CD TEST-方永红 about 2 years ago
- Status changed from VERIFIED to CLOSED