-
Notifications
You must be signed in to change notification settings - Fork 20
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
memory allocation failure during test on 32-bit debian CI #16
Comments
It is weird that you cannot compile for 32bit target due to insufficient memory. I'm running my tests like that
Where P.s. It is not really P.s.s try to remove |
I agree that Looking at that file, i don't think i understand why Addtionally, i'm a little surprised that the Can you try running a test with only enabling the something like:
|
I don't know enough about the The debian CI daemons are on machines that have lots of RAM. the smallest ones are 8GiB, and they run all the way into the several hundred GiB range. the i386 example above runs on a machine with 8GiB, and the armhf example ran on a machine with 256GiB. But |
I don't really have i386 so I can only run it in emulation
Well,
It runs build in docker image, likely alpine I don't really know how much memory rustc would need |
This is an attempt to reduce the information available to rustc at compile time, in the hopes of reducing the RAM required to build test-vectors.rs (see DoumanAsh#16).
test-vectors.rs consumes a lot of RAM. When compiling it, in /proc/$(pidof rustc)/status on an amd64 machine, I saw: VmPeak: 6484308 kB This causes failures on 32-bit platforms, which don't have the address space for such a large memory set. By dropping the latter half of these tests, I ended up with less RAM pressure from rustc: VmPeak: 2409188 kB i've left the final test just to confirm its value, but i think the semantic value of the shorter test nearly equivalent. Fixes: DoumanAsh#16
I merged #20 into master |
Thanks @DoumanAsh -- #20 looks reasonable to me; i've tested it locally (on amd64, not i386) and wow I had already pushed #19 to debian infrastructure as 0.8.5-2, and it passed the 32-bit CI: https://ci.debian.net/packages/r/rust-xxhash-rust/ -- so we're on the right track. Now in debian i've rolled back #19, and pushed #20 as 0.8.5-3 . it hasn't hit the CI infrastructure yet, but i'll let you know when it does. Thanks for persisting on sorting this out! |
all the 32-bit architectures tested in the debian CI have now passed 0.8.5-3, so i think that confirms the fix. Whenever you release the next version, i'll pull it into debian and we can drop that patch.:+1: |
debian continuous integration for xxhash-rust shows failures for the three 32-bit architectures covered: i386 armel and armhf, all for xxhash-rust version 0.8.5. (64-bit platforms don't seem to have a problem).
All the errors on 32-bit platforms appear to be the same, if i'm reading the logs correctly: when the
xxh3
test is enabled (or in the--all-targets --all-features
test, namedrust-xxhash-rust:@
, which also hasxxh3
enabled), there's a memory allocation failure. From the i386 test logs:I'm happy to try to patch the package to gain more debugging information, if that would be useful, or to execute reasonable-looking commands in a test environment. Do you have suggestions on what I should be looking for? If you're running tests upstream on 32-bit platforms that include this feature, can you point me to recent updates, so i can review the differences?
The text was updated successfully, but these errors were encountered: