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
capset() might randomly fail with -EPERM #4556
Comments
Ok, can you tell us more about this setup? |
x86_64 box is a dual-core kvm running archlinux with a custom kernel, root is btrfs with aufs docker driver on top (switched back to aufs a few days ago). Got this in 3 out of 100 runs. arm box is a quad-core running archlinux-arm and same kernel (well, similar kernel, same base config though). root is btrfs as well. Got this problem in 14 out of 100 runs. |
Fails here: https://github.com/torvalds/linux/blob/master/kernel/capability.c#L250, |
ping @creack |
Am I reading you right that you're running aufs on top of btrfs? See #2961 and friends. |
Ah, I knew there's something wrong with aufs working on top of btrfs. Switched back to btrfs driver, the bug is still relevant. |
A quick update. This is still an issue on 3.14-rc6 |
Similar problem here, also with 0.9.0 and pure btrfs (i.e. driver and filesystem) on Arch Linux. Docker has been freshly upgraded from 0.8.0. This is on an ARM machine with a custom 3.8.13 kernel though, so feel free to ignore this comment ;-) For me the error occurs when building a container. It intermittently fails at different RUN lines (with the message mentioned in the first comment). |
Same problem with vfs driver. Kernel version is: |
Did you manage to resolve this problem? |
I haven't managed to make a simple test case to ask around LKML, so no, no progress there. One of my test boards is also i.MX6, FWIW. |
We tried to force it to use LXC instead of libcontainer (docker -d -e LXC),
|
Do you know something about that @vmarmol ? |
We managed to run docker containers in our i.MX6 environment now, both with On Mon, May 19, 2014 at 5:04 PM, Victor Vieux notifications@github.comwrote:
|
Does that mean we can fix the issue ? |
To build it I used the direction for the archLinux, On Mon, May 19, 2014 at 5:25 PM, Victor Vieux notifications@github.comwrote:
|
@nikmol the issues is fixed or not ? |
When we run the mount script described in: On Thu, May 22, 2014 at 3:51 PM, Victor Vieux notifications@github.comwrote:
|
Can this be reopened? My test machine was dead so I got to testing this only now and it's still broken:
|
It's actually much more reproducible now 😞
|
Also, it fails the same way with lxc driver, but somewhat more rarely (23 failures out of 100 runs) |
Seems to also happen on i386: jpetazzo/dockvpn#7 |
Same here. I am running Paul's Debian package as a 'backport' I made onto Ubuntu 14.04 running on an i386 box. Works fine but I get this error every now and then too. |
@nikmol are you running on ARM or 32bit, is this an official docker build? |
@crosbymichael this is on an ARM (32bit). |
It seems that this is now broken even with
|
I also see this roughly half the times I |
EvanKrall, which version are you using? |
I'm running Ubuntu 14.04 on that board, so https://launchpad.net/ubuntu/trusty/armhf/docker.io/1.0.1~dfsg1-0ubuntu1~ubuntu0.14.04.1 |
Looks like it's version 1.0.1? |
Haven't tried 1.2.0 yet; may try that later tonight. |
As a warning for those trying out 1.2.0: At least the Arch Linux ARM version currently does not work correctly on btrfs. It is missing a compatibility patch at the moment, so I had to revert to 1.0. |
Docker defaults to device mapper I think, which is available mostly everywhere. |
djmaze, have you tried to change the file daemon/graphdriver/driver.go with the patch that was for version 1.0.0? |
@nikmol: Yes, already tried that. The "wrong filesystem" error remained. Will need to have a closer look sometime. Which is difficult, because I need to keep that machine (U3) running. @farcaller: I've had abysmal experiences with devicemapper on ARM. (The according bug #3280 is still open.) AUFS support was not available in the kernel, so I chose to go with btrfs. And AFAIK, btrfs and AUFS offer much better performance for CoW-based filesystems. |
I think nobody will reopen this as the discussion goes pretty wild at glance. We need to submit an new issue with precise indication to what is the problem and easy instructions to reproduce. Ideally this should involve an "official" binary and some mainstream distro with vanilla kernel running on x86. |
I added AUFS to our kernel and now we haven't seen any problem (plus it's much faster when starting from images and also removing containers) |
I'm having the same issue trying to launch lgierth/meshbox on Fedora 21 server. Any ideas on what may be causing it? |
I've complied docker 1.4.0 for ARMv7 from source. This bug seems to be fixed there. |
@umiddelb I would be very interested in the binary that you built ;) Anything special you ran into while building on ARMv7? Currently running 1.3.0 here |
@calmera You can download the binary here. It's linked statically, so it runs on ubuntu as well as on fedora. I've written down the way how I build docker an ARMv7 here. I took the patched docker sources from resin.io, but rebased the You may find my docker sources here. |
@umiddelb Awesome! thnx! |
@calmera Two days ago, the docker developers removed the 'fuse' which explicitly requires the amd64 platform and integrated most of the patches making docker 32 bit safe. You can build docker for ARMv7 with the original sources now. The only thing you still need is a slightly modified Dockerfile for the armhf/ARMv7 platform:
|
Wonderful news. Paging @paultag :) |
@umiddelb perhaps that Dockerfile is something to add to docker/contrib? Also, docker 1.5 will allow you to specify a path to the Dockerfile to use, via the Not sure if that is something the maintainers would approve on, but it's worth a try (I don't think it would hinder the regular builds?) |
@thaJeztah Thank you for hint. I'll file a pull request, but then this option should be made available for the Makefile (environment variable or command line parameter to |
@umiddelb yes, in the long run, Docker needs to become platform-aware (also, think of Windows). For now, I think this should still be regarded "experimental", hence my suggestion for inclusion in "contrib". People should be made aware that, at this moment, it's not officially supported Again, I don't know what the maintainers think of this, but it might be a nice addition for those that want to run on armv7. For changes in the makefile, I think Tianon is the best person to contact, you can try if he's available on IRC for questions. |
Confirming this bug seems to be fixed after upgrading from 1.0.0 to 1.4.1 on my ARMv7 device (w/ btrfs driver). |
I've built another docker ubuntu image (according to the 'official' one). With this image, you only need to replace the FROM statement with: |
Can anyone share their binary working docker for armhf 32bit? I got this error in a random way. I can't even build the latest one from github. It is like chicken and egg problem...Ignore my request. I found it here https://github.com/umiddelb/armhf/raw/master/bin/docker-1.6.0 @umiddelb Thanks for your sharing. The link in your comment above is dead. In any case, I feel tired to hit "sudo make buiild" again and again. |
OK, this link should work actually: |
Given how you don't like me opening bugs against docker running on ARM I test the stuff on x86_64 now 😄
Freshly built 0.9.0 sometimes fails to start a container with: "finalize namespace drop capabilities operation not permitted".
The text was updated successfully, but these errors were encountered: