-
Notifications
You must be signed in to change notification settings - Fork 349
Description
Describe the bug
When running multiple pause release ,dai_report_xrun(): underrun due to no data available happened with xrun recovery failed and pipeline stopped.
This happened on multiple nocodec platforms including CML_RVP_NOCODEC , JSL_RVP_NOCODEC , TGLU_RVP_NOCODEC ,APL_UP2_NOCODEC , ADLP_RVP_NOCODEC ,etc , since 2021-11-13 (inner daily result 8155)
To Reproduce
TPLG=/lib/firmware/intel/sof-tplg/sof-cnl-nocodec.tplg MODEL=CML_RVP_NOCODEC ~/sof-test/test-case/multiple-pause-resume.sh -r 25
Reproduction Rate
Not 100% but can be seen on more than 2 platforms in every daily result after Nov 13
BTW , increase the parameter -r from 25 to 100 may increase the reproduction rate
Environment
Start Time: 2021-11-12 21:26:21 UTC
End Time: 2021-11-13 00:01:58 UTC
Kernel Branch: topic/sof-dev
Kernel Commit: 66bd4e2a
SOF Branch: main
SOF Commit: 9451716
Zephyr Branch: main
Zephyr Commit: 6aa783ed6ac2
Screenshots or console output
Take CML_RVP_NOCODEC as an example
[console]
(22/25) pcm'Port0' cmd'aplay' id'2': Wait for 41 ms before resume
aplay: pcm_write:2061: aplay: pcm_write:2061: write error: Input/output error
write error: Input/output error
2021-11-12 22:32:24 UTC [REMOTE_INFO] pipeline: Port0 with aplay
2021-11-12 22:32:24 UTC [REMOTE_INFO] pipeline: Port0 Deep Buffer with aplay
2021-11-12 22:32:24 UTC [REMOTE_INFO] Check expect exit status
[etrace]
[ 374022631.908509] ( 3783752.750000) c0 dma-trace src/lib/wait.c:51 ERROR poll timeout reg 487496 mask 63 val 0 us 937
[ 377827749.413557] ( 3805117.500000) c0 dma-trace src/lib/wait.c:51 ERROR poll timeout reg 487496 mask 63 val 0 us 937
[ 377866378.734939] ( 38629.320312) c0 dma-trace src/lib/wait.c:51 ERROR poll timeout reg 488520 mask 63 val 0 us 937
[ 381656506.969750] ( 3790128.250000) c0 dma-trace src/lib/wait.c:51 ERROR poll timeout reg 487496 mask 63 val 0 us 937
[ 385007707.722002] ( 3351200.750000) c0 dma-trace src/drivers/dw/dma.c:1114 ERROR dw_dma_get_data_size(): xrun detected
[ 385007726.367834] ( 18.645832) c0 dma-trace src/audio/dai.c:879 ERROR dai_report_xrun(): underrun due to no data available
[ 385007739.180334] ( 12.812499) c0 dma-trace src/audio/dai.c:727 ERROR comp_underrun(): dev->comp.id = 2, source->avail = 768, copy_bytes = 0
[ 385007785.482415] ( 46.302082) c0 dma-trace ....../pipeline-stream.c:134 ERROR pipeline_copy(): ret = -61, start->comp.id = 2, dir = 1
[ 385007798.659498] ( 13.177083) c0 dma-trace ..../pipeline-schedule.c:160 ERROR pipeline_task(): xrun recovery failed! pipeline is stopped.
[ 385770207.327119] ( 762408.687500) c0 dma-trace src/drivers/dw/dma.c:1114 ERROR dw_dma_get_data_size(): xrun detected
[ 385770226.233368] ( 18.906250) c0 dma-trace src/audio/dai.c:879 ERROR dai_report_xrun(): underrun due to no data available
[ 385770239.150035] ( 12.916666) c0 dma-trace src/audio/dai.c:727 ERROR comp_underrun(): dev->comp.id = 2, source->avail = 768, copy_bytes = 0
[ 385770273.629200] ( 34.479164) c0 dma-trace ....../pipeline-stream.c:134 ERROR pipeline_copy(): ret = -61, start->comp.id = 2, dir = 1
[ 385770286.962533] ( 13.333333) c0 dma-trace ..../pipeline-schedule.c:160 ERROR pipeline_task(): xrun recovery failed! pipeline is stopped.