-
Notifications
You must be signed in to change notification settings - Fork 891
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
LZMA data error on s390x #1970
Comments
Hi, Based on the Thanks, D. |
@nikita-fuchs could you try running this command on your s390x machine?
|
Thanks for the fast responses ! @pietroalbini that produces the same error, unfortunately. |
@nikita-fuchs then it's not an infrastructure problem, the packages in the archive are fine. You could download Rust manually, but if there is a miscompilation in rustup I doubt it's going to be reliable anyway. It would be useful to see which nightly introduced the regression though: a nightly is released every day and has a toolchain name of |
@pietroalbini
(note it installs the commit from the day before)
Thank you very much for your help. |
The "maybe you're out of space?" is purely a hint because that failure mode is most common. The lzma data error thing is more likely that the lzma library is flakey on s390x and somehow the issue isn't tickled by the 2019-07-05 toolchain, or perhaps previous stables. Are you able to try a local rustup build? $ git clone https://github.com/rust-lang/rustup.rs
$ cd rustup.rs
$ cargo build --features vendored-openssl
$ target/debug/rustup-init --no-modify-path -y
$ rustup --no-self-update toolchain install nightly |
PRs merged between
rust-lang/rust#62153 seems really suspicious, but I don't have time to investigate right now.
That's correct. |
Oh, another thing that might be useful to debug: could you download this file and extract it manually? |
@pietroalbini it extracts without an issue, seems it's all there:
any chance to roll with that somehow? |
@kinnison suggested we could switch rustup to use gzip instead of xz on s390x, and that could work, but I agree with them it would be best to find out the root cause of this if possible. cc @alexcrichton: apparently after |
Hm interesting! This does indeed sort of sound like a bug in xz2-rs on s390x, although I wouldn't really know how best to track that down. @nikita-fuchs would you be able to check out https://github.com/alexcrichton/xz2-rs on your s390x machine and run the test suite in debug/release mode? Or perhaps write a small example using |
@alexcrichton I would love to do so, but my rust knowledge is near zero unfortunately, just trying to build an existing application on mainframe, but if you could give me the commands to try out what you suggested, I would do so. I'm talking to IBM about providing the community some means of access to mainframes, it's in their best interest. |
I believe all you want to do in this case are:
cargo test
cargo test --features tokio
LZMA_API_STATIC=1 cargo run --manifest-path systest/Cargo.toml but Alex could confirm. |
thank you @lzutao, failing at
same with the other two commands. |
@kinnison the local rustup build unfortunately fails with the same old issue:
thank you all for your great support. |
@nikita-fuchs looks like you are missing git submodule. |
Edit:
@mati865 thanks, unfortunately after this,
same for |
This definitely sounds like @alexcrichton and @nikita-fuchs could do with putting their heads together over xz2-rs :D |
Ok thanks for the confirmation @nikita-fuchs! I've done some testing myself and was able to reproducing using qemu emulators. I believe we were building liblzma incorrectly (apparently we needed to tell them it was a big-endian target) and tests are now green! I've published a new version of lzma-sys with the fix, but can you confirm that tests pass locally for you? If so then rustup likely just needs to update its lockfile and this issue should be good to go. |
Wonderful news @alexcrichton thank you! @nikita-fuchs If you can run the test-suite for xz2-rs and if that works, you can build a local rustup updated with it and check that ( |
Hey, sorry for coming back late, needed to be abroad. @kinnison I hope I did everything correct, but after reinstalling rustup and running |
Did you build that rustup from master? The change was merged but not yet released. |
Almost thought I needed to ;)
|
You need |
the building succeeded, how do I install from it ? |
Just copy it to |
Sorry for failing with basic things, but where does the build churn out the |
Sorry, I should make it clearer. There is |
Another option is to run |
@nikita-fuchs The easiest way is, assuming you built in debug mode, to run You should then remember to always pass If you give me a 👍 then I'll consider that pretty much the last flag before I need to start turning the release crank on a proper release which contains the fix. |
Thanks everybody - @kinnison with the built release I get this when installing the nightly:
And it's not the disc:
|
Oh fascinating -- we have a check in Rustup that ensures that the unpacked files don't appear bogus -- assuming any given file won't be larger than 100 megs. I'mma file a bug now. |
@kinnison this check is 95.37 MiB BTW 😁 |
@nikita-fuchs If you change the line pointed to in #1982 to something like |
@kinnison I tried, but for some strange reason I cannot build at all anymore:
gives me:
cargo is on v 1.36 if that matters somehow. |
Oh dear, I have a feeling you might need v1.37 since we're moving forward with clippy lint updates as we go. Give me a bit and I'll see if I can sort out a cross-build for you. |
@nikita-fuchs I obviously can't vouch for it since I just cross-built it, but... Give that a go? |
I can't believe it:
🥳 What can be done to support you supporting s390x better? I'll talk with some guys at IBM again to provide some access to mainframes, all their wishing for longterm support of their architecture will remain unheard as long maintainers don't have access to their machines.. |
From our perspective, all we can do is run builds and tests on things which integrate with github PRs etc. We use Travis and Appveyor for now, and may switch to Azure pipelines in the future. If you know of an s390x capable service which binds to github and which we could use to actually build and run tests on s390x then I'd be interested. if you do, please open an issue to add support for that :D In the meantime, be careful to always use |
Problem
I cannot find a working way to use rust's
beta
ornightly
releases on an IBM mainframe running Ubuntu:Steps
rustup default nightly
(if the link is not being created for you like in my case, directly run the binary:~/.cargo/bin# ./rustup default nightly
)2.5 same with with the
beta
Of course there is enough space available.
Possible Solution(s)
Is there a way to obtain these packages for
s390x
architecture somewhere directly and unpack the files / get them unpacked already, somewhere, and install them manually?Notes
Output of
rustup --version
:rustup 1.18.3 (435397f48 2019-05-22)
Output of
rustup show
:The text was updated successfully, but these errors were encountered: