Bug #117647
测试 Test-ST #113421: V4.0功能与专项测试
测试 Test-ST #113422: V4.0专项--AF专项--monkey测试
【AF】【EVT3】【Monkey】Monkey测试24小时,出现CRASH: com.android.gallery3d(2)
Status: | CLOSED | Start date: | 2023-04-24 | |
---|---|---|---|---|
Priority: | High | Due date: | ||
Assignee: | CD TEST-方永红 | % Done: | 100% | |
Category: | CD-APP | |||
Target version: | - | |||
Need_Info: | -- | Found Version: | FlatBuild_HH_MCE_FSE.M.D.user.01.00.C103(X103).202304220234 | |
Resolution: | FIXED | Degrated: | No | |
Severity: | Critical | Verified Version: | FlatBuild_HH_MCE_FSE.M.R.user.01.00.0095.C103(X103) | |
Reproducibility: | Every time | Fixed Version: | 2023-04-25 | |
Test Type: | Monkey Test | Root cause: | AOSP问题 |
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 172800 2>/sdcard/error.txt 1>/sdcard/info.txt
【错误信息】
// CRASH: com.android.gallery3d (pid 4430) // Short Msg: java.lang.IllegalStateException // Long Msg: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState // Build Label: HiPhi/PassengerDisplay_CN/PassengerDisplay:12/SKQ1.220201.001/2962:user/test-keys // Build Changelist: 2962 // Build Time: 1682107785000 // java.lang.RuntimeException: Unable to stop activity {com.android.gallery3d/com.android.gallery3d.filtershow.FilterShowActivity}: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState // at android.app.ActivityThread.callActivityOnStop(ActivityThread.java:5157) // at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:5129) // at android.app.ActivityThread.handleStopActivity(ActivityThread.java:5194) // at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:234) // at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201) // at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173) // at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97) // at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2211) // 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.IllegalStateException: Can not perform this action after onSaveInstanceState // at androidx.fragment.app.FragmentManager.checkStateLoss(FragmentManager.java:1864) // at androidx.fragment.app.FragmentManager.enqueueAction(FragmentManager.java:1904) // at androidx.fragment.app.BackStackRecord.commitInternal(BackStackRecord.java:329) // at androidx.fragment.app.BackStackRecord.commit(BackStackRecord.java:294) // at com.android.gallery3d.filtershow.category.MainPanel.showImageStatePanel(MainPanel.java:297) // at com.android.gallery3d.filtershow.category.MainPanel.onCreateView(MainPanel.java:127) // at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2953) // at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:494) // at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:258) // at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2209) // at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2120) // at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2022) // at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3244) // at androidx.fragment.app.FragmentManager.dispatchStop(FragmentManager.java:3202) // at androidx.fragment.app.FragmentController.dispatchStop(FragmentController.java:295) // at androidx.fragment.app.FragmentActivity.onStop(FragmentActivity.java:495) // at android.app.Instrumentation.callActivityOnStop(Instrumentation.java:1497) // at android.app.Activity.performStop(Activity.java:8324) // at android.app.ActivityThread.callActivityOnStop(ActivityThread.java:5149) // ... 14 more //
History
#1 Updated by CD APP-王营 about 2 years ago
- % Done changed from 0 to 30
■ Current conclusion
问题已修复,待验证
■ My analysis
问题原因: 因为 onSaveInstanceState方法 是在该Activity即将被销毁前调用,来保存Activity数据的,如果在保存完状态后再用commit方法添加Fragment会抛出异常
解决办法:把commit()方法替换成 commitAllowingStateLoss()
■Submit URL
https://dev.thundercomm.com/gerrit/c/general/platform/packages/apps/Gallery2/+/195864
#2 Updated by IoT scm about 2 years ago
ID | Project | Branch | Uploader |
195864 | general/platform/packages/apps/Gallery2 | Pre_figure_turbox-c2130c-la1.1-qssi12-dev | ying.wang@thundersoft.com |
AF: Gallery: Fix monkey crash TC-RID: 0301-0300701 IssueID: TS-R-BUG-117647 Change-Id: Ia839df502f81bf9a9e8f5e38daa73f173f802fa8 |
#3 Updated by CD APP-王营 about 2 years ago
- Status changed from New to RESOLVED
- Assignee changed from CD APP-王营 to CD TEST-方永红
- % Done changed from 30 to 100
- Resolution changed from -- to FIXED
- Degrated changed from -- to No
- Fixed Version set to 2023-04-25
- Root cause set to AOSP问题
#4 Updated by CD TEST-方永红 about 2 years ago
4.25
24日版本冒烟失败,待今日跑测后更新
#5 Updated by CD TEST-方永红 about 2 years ago
4.27
0094及26号DB版本未复现、继续跟踪一个版本
#6 Updated by CD TEST-方永红 about 2 years ago
- Status changed from RESOLVED to VERIFIED
- Verified Version set to FlatBuild_HH_MCE_FSE.M.R.user.01.00.0095.C103(X103)
5.5
0095及0097版本未复现
先关闭
#7 Updated by CD TEST-方永红 about 2 years ago
- Status changed from VERIFIED to CLOSED