Bug #115817
测试 Test-ST #113421: V4.0功能与专项测试
测试 Test-ST #113422: V4.0专项--AF专项--monkey测试
【AF】【EVT2】【Monkey】Monkey测试6小时,出现CRASH: com.android.music
Status: | CLOSED | Start date: | 2023-02-03 | |
---|---|---|---|---|
Priority: | Normal | Due date: | 2023-02-15 | |
Assignee: | CD Test赵飞 | % Done: | 100% | |
Category: | CD-APP | |||
Target version: | - | |||
Need_Info: | -- | Found Version: | FlatBuild_HH_VX1_MCE_FSE.M.R.user.01.00.0071.X101 | |
Resolution: | FIXED | Degrated: | -- | |
Severity: | Normal | Verified Version: | ||
Reproducibility: | Frequently | Fixed Version: | ||
Test Type: | Monkey Test | Root cause: | 原因是Music应用每次播放会创建一个mediasession,跑Monkey的时候创建太多了,超过了系统限制的100个。导致无法创建后应用crash。改法是用一个全局变量,在服务运行期间只创建一个。 |
Description
【执行命令】
adb shell
monkey --pkg-blacklist-file /sdcard/blacklist.txt --ignore-crashes --ignore-timeouts --ignore-security-exceptions --monitor-native-crashes --ignore-native-crashes -s 20 --throttle 500 --pct-touch 30 --pct-motion 15 --pct-nav 15 --pct-majornav 15 --pct-syskeys 5 --pct-appswitch 10 --pct-anyevent 10 --ignore-crashes -v -v -v 43200 2>/sdcard/error.txt 1>/sdcard/info.txt
【错误信息】
// CRASH: com.android.music (pid 9222) // Short Msg: java.lang.NullPointerException // Long Msg: java.lang.NullPointerException: Attempt to invoke interface method 'android.media.session.ISessionController android.media.session.ISession.getController()' on a null object reference // Build Label: TC/figure_CN/figure:12/SKQ1.220201.001/1933:user/test-keys // Build Changelist: 1933 // Build Time: 1675275913000 // java.lang.RuntimeException: Unable to start service com.android.music.MediaPlaybackService@c203046 with Intent { cmp=com.android.music/.MediaPlaybackService }: java.lang.NullPointerException: Attempt to invoke interface method 'android.media.session.ISessionController android.media.session.ISession.getController()' on a null object reference // at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4658) // at android.app.ActivityThread.access$2000(ActivityThread.java:248) // at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2092) // at android.os.Handler.dispatchMessage(Handler.java:106) // at android.os.Looper.loopOnce(Looper.java:201) // at android.os.Looper.loop(Looper.java:288) // at android.app.ActivityThread.main(ActivityThread.java:7880) // at java.lang.reflect.Method.invoke(Native Method) // at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) // at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1009) // Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'android.media.session.ISessionController android.media.session.ISession.getController()' on a null object reference // at android.media.session.MediaSession.<init>(MediaSession.java:207) // at android.media.session.MediaSession.<init>(MediaSession.java:163) // at com.android.music.MediaPlaybackService.updateNotificationMediaStyle(MediaPlaybackService.java:1987) // at com.android.music.MediaPlaybackService.updateNotification(MediaPlaybackService.java:1817) // at com.android.music.MediaPlaybackService.onStartCommand(MediaPlaybackService.java:1023) // at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4640) // ... 9 more //
History
#1 Updated by CD APP-王营 over 2 years ago
- Due date set to 2023-02-04
- Status changed from New to ASSIGNED
#2 Updated by CD Test赵飞 over 2 years ago
- Subject changed from 【AF】【EVT2】【Monkey】Monkey测试10小时,出现CRASH: com.android.music to 【AF】【EVT2】【Monkey】Monkey测试6小时,出现CRASH: com.android.music
#3 Updated by CD APP-王营 over 2 years ago
- Due date changed from 2023-02-04 to 2023-02-07
- Assignee changed from CD APP-王营 to CD BSP何伟
■ Current conclusion
分析中,转到MM同事进行分析
■ My analysis
从Log中分析可知MediaPlaybackService服务启动失败,向上分析原因在MediaSession.java:207出现了空指针异常,具体代码路径如下
mBinder创建失败。
■ Next action
请Media同事分析一下空指针产生的原因。
#4 Updated by CD BSP何伟 over 2 years ago
从日志中分析是创建的mediasession超过了上限100,可能存在没有及时释放的问题
MediaSessionService: java.lang.RuntimeException: Created too many sessions. count=100)
下一步需要分析session的使用逻辑
#5 Updated by CD TPM-王祥林 over 2 years ago
- Due date changed from 2023-02-07 to 2023-02-15
- Assignee changed from CD BSP何伟 to CD TPM-王祥林
#6 Updated by CD TPM-王祥林 over 2 years ago
- Status changed from ASSIGNED to NEED_INFO
- Assignee changed from CD TPM-王祥林 to CD Test赵飞
赵飞
目前修改了一版,编了VB。本地跑了12个小时没有复现。
https://dev.thundercomm.com/gerrit/c/general/platform/packages/apps/SnapdragonMusic/+/180351
用这个VB跑一下试试。
/Figure/VerifyBuild/Pre_figure_turbox-c2130c-la1.1-qssi12-dev/20230208/202302081544-136
#7 Updated by CD Test赵飞 over 2 years ago
- Status changed from NEED_INFO to ASSIGNED
- Assignee changed from CD Test赵飞 to CD TPM-王祥林
如飞书沟通,VB版本执行约6H,没有复现此问题
#8 Updated by IoT scm over 2 years ago
ID | Project | Branch | Uploader |
180351 | general/platform/packages/apps/SnapdragonMusic | Pre_figure_turbox-c2130c-la1.1-qssi12-dev | wangxl0510@thundersoft.com |
AF: SnapdragonMusic: Fix Music application crash in monkey test. Created too many sessions(count>100) over the max value, then create fail and return NULL. TC-RID: 1201-0301201 IssueID: TS-R-BUG-115817 Change-Id: I76ba3a7d655ac19d84b99df8d70b7de35f4e70b0 |
#9 Updated by CD TPM-王祥林 over 2 years ago
- Status changed from ASSIGNED to RESOLVED
- Assignee changed from CD TPM-王祥林 to CD Test赵飞
- Resolution changed from -- to FIXED
- Root cause set to 原因是Music应用每次播放会创建一个mediasession,跑Monkey的时候创建太多了,超过了系统限制的100个。导致无法创建后应用crash。改法是用一个全局变量,在服务运行期间只创建一个。
#10 Updated by CD Test赵飞 over 2 years ago
- % Done changed from 0 to 70
2/14号release版本未复现此问题
Monkey问题,继续跟踪2个版本
#11 Updated by CD Test赵飞 over 2 years ago
2/15号DB版本未复现此问题
Monkey问题,继续跟踪1个版本
#12 Updated by CD Test赵飞 over 2 years ago
- Status changed from RESOLVED to VERIFIED
- % Done changed from 70 to 100
2/16 release版本未复现此问题
已跟踪3个版本未复现,关闭此问题
#13 Updated by CD Test赵飞 over 2 years ago
- Status changed from VERIFIED to CLOSED