Bug #115240

测试 Test-IT #110961: V2.0功能测试

测试 Test-IT #111046: AF-V2.0-系统手势

【AF】【EVT2】【系统手势】应用中频繁通过五指抓手势返回桌面时,com.android.launcher3出现crash【2/5】

Added by CD Test赵飞 over 2 years ago. Updated over 2 years ago.

Status:CLOSEDStart date:2023-01-11
Priority:HighDue date:2023-01-13
Assignee:CD Test赵飞% Done:

100%

Category:CD-FW
Target version:-
Need_Info:-- Found Version:FlatBuild_HH_VX1_MCE_FSE.M.D.user.01.00.X101.202301110536
Resolution:FIXED Degrated:No
Severity:Major Verified Version:
Reproducibility:Frequently Fixed Version:2023-01-16
Test Type:ST Root cause:修复了空指针异常

Description

【前提条件】
1、设备已开机

【测试步骤】
1、打开任意应用
2、在屏幕上做五指抓手势
3、重复步骤1~2

【预期结果】
3、页面正常返回至桌面,无其他异常

【实际结果】
3、com.android.launcher3出现crash

logcat.txt Magnifier (5.05 MB) CD Test赵飞, 2023-01-11 14:24

History

#1 Updated by CD FW 曹覃刚 over 2 years ago

  • Category changed from CD-FW to CD-APP
  • Assignee changed from CD FW 曹覃刚 to CD APP-王营

Hi 王营
帮忙先一次分析一下,Launcher崩溃了
01-11 07:27:12.059 E/AndroidRuntime( 2583): FATAL EXCEPTION: main
01-11 07:27:12.059 E/AndroidRuntime( 2583): Process: com.android.launcher3, PID: 2583
01-11 07:27:12.059 E/AndroidRuntime( 2583): java.lang.NullPointerException: Attempt to read from field 'android.content.Intent android.app.TaskInfo.baseIntent' on a null object reference
01-11 07:27:12.059 E/AndroidRuntime( 2583): at com.android.quickstep.TouchInteractionService.newBaseConsumer(TouchInteractionService.java:739)
01-11 07:27:12.059 E/AndroidRuntime( 2583): at com.android.quickstep.TouchInteractionService.newConsumer(TouchInteractionService.java:660)
01-11 07:27:12.059 E/AndroidRuntime( 2583): at com.android.quickstep.TouchInteractionService.onInputEvent(TouchInteractionService.java:557)
01-11 07:27:12.059 E/AndroidRuntime( 2583): at com.android.quickstep.TouchInteractionService.$r8$lambda$QnySfMPM3HQvC_OREg1W70p37mY(Unknown Source:0)
01-11 07:27:12.059 E/AndroidRuntime( 2583): at com.android.quickstep.TouchInteractionService$$ExternalSyntheticLambda4.onInputEvent(Unknown Source:2)
01-11 07:27:12.059 E/AndroidRuntime( 2583): at com.android.systemui.shared.system.InputChannelCompat$InputEventReceiver$1.onInputEvent(InputChannelCompat.java:74)
01-11 07:27:12.059 E/AndroidRuntime( 2583): at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:260)
01-11 07:27:12.059 E/AndroidRuntime( 2583): at android.os.MessageQueue.nativePollOnce(Native Method)
01-11 07:27:12.059 E/AndroidRuntime( 2583): at android.os.MessageQueue.next(MessageQueue.java:335)
01-11 07:27:12.059 E/AndroidRuntime( 2583): at android.os.Looper.loopOnce(Looper.java:161)
01-11 07:27:12.059 E/AndroidRuntime( 2583): at android.os.Looper.loop(Looper.java:288)
01-11 07:27:12.059 E/AndroidRuntime( 2583): at android.app.ActivityThread.main(ActivityThread.java:7880)
01-11 07:27:12.059 E/AndroidRuntime( 2583): at java.lang.reflect.Method.invoke(Native Method)
01-11 07:27:12.059 E/AndroidRuntime( 2583): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
01-11 07:27:12.059 E/AndroidRuntime( 2583): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1009)

#2 Updated by CD APP-王营 over 2 years ago

  • Due date set to 2023-01-13
  • Status changed from New to ASSIGNED

#3 Updated by CD APP-王营 over 2 years ago

  • Category changed from CD-APP to CD-FW
  • Assignee changed from CD APP-王营 to CD FW 曹覃刚

石豪在修改手势的时候添加这部分代码导致异常,请排查一下这里的实现逻辑

TouchInteractionService.java

private InputConsumer newBaseConsumer(GestureState previousGestureState,
GestureState gestureState, MotionEvent event) {
...

if (event.getPointerCount() == LIMIT_FINGERS_MIN) {
ComponentName homeComponent = mOverviewComponentObserver.getHomeIntent().getComponent();
ComponentName runningComponent =
gestureState.getRunningTask().baseIntent.getComponent();
if (runningComponent != null && runningComponent.equals(homeComponent)) {
return getDefaultInputConsumer();
}
}
...
}

#4 Updated by IoT scm over 2 years ago

Gerrit Merge Information
ID Project Branch Uploader
176534 general/platform/packages/apps/Launcher3 Pre_figure_turbox-c2130c-la1.1-qssi12-dev
AF:Five Pointer Gesture:Fix pointer exception
TC-RID: 1201-0205203
IssueID: TS-R-BUG-115240
Change-Id: I5c464f0161cde90338abd0c7418665ea6b041269

#5 Updated by CD FW 曹覃刚 over 2 years ago

  • Status changed from ASSIGNED to RESOLVED
  • Assignee changed from CD FW 曹覃刚 to CD Test赵飞
  • % Done changed from 0 to 100
  • Resolution changed from -- to FIXED
  • Degrated changed from -- to No
  • Fixed Version set to 2023-01-16
  • Root cause set to 修复了空指针异常

Hi 飞哥
我们本身没能复现这个问题,但是从代码层面处理了这个异常,并自行测试了50次,是OK的
请帮助验证一下,如果有其他的异常,请注意问题发生的条件,非常感谢

#6 Updated by CD Test赵飞 over 2 years ago

  • % Done changed from 100 to 70

1月31号release版本未复现
偶现问题,继续跟踪2个版本

#7 Updated by CD Test赵飞 over 2 years ago

2月1号DB版本未复现
偶现问题,继续跟踪1个版本

#8 Updated by CD Test赵飞 over 2 years ago

  • Status changed from RESOLVED to VERIFIED
  • % Done changed from 70 to 80

2月3号DB版本未复现
关闭此问题

#9 Updated by CD Test赵飞 over 2 years ago

  • Status changed from VERIFIED to CLOSED
  • % Done changed from 80 to 100

Also available in: Atom PDF