| Summary: | AB-INT PTEST RISCV64: tar ptest failure | ||
|---|---|---|---|
| Product: | [QA/Testing] Package Testing (ptest) | Reporter: | João Marcos Costa <joaomarcos.costa> |
| Component: | ptest | Assignee: | Unassigned <unassigned> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Medium | CC: | randy.macleod, richard.purdie, skandigraun |
| Version: | unspecified | ||
| Target Milestone: | 5.3 | ||
| Hardware: | Other | ||
| OS: | other | ||
| Whiteboard: | AB-INT | ||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | Don't know | |
|
Description
João Marcos Costa
2025-06-02 15:04:53 UTC
Let's see how often this happens in the autobuilder. *** Bug 15890 has been marked as a duplicate of this bug. *** https://autobuilder.yoctoproject.org/valkyrie/#/builders/56/builds/87/steps/12/logs/stdio qemuriscv64-ptest rocky9-vk-1 https://autobuilder.yoctoproject.org/valkyrie/#/builders/56/builds/160/steps/12/logs/stdio qemuriscv64-ptest ubuntu2404-vk-1 https://autobuilder.yoctoproject.org/valkyrie/#/builders/56/builds/512/steps/12/logs/stdio qemuriscv64-ptest fedora42-vk-1 https://autobuilder.yoctoproject.org/valkyrie/#/builders/56/builds/578/steps/14/logs/stdio qemuriscv64-ptest opensuse156-vk-1 I was able to reproduce this on my machine (with qemuriscv64), thought the repro rate is around only 5%, and I don't have the slightest idea about the cause yet...
cd /usr/lib/tar/ptest/tests
for i in `seq 20`; do
time ./testsuite -k sparse03
done
This test generates an 8GB sparse file, full of 0s. Then tars it, extracts it, and compares it with the original, using cmp.
One round usually takes 150 seconds on my machine, but every once in a while, without any apparent reason, it takes more than double this time - that's seems to be also when ptest-runner times out.
This test looks sensitive to the overall machine load - I'm a bit surprised that it shows only on qemuriscv64 on AB. On my machine I see this on qemuarm64 too (though it is noticeably faster on arm64 compared to riscv64, it times out much less frequently than on riscv64). The test generates an 8GB sparse file, tars it, untars it, and then it compares the original and extracted versions with cmp - it chews through 16GB of imaginary zeros. It is using a single thread to do so, and when running in qemu without kvm, it does need every CPU cycle it can get to finish in time. I have submitted a patch[1] to use the full version of cmp instead of busybox. In my tests the speedup is noticable: on idle machine it went from 150 seconds to 55. And the test doesn't time out even if I compile clang-native on all CPU cores during execution. (Using the busybox version always timed out with high load, and mid-load caused timeouts occasionally too) [1]: https://lists.openembedded.org/g/openembedded-core/message/225209 Thanks Gyorgy, this does seem to have resolved the issue as we've not seen it since. I think we can therefore close this now, thanks! https://git.openembedded.org/openembedded-core/commit/?id=81f7b60fb1c5096bbc233f632040d1ea9ec5bb21 |