[Lxc-users] can't restart container without rebooting entire host, because can't delete cgroups files, tasks is 0

Brian K. White brian at aljex.com
Fri Nov 5 18:26:14 UTC 2010


On 11/5/2010 1:34 PM, Serge E. Hallyn wrote:
> A few comments:
>
> 1. To remove the directories, rmdir all descendent directories.  I'd
>     think something like 'find . -type d -print0 | xargs rmdir' would
>     do.
> 2. You can prevent this from happening by using a notify-on-release
>     handler.
> 3. This should stop happening when lxc (soon) switches to using the
>     clone-child cgroup helper instead of the ns cgroup.
>
> -serge
>

Just to make it clear...

nj9:~ # lxc-stop -n nj10-014
nj9:~ # lxc-info -n nj10-014
'nj10-014' is STOPPED
nj9:~ # lxc-destroy -n nj10-014
'nj10-014' does not exist
nj9:~ # lxc-ps -elf |grep nj10-014
            0 S root      3037 32341  0  80   0 -   579 pipe_w 14:25 
pts/4    00:00:00 grep nj10-014
nj9:~ #
nj9:~ # rm -vrf /cgroup/nj10-014
rm: cannot remove `/cgroup/nj10-014/19237/3/cpuset.memory_spread_slab': 
Operation not permitted
rm: cannot remove `/cgroup/nj10-014/19237/3/cpuset.memory_spread_page': 
Operation not permitted
[...]
rm: cannot remove `/cgroup/nj10-014/net_cls.classid': Operation not 
permitted
rm: cannot remove `/cgroup/nj10-014/notify_on_release': Operation not 
permitted
rm: cannot remove `/cgroup/nj10-014/tasks': Operation not permitted
nj9:~ #

I don't know how to track down if there is possibly some process that is 
part of the cgroup even though lxc-ps doesn't show any.
Examine every single process and verify that it's part of the host or 
another container until I find one I can't account for?

Since this happens to me all the time and on different hosts (albeit 
using the same kernel versions and other software all configured the 
same way) I can't believe this doesn't happen to many others and I'm 
surprised I don't see more acknowledgment of the issue here. I see other 
people reporting the problem, but I also see the responses simply say to 
delete the files, which, we can't do.

So i wonder is my configuration and usage simply wrong? I'm using very 
simple config files copied from the veth samples.

nj9:~ # find /etc/lxc/nj10-010 -type f |xargs -tn1 cat
cat /etc/lxc/nj10-010/fstab
none /lxc/nj10-010/dev/pts devpts defaults 0 0
none /lxc/nj10-010/proc    proc   defaults 0 0
none /lxc/nj10-010/sys     sysfs  defaults 0 0
none /lxc/nj10-010/dev/shm tmpfs  defaults 0 0
cat /etc/lxc/nj10-010/config
lxc.utsname = nj10-010
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.hwaddr = 02:00:47:bb:ce:56
lxc.network.ipv4 = 71.187.206.86/24
lxc.network.name = eth0
lxc.mount = /etc/lxc/nj10-010/fstab
lxc.rootfs = /lxc/nj10-010
nj9:~ #


How are you not having the same problem?

-- 
bkw




More information about the lxc-users mailing list