-
Notifications
You must be signed in to change notification settings - Fork 689
Skip the mount tests on kernel 4.4.0 #633
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
Conversation
We've got a bunch of failures because of |
@Susurrus I'm looking at the rustup failure now, but I don't know what's going on. It looks like it's affected every PR for the last 3 days. Travis updated their build images 6 days ago, but we've had successful builds since then, so I don't think that's it. Is there any way to get an interactive session in Travis? |
I don't think Travis has interactive sessions. I'm wondering if you could reproduce in a VM, maybe it's a Rustup bug? |
For the record, this fails for me on 4.11.3-202 on Fedora 25. |
Perhaps we should just screw the namespaces and require the mount tests to run as root? We're already using sudo in Travis. |
That's fine. Is there anyway to test for root easily within the tests? |
Sure. you can just use getpid() == 0. But I don't know how to tell Cargo to use sudo for the mount tests. |
Actually, we're making this way too complicated. There is absolutely no reason why open(2) should return EOVERFLOW. If we see that error code, then we know we're running on a buggy kernel. So we can delete the kernel version check. All we have to do is skip (or pass, since Cargo doesn't know about skipped tests yet) this test whenever we see EOVERFLOW. |
|
Just tested this locally and it works on my end. So I think we might be on to something here. @henninglive Care to give this branch a spin and confirm it fixes things on your end? |
I fixed #634, so this PR is the last thing standing between us and green builds again. |
One thing I'd point out here is that these tests don't just fail on Linux 4.4, they also fail on my 4.11.3 box, so it's something more than that Ubuntu error you linked. I'd expand the comment to include this information as well. |
Starting somewhere in 4.4.0 some versions of Linux have a known bug with tmpfs in namespaces. It's unknown exactly which versions are affected (and likely distro-dependent), but easy to detect. When open(2) returns EOVERFLOW, skip the rest of the test. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1659087 Fixes nix-rust#610
I'm going to go ahead and merge this, without feedback from @henninglive, since the build is broken without it and all other PRs are blocked. bors r+ |
633: Skip the mount tests on kernel 4.4.0 r=asomers Some versions of that kernel have a known bug with tmpfs in namespaces. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1659087 Fixes #610
Build failed |
bors failed because test_aio_cancel_all failed for powerpc on linux. I haven't seen that before, and I don't know what could cause it. I'm going to try again, because we need this mount fix. bors r+ |
633: Skip the mount tests on kernel 4.4.0 r=asomers Some versions of that kernel have a known bug with tmpfs in namespaces. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1659087 Fixes #610
Build succeeded |
Some versions of that kernel have a known bug with tmpfs in namespaces.
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1659087
Fixes #610