** Description changed:

  I was testing how LXC runs a vivid systemd container on a vivid systemd
  host and occasionally ended up with the container init getting stuck in
  Ds state.
  
+ More specific: I was testing out some ansible playbooks on the
+ container, and in most (acutally all IIRC) cases the freeze would happen
+ when ansible tried to install a package with apt in the container.
+ 
  As this was happening rather frequently, I ended up stracing the container 
systemd, which resulted in:
  
open("/sys/fs/cgroup/systemd/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_RDONLY|O_CLOEXEC) = 16
- fstat(16, {st_mode=S_IFREG|0644, st_size=63, ...}) = 0 
+ fstat(16, {st_mode=S_IFREG|0644, st_size=63, ...}) = 0
  mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x7f350bdd0000
  read(16, "5337\n5339\n5978\n5980\n5981\n5982\n59"..., 4096) = 62
- access("/sys/fs/cgroup/devices", F_OK)  = 0 
- 
open("/sys/fs/cgroup/devices/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 ENOENT (No such file or 
directory) 
- access("/sys/fs/cgroup/devices", F_OK)  = 0 
- 
open("/sys/fs/cgroup/devices/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 ENOENT (No such file or 
directory) 
- access("/sys/fs/cgroup/devices", F_OK)  = 0 
- 
open("/sys/fs/cgroup/devices/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 ENOENT (No such file or 
directory) 
- access("/sys/fs/cgroup/devices", F_OK)  = 0 
- 
open("/sys/fs/cgroup/devices/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 ENOENT (No such file or 
directory) 
- access("/sys/fs/cgroup/devices", F_OK)  = 0 
- 
open("/sys/fs/cgroup/devices/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 ENOENT (No such file or 
directory) 
- access("/sys/fs/cgroup/devices", F_OK)  = 0 
- 
open("/sys/fs/cgroup/devices/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 ENOENT (No such file or 
directory) 
- access("/sys/fs/cgroup/devices", F_OK)  = 0 
- 
open("/sys/fs/cgroup/devices/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 ENOENT (No such file or 
directory) 
- access("/sys/fs/cgroup/devices", F_OK)  = 0 
- 
open("/sys/fs/cgroup/devices/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 ENOENT (No such file or 
directory) 
- access("/sys/fs/cgroup/devices", F_OK)  = 0 
- 
open("/sys/fs/cgroup/devices/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 ENOENT (No such file or 
directory) 
- access("/sys/fs/cgroup/devices", F_OK)  = 0 
- 
open("/sys/fs/cgroup/devices/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 ENOENT (No such file or 
directory) 
- access("/sys/fs/cgroup/devices", F_OK)  = 0 
- 
open("/sys/fs/cgroup/devices/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 ENOENT (No such file or 
directory) 
- access("/sys/fs/cgroup/devices", F_OK)  = 0 
- 
open("/sys/fs/cgroup/devices/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 ENOENT (No such file or 
directory) 
+ access("/sys/fs/cgroup/devices", F_OK)  = 0
+ 
open("/sys/fs/cgroup/devices/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 ENOENT (No such file or 
directory)
+ access("/sys/fs/cgroup/devices", F_OK)  = 0
+ 
open("/sys/fs/cgroup/devices/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 ENOENT (No such file or 
directory)
+ access("/sys/fs/cgroup/devices", F_OK)  = 0
+ 
open("/sys/fs/cgroup/devices/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 ENOENT (No such file or 
directory)
+ access("/sys/fs/cgroup/devices", F_OK)  = 0
+ 
open("/sys/fs/cgroup/devices/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 ENOENT (No such file or 
directory)
+ access("/sys/fs/cgroup/devices", F_OK)  = 0
+ 
open("/sys/fs/cgroup/devices/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 ENOENT (No such file or 
directory)
+ access("/sys/fs/cgroup/devices", F_OK)  = 0
+ 
open("/sys/fs/cgroup/devices/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 ENOENT (No such file or 
directory)
+ access("/sys/fs/cgroup/devices", F_OK)  = 0
+ 
open("/sys/fs/cgroup/devices/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 ENOENT (No such file or 
directory)
+ access("/sys/fs/cgroup/devices", F_OK)  = 0
+ 
open("/sys/fs/cgroup/devices/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 ENOENT (No such file or 
directory)
+ access("/sys/fs/cgroup/devices", F_OK)  = 0
+ 
open("/sys/fs/cgroup/devices/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 ENOENT (No such file or 
directory)
+ access("/sys/fs/cgroup/devices", F_OK)  = 0
+ 
open("/sys/fs/cgroup/devices/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 ENOENT (No such file or 
directory)
+ access("/sys/fs/cgroup/devices", F_OK)  = 0
+ 
open("/sys/fs/cgroup/devices/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 ENOENT (No such file or 
directory)
+ access("/sys/fs/cgroup/devices", F_OK)  = 0
+ 
open("/sys/fs/cgroup/devices/lxc/test-cont/system.slice/ssh.service/cgroup.procs",
 O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 ENOENT (No such file or 
directory)
  read(16,
  
  fd 16:
  lr-x------ 1 root root 64 Mar  7 18:37 16 -> 
/sys/fs/cgroup/systemd/lxc/test-cont/system.slice/ssh.service/cgroup.procs
  
  Next I noticed the bash autocompletion freezing on /var/lib on the host, so I 
tried to ls /var/lib which froze too. Attaching strace on ls caused:
  ls: cannot access /var/lib/lxcfs: Interrupted system call
  
  running lxcfs processes:
  root       759  0.6  0.0  22052  2748 ?        Ss   15:31   1:16 
/usr/bin/lxcfs -f -s -o allow_other /var/lib/lxcfs/
  root      6541  0.0  0.0  22052   448 ?        S    18:30   0:00 
/usr/bin/lxcfs -f -s -o allow_other /var/lib/lxcfs/
  root      6543  0.0  0.0  22052   448 ?        S    18:30   0:00 
/usr/bin/lxcfs -f -s -o allow_other /var/lib/lxcfs/
  
  attaching strace to them showed:
- 759: wait4(6541, 
- 6541: wait4(6543, 
+ 759: wait4(6541,
+ 6541: wait4(6543,
  6543: recvmsg(5,
  
  fd5:
  lrwx------ 1 root root 64 Mar  7 19:01 5 -> socket:[2082333]
  
  netstat:
  unix  3      [ ]         DGRAM                    2082333  -                  
 @0572f
  
  here I ran out of debugging ideas and decided to SIGKILL 6543, which
  unfroze the container.
  
  ProblemType: Bug
  DistroRelease: Ubuntu 15.04
  Package: lxcfs 0.6-0ubuntu2
  Uname: Linux 3.19.0-031900rc7-generic x86_64
  ApportVersion: 2.16.2-0ubuntu1
  Architecture: amd64
  Date: Sat Mar  7 19:44:18 2015
  EcryptfsInUse: Yes
  ProcEnviron:
-  TERM=screen
-  PATH=(custom, no user)
-  LANG=de_DE.UTF-8
-  LANGUAGE=en_US.UTF-8
-  SHELL=/bin/bash
+  TERM=screen
+  PATH=(custom, no user)
+  LANG=de_DE.UTF-8
+  LANGUAGE=en_US.UTF-8
+  SHELL=/bin/bash
  SourcePackage: lxcfs
  UpgradeStatus: Upgraded to vivid on 2013-03-06 (731 days ago)
-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1429442

Title:
  lxcfs can freeze systemd in a container

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/lxcfs/+bug/1429442/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to