Re: [OE-core] [PATCH V5 1/3] rust: Increase QEMU size to 1024 MB

Deepesh Varatharajan
2025-10-16T07:08:00Z

On 16-10-2025 12:01, Richard Purdie wrote:
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
> On Wed, 2025-10-15 at 02:59 -0700, Varatharajan, Deepesh via lists.openembedded.org wrote:
>> From: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
>>
>> Rightnow rust depends on llvm instead of rust-llvm
>>
>> Setup in rust-llvm
>> CFLAGS:remove = "-g"
>> CXXFLAGS:remove = "-g"
>>
>> Setup in llvm
>> DEBUG_LEVELFLAG = "-g1"
>>
>> As a result, the stage1 compiler crate binaries include debug symbols,
>> increasing their size. These binaries are used to run tests inside QEMU.
>> To accommodate this, increase the QEMU RAM allocation to 1024 MB.
>>
>> Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
>> ---
>> meta/lib/oeqa/selftest/cases/rust.py | 5 +++--
>> 1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/meta/lib/oeqa/selftest/cases/rust.py b/meta/lib/oeqa/selftest/cases/rust.py
>> index 95859a9eef..06acf53e9a 100644
>> --- a/meta/lib/oeqa/selftest/cases/rust.py
>> +++ b/meta/lib/oeqa/selftest/cases/rust.py
>> @@ -102,8 +102,9 @@ class RustSelfTestSystemEmulated(OESelftestTestCase, OEPTestResultTestCase):
>> testargs = exclude_fail_tests + " --no-doc --no-fail-fast --bless"
>>
>> # wrap the execution with a qemu instance.
>> - # Tests are run with 512 tasks in parallel to execute all tests very quickly
>> - with runqemu("core-image-minimal", runqemuparams = "nographic", qemuparams = "-m 512") as qemu:
>> + # Set QEMU RAM to 1024MB to support running unit tests for the compiler crate, including larger
>> + # test cases and parallel execution in the test environment.
>> + with runqemu("core-image-minimal", runqemuparams = "nographic", qemuparams = "-m 1024") as qemu:
>> # Copy remote-test-server to image through scp
>> host_sys = get_bb_var("RUST_BUILD_SYS", "rust")
>> ssh = SSHControl(ip=qemu.ip, logfile=qemu.sshlog, user="root")
> This failed in testing:
>
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/42/builds/2522
>
> I suspect some qemu platforms don't allow changing the memory size so easily?
>
> Cheers,
>
> Richard
Hi Richard,

I had a look at the failure and noticed that this test run includes a
linux-firmware upgrade (20250917 → 20251011).
While it’s not confirmed yet, it’s possible that the updated firmware
may be affecting device initialization. Since
the log shows a warning indicating that the target did not reach the
login banner within 1000 seconds, confirming
that the system hangs shortly after starting likely around the time
virtio-gpu is initialized.

Additionally, I believe this issue is not related to the increased
memory allocation because the GCC oe-selftest,
which runs with 4096 MB of QEMU memory, completed successfully. I also
checked previous autobuilder runs without
this linux-firmware update which had these rust-llvm drop set of patches
and the qemuarm-tc build completed without
issues.

https://autobuilder.yoctoproject.org/valkyrie/?#/builders/42/builds/2519

Regards,
Deepesh
>
>