| Message ID | 20251015095914.2120664-1-Deepesh.Varatharajan@windriver.com |
|---|---|
| State | Accepted, archived |
| Commit | 1c87bca91c61a272266a0f2763e0477b66f06c13 |
| Headers | show |
| Series | [V5,1/3] rust: Increase QEMU size to 1024 MB | expand |
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
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 > >
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")