Bug #118800

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

测试 Test-IT #112101: AF-V2.0-Launcher/SystemUI-控制中心

【AF】【EVT3】【控制中心】断开蓝牙迅速调节音量条,短暂出现上划不响应,随后出现系统ANR提示

Added by CD TEST-方永红 about 2 years ago. Updated almost 2 years ago.

Status:CLOSEDStart date:2023-06-15
Priority:NormalDue date:
Assignee:物联网测试组_TSCD 王维% Done:

0%

Category:AUDIO-FW
Target version:-
Need_Info:-- Found Version:0110.C105
Resolution:-- Degrated:--
Severity:Critical Verified Version:0136
Reproducibility:Rarely Fixed Version:
Test Type:ST Root cause:

Description

【问题出现时间】:20230615 16:13

【操作步骤】
1、打开控制中心
2、断开蓝牙
3、调节音量条
4、上划关闭控制中心

【实际结果】
4、短时间(约5秒内),不响应任何手势,随后出现系统ANR提示

1613.txt Magnifier (4.67 MB) CD TEST-方永红, 2023-06-15 16:35

20230615-162255.jpg (79.2 KB) CD TEST-方永红, 2023-06-15 16:35

tlog_iov0201017500006162025411a2212290000002171_000119_0615161554.tar.gz (26.8 MB) CD TEST-方永红, 2023-06-15 16:35

20230615-162255

Related issues

Related to Figure - Bug #118880: 【AF】【EVT3】【IOVDEV-33961】95版本升级最新DB版本后,在控制中心点击音量条无响应,回到桌面一... CLOSED 2023-06-21

History

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

  • Severity changed from Major to Critical

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

  • Category changed from CD-FW to AUDIO-FW
  • Assignee changed from CD FW 曹覃刚 to Multimedia组-RD3_TSCD 梁卿山

■ 我的分析
------------------------------
①主线程在设置音量,与AudioService通信未返回
"main" prio=5 tid=1 Native | group="main" sCount=1 ucsCount=0 flags=1 obj=0x726a9c98 self=0xb400007938199010 | sysTid=1924 nice=-10 cgrp=default sched=0/0 handle=0x7af90ce4f8 | state=S schedstat=( 3385624277 1955848706 11732 ) utm=264 stm=73 core=4 HZ=100 | stack=0x7fd731d000-0x7fd731f000 stackSize=8188KB | held mutexes=
native: #00 pc 00000000000a1c88 /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+8)
native: #01 pc 000000000005b8d4 /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+156)
native: #02 pc 0000000000053070 /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+292)
native: #03 pc 00000000000542ac /system/lib64/libbinder.so (android::IPCThreadState::waitForResponse(android::Parcel*, int*)+64)
native: #04 pc 0000000000053ff0 /system/lib64/libbinder.so (android::IPCThreadState::transact(int, unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+224)
native: #05 pc 000000000004bafc /system/lib64/libbinder.so (android::BpBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+196)
native: #06 pc 0000000000167664 /system/lib64/libandroid_runtime.so (android_os_BinderProxy_transact(_JNIEnv*, _jobject*, int, _jobject*, _jobject*, int)+156)
at android.os.BinderProxy.transactNative(Native method)
at android.os.BinderProxy.transact(BinderProxy.java:571)
at android.media.IAudioService$Stub$Proxy.setStreamVolume(IAudioService.java:3262)
at android.media.AudioManager.setStreamVolume(AudioManager.java:1248)
at com.android.systemui.settings.volume.VolumeController.onChanged(VolumeController.java:97)
at com.android.systemui.settings.volume.VolumeSlide.onStopTrackingTouch(VolumeSlide.java:79)
at android.widget.SeekBar.onStopTrackingTouch(SeekBar.java:127)
at android.widget.AbsSeekBar.onTouchEvent(AbsSeekBar.java:936)
at android.view.View.dispatchTouchEvent(View.java:14541)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
at com.android.systemui.statusbar.phone.NotificationShadeWindowView.dispatchTouchEvent(NotificationShadeWindowView.java:176)
at android.view.View.dispatchPointerEvent(View.java:14800)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6362)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6163)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5641)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5698)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5664)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5829)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5672)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5886)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5645)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5698)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5664)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5672)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5645)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:8585)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:8536)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:8504)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:8718)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:260)
at android.os.MessageQueue.nativePollOnce(Native method)
at android.os.MessageQueue.next(MessageQueue.java:335)
at android.os.Looper.loopOnce(Looper.java:161)
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)

②设置音量在等待lock,被block,锁被tid=94持有
"Binder:1549_7" prio=5 tid=131 Blocked | group="main" sCount=1 ucsCount=0 flags=1 obj=0x13f82fd0 self=0xb4000079382ce6b0 | sysTid=2047 nice=-10 cgrp=default sched=0/0 handle=0x76a3592cb0 | state=S schedstat=( 457984732 326632761 2321 ) utm=31 stm=13 core=4 HZ=100 | stack=0x76a349b000-0x76a349d000 stackSize=991KB | held mutexes=
at com.android.server.audio.AudioService.isStreamMute(AudioService.java:4016)
- waiting to lock <0x0442d432> (a java.lang.Class<com.android.server.audio.AudioService$VolumeStreamState>) held by thread 94
at com.android.server.audio.AudioService.setStreamVolume(AudioService.java:3628)
at com.android.server.audio.AudioService.setStreamVolume(AudioService.java:3386)
at android.media.IAudioService$Stub.onTransact(IAudioService.java:1359)
at android.os.Binder.execTransactInternal(Binder.java:1184)
at android.os.Binder.execTransact(Binder.java:1143)

③tid=94在获取设备,一直没有返回
"AudioService" prio=5 tid=94 Native | group="main" sCount=1 ucsCount=0 flags=1 obj=0x14a41af8 self=0xb4000079382793e0 | sysTid=1859 nice=0 cgrp=default sched=0/0 handle=0x7707787cb0 | state=S schedstat=( 107181432 40594402 1960 ) utm=4 stm=6 core=1 HZ=100 | stack=0x7707684000-0x7707686000 stackSize=1039KB | held mutexes=
native: #00 pc 00000000000a242c /apex/com.android.runtime/lib64/bionic/libc.so (nanosleep+12)
native: #01 pc 00000000000653b4 /apex/com.android.runtime/lib64/bionic/libc.so (usleep+80)
native: #02 pc 00000000000583b0 /system/lib64/libbinder.so (android::ServiceManagerShim::getService(android::String16 const&) const+428)
native: #03 pc 0000000000063368 /system/lib64/libaudioclient.so (android::AudioSystem::get_audio_policy_service() (.cfi)+212)
native: #04 pc 000000000006bcb4 /system/lib64/libaudioclient.so (android::AudioSystem::getDevicesForStream(audio_stream_type_t) (.cfi)+44)
at android.media.AudioSystem.getDevicesForStream(Native method)
at com.android.server.audio.AudioSystemAdapter.getDevicesForStreamImpl(AudioSystemAdapter.java:143)
- locked <0x07c1443d> (a java.util.concurrent.ConcurrentHashMap)
at com.android.server.audio.AudioSystemAdapter.getDevicesForStream(AudioSystemAdapter.java:128)
at com.android.server.audio.AudioService$VolumeStreamState.observeDevicesForStream_syncVSS(AudioService.java:7079)
at com.android.server.audio.AudioService.getDevicesForStreamInt(AudioService.java:6304)
- locked <0x0442d432> (a java.lang.Class<com.android.server.audio.AudioService$VolumeStreamState>)
at com.android.server.audio.AudioService.getDeviceForStream(AudioService.java:6256)
at com.android.server.audio.AudioService.setDeviceVolume(AudioService.java:7667)
- locked <0x0442d432> (a java.lang.Class<com.android.server.audio.AudioService$VolumeStreamState>)
at com.android.server.audio.AudioService$AudioHandler.handleMessage(AudioService.java:7747)
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 com.android.server.audio.AudioService$AudioSystemThread.run(AudioService.java:7577)
------------------------------

■ 下一步计划
需要audio的同事看下第③步被block的原因

#3 Updated by Multimedia组-RD3_TSCD 梁卿山 about 2 years ago

Hi ALL

当前分析:
从日志看binder数量没有出现超出,当前问题是可能在getDevicesForStreamImpl超时导致。
将会调查正常和异常时 getDevicesForStreamImpl的执行时间是否存在差异。

#4 Updated by Multimedia组-RD3_TSCD 梁卿山 about 2 years ago

Hi ALL

增加强化日志后,进行复现,暂时未能复现。

#5 Updated by CDTS_TEST 王成 almost 2 years ago

  • Assignee changed from Multimedia组-RD3_TSCD 梁卿山 to 物联网测试组_TSCD 王维

麻烦复现BUG

#6 Updated by 物联网测试组_TSCD 王维 almost 2 years ago

【复验反馈】未成功复现
【复验版本】0731DB、0801DB、0128、0129
【复现环境】使用的蓝牙耳机漫步者 AirPods 以及新科蓝牙音箱
【复现方法】按操作步骤反复执行,每个版本均验证次数在50次左右;检查过程是否存在异常情况
【复现结果】暂无异常

#7 Updated by 物联网测试组_TSCD 王维 almost 2 years ago

  • Verified Version set to 0805DB

【复验反馈】验证通过
【复验版本】0805DB
【复现环境】使用的蓝牙耳机漫步者 AirPods 以及新科蓝牙音箱
【复现方法】按操作步骤反复执行30次,检查过程是否存在异常情况
【复现结果】暂无异常

#8 Updated by 物联网测试组_TSCD 王维 almost 2 years ago

【复验反馈】验证通过
【复验版本】0136
【复现环境】使用的蓝牙耳机漫步者和新科蓝牙音箱
【复现方法】按操作步骤反复执行30次,检查过程是否存在异常情况
【复现结果】暂无异常

#9 Updated by 物联网测试组_TSCD 王维 almost 2 years ago

已跟踪超过5版本未复现,降低bug等级为正常

#10 Updated by 物联网测试组_TSCD 王维 almost 2 years ago

  • Priority changed from High to Normal

#11 Updated by 物联网测试组_TSCD 王维 almost 2 years ago

  • Verified Version changed from 0805DB to 0136

经测试内部讨论可以关闭

#12 Updated by 物联网测试组_TSCD 王维 almost 2 years ago

  • Status changed from New to RESOLVED

#13 Updated by 物联网测试组_TSCD 王维 almost 2 years ago

  • Status changed from RESOLVED to VERIFIED

#14 Updated by 物联网测试组_TSCD 王维 almost 2 years ago

  • Status changed from VERIFIED to CLOSED

Also available in: Atom PDF