Repository navigation
[BUG] Xrun on ADP_RVP_NOCODEC #5469
Copy link
Copy link
Closed
Labels
ADLApplies to Alder Lake platformApplies to Alder Lake platformP2Critical bugs or normal featuresCritical bugs or normal featuresTGLApplies to Tiger LakeApplies to Tiger LakebugSomething isn't working as expectedSomething isn't working as expectedxrunXRUN is observed and firmware may not recoverXRUN is observed and firmware may not recover
Milestone
Description
Describe the bug
(4/5) pcm'Port0' cmd'aplay' id'2': Wait for 22 ms before resume
aplay: pcm_write:2086: write error: Input/output error
#+ | 00%
=== PAUSE ===
(5/5) pcm'Port0 Deep Buffer' cmd'aplay' id'8': Wait for 39 ms before pause
(5/5) pcm'Port0 Deep Buffer' cmd'aplay' id'8': Wait for 47 ms before resume
2022-03-03 20:13:04 UTC [REMOTE_INFO] pipeline: Port0 with aplay
2022-03-03 20:13:04 UTC [REMOTE_INFO] pipeline: Port0 Deep Buffer with aplay
2022-03-03 20:13:04 UTC [REMOTE_INFO] Check expect exit status
declare -- cmd="journalctl_cmd --since=@1646338352"
2022-03-03 20:13:04 UTC [REMOTE_ERROR] pause resume PID 6074 had non-zero exit status
2022-03-03 20:13:04 UTC [REMOTE_ERROR] Starting func_exit_handler(), exit status=1, FUNCNAME stack:
2022-03-03 20:13:04 UTC [REMOTE_ERROR] die() @ /home/ubuntu/sof-test/test-case/../case-lib/lib.sh
2022-03-03 20:13:04 UTC [REMOTE_ERROR] main() @ /home/ubuntu/sof-test/test-case/multiple-pause-resume.sh:191
2022-03-03 20:13:04 UTC [REMOTE_INFO] Starting /usr/local/bin/sof-logger -l /etc/sof/sof-adl.ldc -o /home/ubuntu/sof-test/logs/multiple-pause-resume/2022-03-03-20:12:40-25145/etrace.txt
2022-03-03 20:13:07 UTC [REMOTE_INFO] pkill -TERM sof-logger
Terminated
2022-03-03 20:13:08 UTC [REMOTE_INFO] nlines=47 /home/ubuntu/sof-test/logs/multiple-pause-resume/2022-03-03-20:12:40-25145/etrace.txt
2022-03-03 20:13:08 UTC [REMOTE_INFO] Test Result: FAIL!
To Reproduce
TPLG=/lib/firmware/intel/sof-tplg/sof-adl-nocodec.tplg MODEL=ADLP_RVP_NOCODEC ~/sof-test/test-case/multiple-pause-resume.sh -l 3 -r 5
Reproduction Rate
unclear, just observed this issue.
Expected behavior
No Xrun
Impact
showstopper.
Environment
Linux: 2528d9538dfd ASoC: SOF: sof-client: Allow the message injector for IPC4 as well
SOF: c42ede6 topology: sof-adl-max98360a-rt5682-waves: add new topology
- Name of the topology file
- Topology: sof-adl-nocodec.tplg
- Name of the platform(s) on which the bug is observed.
- Platform: ADL_RVP_NOCODEC
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
ADLApplies to Alder Lake platformApplies to Alder Lake platformP2Critical bugs or normal featuresCritical bugs or normal featuresTGLApplies to Tiger LakeApplies to Tiger LakebugSomething isn't working as expectedSomething isn't working as expectedxrunXRUN is observed and firmware may not recoverXRUN is observed and firmware may not recover
Activity
plbossart commentedon Mar 4, 2022
@lgirdwood this needs to be on your radar for 2.1
marc-hb commentedon Mar 10, 2022
P1 because it was one of the most common failures in daily run 10879, reproduced on 3 ADL and 1 TGL system (10879?model=TGLH_RVP_NOCODEC_ZEPHYR&testcase=multiple-pause-resume-50)
There were a number of underruns in that test run, see example below.
I noticed
a mixer in the middle of a pipeline on all failing systems. Is this an unsupported configuration and problem similar to this?Should some pipelines be skipped like this?mengdonglin commentedon Mar 10, 2022
Comments by @keqiaozhang "this issue has affected all ADLP and TGLU/H nocodec platforms. The reproduction rate has become extremely high now. " on 2022-03-09 UTC, report ID 10879. Both XTOS and Zephyr can reproduce this issue.
lgirdwood commentedon Mar 10, 2022
@keqiaozhang is there a bisect ? I'm trying to think of any recent pipeline or DMA changes, but it could be something else unrelated.
kv2019i commentedon Mar 10, 2022
I now reproduced this once. Seems like the mixer is not working properly after a paused->active transition. We can see components both side of the mixer complaining that data is not moving although mixer is in active state:
12 remaining items
kv2019i commentedon Mar 29, 2022
This issue still exists in Intel daily plan 11433, so the fix to #5556 has no impact to this case (this is expected).
kv2019i commentedon Mar 29, 2022
Returned to this issue today. I have found two issues -- first is a mixer logic issue related to how it handles its sources switching state to PAUSED in high frequency. Another issue relates to doing PIPE_FREE on a pipe that has a mixer and is running on non-primary core. Fixes are fairly rough with a performance hit to other cases, so some development time is still needed before these can be submitted for review.
pipeline: do not reschedule pipe task if already in target state
ipc: run buffer free in context of active pipeline
pipeline: do not reschedule pipe task if already in target state
ipc: run buffer free in context of active pipeline
kv2019i commentedon Apr 8, 2022
Multiple PRs merged to addres sthis bug, but #5628 is still open (and under work).
mixer: add logic to maintain data flow when sources are paused
kv2019i commentedon Apr 14, 2022
All patches merged for XTOS builds. For Zephyr builds I still have one patch in the works, but this is harder to hit. Let's monitor test results and close the bug if failure not seen.
keqiaozhang commentedon Apr 18, 2022
haven't seen this issue in CI for 10 days, closing this bug.