-
Notifications
You must be signed in to change notification settings - Fork 13.3k
1.26.0 - stdsimd/coresimd/x86/mod.rs test failures on non-x86 architectures #50988
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I guess these need a |
Is there a way to do that for the whole file, like the opposite of |
The error message says:
So I'm going to try that and report back. Ironically this overly-strict macro is defined in the very same crate whose tests fail its strictness, in What's curious is that we don't get the same errors for very similar tests defined in |
cc @gnzlbg who last touched the detection macro |
The whole Why is that module being compiled for your Maybe it has something to do with |
Digging into the logs, this is the command that fails Doc-tests core
Running `/<<BUILDDIR>>/rustc-1.26.0+dfsg1/build/bootstrap/debug/rustdoc --test /<<BUILDDIR>>/rustc-1.26.0+dfsg1/src/libcore/lib.rs --crate-name core -L dependency=/<<BUILDDIR>>/rustc-1.26.0+dfsg1/build/powerpc64le-unknown-linux-gnu/stage1-std/powerpc64le-unknown-linux-gnu/release/deps -L dependency=/<<BUILDDIR>>/rustc-1.26.0+dfsg1/build/powerpc64le-unknown-linux-gnu/stage1-std/release/deps --extern core=/<<BUILDDIR>>/rustc-1.26.0+dfsg1/build/powerpc64le-unknown-linux-gnu/stage1-std/powerpc64le-unknown-linux-gnu/release/deps/libcore-dfc03e5d45d15e08.rlib`
rustdoc command: "/<<BUILDDIR>>/rustc-1.26.0+dfsg1/build/powerpc64le-unknown-linux-gnu/stage2/bin/rustdoc" "--test" "/<<BUILDDIR>>/rustc-1.26.0+dfsg1/src/libcore/lib.rs" "--crate-name" "core" "-L" "dependency=/<<BUILDDIR>>/rustc-1.26.0+dfsg1/build/powerpc64le-unknown-linux-gnu/stage1-std/powerpc64le-unknown-linux-gnu/release/deps" "-L" "dependency=/<<BUILDDIR>>/rustc-1.26.0+dfsg1/build/powerpc64le-unknown-linux-gnu/stage1-std/release/deps" "--extern" "core=/<<BUILDDIR>>/rustc-1.26.0+dfsg1/build/powerpc64le-unknown-linux-gnu/stage1-std/powerpc64le-unknown-linux-gnu/release/deps/libcore-dfc03e5d45d15e08.rlib" "--cfg" "stage1" "--cfg" "dox" "--sysroot" "/<<BUILDDIR>>/rustc-1.26.0+dfsg1/build/powerpc64le-unknown-linux-gnu/stage1" "-Z" "force-unstable-if-unmarked" "-Z" "unstable-options" "--crate-version" "1.26.0" So it might well be that the current setup attempts to run all doc tests of all architectures on all architectures, but that was never going to work. cc @alexcrichton : this looks like an issue with whitelisting those architectures with |
The reason that This makes me wonder whether we should move those attributes and use something like |
Urgh :/
Let's just do that. There are only a bunch of those types. |
It's possible that we can make the |
I've opened rust-lang/stdarch#466 to tag the private modules. We'll need to run doctests for libcore in a powerpc64 environment (or in Debian/Fedora's environment, if that doesn't work) to be sure it fixes the issue. |
Thanks, I've added this to Debian and uploaded, results will appear here in about 4-10 hours for version |
Why is debian running ppc64le tests at all? It is a tier2 target which means "test are not guaranteed to pass" and in general they won't because we don't run them at the rustc level (even though some components might run them). If you want ppc64le tests to pass the first step should be to make it a tier1 rustc target. Otherwise, whatever you fix today we might break tomorrow accidentally. |
Seems like @QuietMisdreavus 's fix worked, thanks! We run all tests everywhere and try to get things working on as many platforms as possible, it's one of the things about Debian that sets it apart from many other FOSS projects. I know it's tier2 for rust, I thought the project would appreciate bug reports. In general ppc64 has been pretty well-behaved for over a year, and the test failures have been minor issues like this one. Other architectures have also been working fairly well, but notably not mips. I imagine the main thing holding back the rust project from bumping it up to tier1 is the lack of build machines, which we have plenty of at Debian. |
@infinity0 I did not know it was working that good. I think @lu-zero might be interested / able of pushing ppc64le to tier1 since it has been doing a lot of work on altivec and vsx intrinsics. Maybe you should open an issue about it. |
I would be glad to help, what tier1 would involve? |
running all rustc tests on ppc64le instead of just compiling the binaries. I don't know if qemu would be enough (like in stdsimd) or if we need to do so on the real hardware, but there are real powerpc's available for CI, so, worst case we'll need to do that. Note that rustc test set up is "similar" to the stdsimd one, which you are already a bit familiar with. |
I'm sure @edelsohn would be glad to help regarding hardware for CI :) |
The Rust CI community can request a Power8 PPC64LE VM at OSUOSL http://osuosl.org/services/powerdev/ List David Edelsohn as the sponsor. |
I can probably do all the paperwork, but I'll need some help to deal with the CI setup. |
cc @rust-lang/infra for the note about setting up CI with a ppc64le machine ^ I've tested running the docs with the change to stdsimd, and it turns out my fears about the "platform warning" becoming too verbose were completely unfounded. It turns out the piece that propagates |
Update: Turns out, "rustdoc runs doctests on private items despite not being asked to document them" is an old issue: #30094 |
Is this still happening? |
Triage: AFAICT this is not actionable because we don't guarantee Tier 2 tests will pass, but thank you for the report. |
Same failures on Debian and Fedora
Current master has diffs on top of 1.26.0 looking like this:
but on a first glance this doesn't look like it would fix the failures.
cc @cuviper
The text was updated successfully, but these errors were encountered: