Bug 2278709 - Review Request: rust-buddy-alloc - Memory allocator for no-std Rust, used for embedded environments
Summary: Review Request: rust-buddy-alloc - Memory allocator for no-std Rust, used for...
Keywords:
Status: ASSIGNED
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Fabio Valentini
QA Contact: Fedora Extras Quality Assurance
URL: https://crates.io/crates/buddy-alloc
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-05-02 19:56 UTC by Jordan Rome
Modified: 2024-06-14 15:29 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:
decathorpe: fedora-review?


Attachments (Terms of Use)

Description Jordan Rome 2024-05-02 19:56:56 UTC
Spec URL: https://jordalgo.fedorapeople.org/review/rust-buddy-alloc/rust-buddy-alloc.spec
SRPM URL: https://jordalgo.fedorapeople.org/review/rust-buddy-alloc/rust-buddy-alloc-0.5.1-1.fc41.src.rpm

Description:
Buddy-alloc is a memory allocator for no-std Rust, used for embedded
environments.

Fedora Account System Username: jordalgo

Comment 1 Jordan Rome 2024-05-02 19:56:59 UTC
This package built on koji:  https://koji.fedoraproject.org/koji/taskinfo?taskID=117164443

Comment 2 Fedora Review Service 2024-05-02 20:02:52 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7399587
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2278709-rust-buddy-alloc/fedora-rawhide-x86_64/07399587-rust-buddy-alloc/fedora-review/review.txt

Found issues:

- License file LICENSE is not marked as %license
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text

Please know that there can be false-positives.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 3 Fabio Valentini 2024-05-07 19:25:33 UTC
This fails to build for me:

>    File not found: /builddir/build/BUILDROOT/rust-buddy-alloc-0.5.1-1.fc41.x86_64/usr/share/cargo/registry/buddy-alloc-0.5.1/LICENSE-MIT.txt
>    File not found: /builddir/build/BUILDROOT/rust-buddy-alloc-0.5.1-1.fc41.x86_64/usr/share/cargo/registry/buddy-alloc-0.5.1/Readme.md

Comment 4 Jordan Rome 2024-06-04 01:50:47 UTC
Sorry for the delay. Do you mind giving it another try?

Comment 5 Fabio Valentini 2024-06-04 15:46:40 UTC
Package builds now, thanks!

Two small issues:

1. Please don't include the rpmlintrc file in the spec / SRPM though. It's unrelated to the RPM build.
   You can include it in the dist-git repo after importing the package though.

2. I cannot reproduce the test failures.

> # fast_alloc tests end in a segfault on x86
> %cargo_test -- -- --skip failing_tests --skip tests::fast_alloc

I can run "cargo test" and "cargo test --release" in the sources on my x86 machine just fine.

Comment 6 Jordan Rome 2024-06-05 01:25:30 UTC
> I can run "cargo test" and "cargo test --release" in the sources on my x86 machine just fine.

The comment in the spec might just be wrong. I ran `mock -r fedora-rawhide-x86_64 --sources . --spec rust-buddy-alloc.spec --postinstall
` locally on my aarch64 (Mac) with Parallels and I got that failure (maybe because of the architecture mismatch?). https://pastebin.com/NYejgAYp

If I run `cargo test` from the buddy-alloc repo directly it works just fine.

Comment 7 Jordan Rome 2024-06-05 01:41:36 UTC
Test failure is still happening with `mock -r fedora-rawhide-aarch64 --sources . --spec rust-buddy-alloc.spec --postinstall` - maybe it has something to do with being in a VM.

Comment 8 Jordan Rome 2024-06-05 01:59:19 UTC
> Please don't include the rpmlintrc file in the spec / SRPM though. It's unrelated to the RPM build. You can include it in the dist-git repo after importing the package though.

Done - removed it from the rpm and spec files.

Comment 9 Fabio Valentini 2024-06-07 13:40:50 UTC
> Test failure is still happening with `mock -r fedora-rawhide-aarch64 --sources . --spec rust-buddy-alloc.spec --postinstall` - maybe it has something to do with being in a VM.

OK, if you want to skip tests because koji builds happen either on "bare metal" or in VMs, and they will fail if they're scheduled to run in a VM, please document that. Right now there is no documented reason why some tests are skipped.

Comment 10 Jordan Rome 2024-06-10 01:08:01 UTC
> please document that

Makes sense. I updated the spec file with a comment.

Comment 11 Fabio Valentini 2024-06-13 13:54:17 UTC
Sorry, the new comment is only more confusing to me.
I don't see how Fedora 38 is relevant, it is EOL.

Additionally, the files behind the spec and SRPM links now mismatch.

I ran a rawhide scratch build of your package (without skipped tests):
https://koji.fedoraproject.org/koji/taskinfo?taskID=118963473

Tests crashed on *all* architectures with SIGSEGV.
So it looks like something is seriously wrong with the code of this crate ...

Comment 12 Jordan Rome 2024-06-14 14:16:43 UTC
No worries, I updated the comment and also synced the uploaded spec file and SRPM.

> Tests crashed on *all* architectures with SIGSEGV. So it looks like something is seriously wrong with the code of this crate ...

What's strange is that when I run `cargo test` on this package on my same machine (where the mock build fails), they pass as normal.

Comment 13 Jordan Rome 2024-06-14 14:17:08 UTC
No worries, I updated the comment and also synced the uploaded spec file and SRPM.

> Tests crashed on *all* architectures with SIGSEGV. So it looks like something is seriously wrong with the code of this crate ...

What's strange is that when I run `cargo test` on this package on my same machine (where the mock build fails), they pass as normal.

Comment 14 Fabio Valentini 2024-06-14 14:20:24 UTC
Can you try running "cargo test --release"?

Tests are run and built in "release" mode during package builds.

If the presence of "--release" makes a difference, then it sounds like a soundness bug that is exposed by turning on optimizations.

Comment 15 Jordan Rome 2024-06-14 15:08:22 UTC
> Can you try running "cargo test --release"?

Ah ha. Now I see the failure. I guess this is something we need to fix upstream before packaging this?

Comment 16 Fabio Valentini 2024-06-14 15:13:02 UTC
If this is indeed a soundness issue (which is what it looks like), then yes, I would prefer if it was fixed before we package this for Fedora.
Can you file bug against upstream for this issue?


Note You need to log in before you can comment on or make changes to this bug.