Repository navigation
Description
Rarely, the sof-logger dies like this at the very start of a test:
https://sof-ci.01.org/sofpr/PR5340/build11976/devicetest/?model=TGLU_UP_HDA_ZEPHYR&testcase=test-speaker
error: Invalid filename length 1650680879 or ldc file does not match firmware
error: read_entry_from_ldc_file(0x25007) returned -22
error: fetch_entry() failed with: -22, aborting
This happens in about 1 out 50 test runs.
The dictionary is valid because other tests immediately before and after are fine in the exact same configuration.
While the "sof-logger was already dead" error message is in the end the same as #5120 (which was hiding this bug), the symptoms are extremely different.
This caused a number of failures in recent daily runs 10079, 10105 and 10146. It seems Zephyr specific. It's not clear why it's even more rare in PR testing.
10079?model=TGLU_UP_HDA_ZEPHYR&testcase=volume-basic-test-50
10079?model=WHL_UPEXT_HDA_ZEPHYR&testcase=multiple-pipeline-capture-50
10105?model=APL_UP2_NOCODEC_ZEPHYR&testcase=multiple-pipeline-playback-50
10146?model=APL_UP2_NOCODEC_ZEPHYR&testcase=check-capture-50rounds
10146?model=APL_UP2_NOCODEC_ZEPHYR&testcase=multiple-pause-resume-50
10146?model=TGLH_RVP_NOCODEC_ZEPHYR&testcase=check-xrun-injection-playback-10
Daily run 10079:
Start Time: 2022-02-09 22:27:36 UTC
Kernel Branch: topic/sof-dev
Kernel Commit: 8bf95cb0
SOF Branch: main
SOF Commit: 9983ab67a9fe
Zephyr Commit: 41a63f48fdc8
DMA alignment fix c11562b for #5120 was between 10079 and 10105
Daily run 10105 was:
Start Time: 2022-02-10 22:27:29 UTC
Kernel Branch: topic/sof-dev
Kernel Commit: 936898a6
SOF Branch: main
SOF Commit: 443b21de4b3f
Zephyr Commit: 5094a6e08cee
Daily run 10146 was:
Kernel Branch: topic/sof-dev
Kernel Commit: 98119478
SOF Branch: main
SOF Commit: b8954754f055
Zephyr Commit: v3.0.0-rc3
Activity
marc-hb commentedon Feb 12, 2022
P1 because it affects PR and daily testing.
@kv2019i could this be related to thesofproject/linux#3275
@jsarha any clue now that you're an expert after fixing #5120?
[-][BUG] sof-logger dead: Invalid filename length 1650680879 or ldc file does not match firmware[/-][+][BUG] [ZEPHYR] sof-logger dead: Invalid filename length 1650680879 or ldc file does not match firmware[/+]lgirdwood commentedon Feb 14, 2022
1650680879 == 0x6263642F == "bcd/" So it looks like we are reading a header? as length.
marc-hb commentedon Feb 14, 2022
I don't think so, the values seem fairly random. Here's a sample of a few different failures:
marc-hb commentedon Feb 19, 2022
Something strange happened in the middle of a test on WHL:
https://sof-ci.01.org/softestpr/PR862/build985/devicetest/?model=WHL_UPEXT_HDA_ZEPHYR&testcase=check-suspend-resume-with-playback-5
jsarha commentedon Feb 21, 2022
This does not appear to happen on my TGL board. I have now run test-speaker.sh 730 times (had it running in a loop over night) on Zephyr build of the latest https://github.com/thesofproject/sof main.
marc-hb commentedon Feb 22, 2022
TGL does not seem to reproduce the most frequently and test-speaker neither. Do you have an APL board?
I would also recommend reloading the firmware regularly, just an intuition based on staring at a lot of failures recently. https://github.com/thesofproject/sof-test/tree/main/tools/kmod works great.
EDIT: seen again in daily 10429
Start Time: 2022-02-22 22:27:21 UTC
Kernel Branch: topic/sof-dev
Kernel Commit: 5b26e39d
SOF Branch: main
SOF Commit: 58ce6e68608f
Zephyr Commit: 8239aea29c16
10429?model=APL_UP2_NOCODEC_ZEPHYR&testcase=multiple-pipeline-all-50
10429?model=TGLH_RVP_NOCODEC_ZEPHYR&testcase=check-xrun-injection-playback-10
10429?model=TGLH_RVP_NOCODEC_ZEPHYR&testcase=multiple-pipeline-capture-50
keqiaozhang commentedon Feb 23, 2022
@jsarha,this issue is still valid in CI, we see this issue almost every day in "CI daily test(Today's test ID:10429)".
For TGL platform, maybe you can test with check-xrun-injection.sh.
1 remaining item
mengdonglin commentedon Feb 28, 2022
Lower priority to P2, as we're going to abandon DMA-based SOF trace and use Zephyr native LOG implementation. Zephyr native LOG implementation will probably fix this problem.
marc-hb commentedon Feb 28, 2022
Unlike bug severity, priority is never "objectively" defined with specified metrics. Priority can be defined in many different, project-specific ways based on various inputs and preferences. However I don't think I've seen the implementation details of the fix make any priority difference before.
marc-hb commentedon Mar 9, 2022
Slightly different failure in daily 10797?model=WHL_UPEXT_HDA_ZEPHYR&testcase=check-capture-50rounds
Still happening at the very start of the test.
keqiaozhang commentedon Mar 17, 2022
New failure in daily 11126?modelFirmwareType=SOF-Zephyr&model=ADLP_RVP_SDW_ZEPHYR&testcase=multiple-pipeline-capture-50, happening at the very start of the test.
marc-hb commentedon Apr 1, 2022
More DMA trace corruption with Zephyr, this time not at the very start: https://sof-ci.01.org/sofpr/PR5631/build12594/devicetest/
Downgrade Zephyr DMA trace corruption 5352 to a SKIP
marc-hb commentedon Apr 28, 2022
Downgrading this failure to a SKIP because it's too frequent; too much pollution
Downgrade Zephyr DMA trace corruption 5352 to a SKIP
Downgrade Zephyr DMA trace corruption 5352 to a SKIP
marc-hb commentedon May 11, 2022
This made a huge difference but there are still some failures, typically like this:
https://sof-ci.01.org/sofpr/PR5796/build327/devicetest/?model=CML_RVP_SDW_ZEPHYR&testcase=check-sof-logger
There is only so much DMA corruption you can ignore.
Same in https://sof-ci.01.org/sofpr/PR5266/build399/devicetest/?model=CML_RVP_SDW_ZEPHYR&testcase=check-sof-logger
marc-hb commentedon Jul 26, 2022
Still happening: https://sof-ci.01.org/softestpr/PR943/build110/devicetest/?model=ADLP_RVP_SDW_ZEPHYR&testcase=test-speaker
mengdonglin commentedon Sep 6, 2022
Won't fix cavs tool issue. Will switch to new logging tool.