Hi, Thank you for an excellent software package. I've found lxc exceptionally useful. I am using containers for short period to do a small task (e.g. build some arbitrary code), and then I stop the container. I initially tried lxc-execute but I was unable to create outbound network connections with a mounted rootfs so I switched to the lxc-start approach.
If I stop a container shortly after starting it, lxc-stop hangs. I use lxc-wait to avoid stopping a container before it enters a RUNNING state. This script reproduces the behavior: root@domU-12-31-39-0A-16-5F:~/lxc# cat start-stop.sh #!/bin/bash container=$1 while $(true); do date '+%s:%N' lxc-start -n ${container} -d date '+%s:%N' lxc-wait -n ${container} -s RUNNING date '+%s:%N' sleep 1 date '+%s:%N' lxc-stop -n ${container} done Now I will create my first test container 'test-1'. root:~/lxc# bash /usr/local/lib/lxc/templates/lxc-ubuntu -p /web/test-1 -n test-1 debootstrap is /usr/sbin/debootstrap Checking cache download in /var/cache/lxc/oneiric/rootfs-amd64 ... Copy /var/cache/lxc/oneiric/rootfs-amd64 to /web/test-1/rootfs ... Copying rootfs to /web/test-1/rootfs ... Ign http://archive.ubuntu.com oneiric InRelease Hit http://archive.ubuntu.com oneiric Release.gpg Hit http://archive.ubuntu.com oneiric Release Hit http://archive.ubuntu.com oneiric/main amd64 Packages Hit http://archive.ubuntu.com oneiric/universe amd64 Packages Get:1 http://archive.ubuntu.com oneiric/main i386 Packages [1226 kB] Get:2 http://archive.ubuntu.com oneiric/universe i386 Packages [4468 kB] Get:3 http://archive.ubuntu.com oneiric/main TranslationIndex [3289 B] Get:4 http://archive.ubuntu.com oneiric/universe TranslationIndex [2640 B] Get:5 http://archive.ubuntu.com oneiric/main Translation-en [701 kB] Get:6 http://archive.ubuntu.com oneiric/universe Translation-en [3165 kB] Fetched 9567 kB in 6s (1431 kB/s) Reading package lists... Done Reading package lists... Done Building dependency tree Reading state information... Done lxcguest is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. ## # The default user is 'ubuntu' with password 'ubuntu'! # Use the 'sudo' command to run tasks as root in the container. ## root@domU-12-31-39-0A-16-5F:~/lxc# The container is then "registered" with LXC, which after inspection, just copies the config file to /usr/local/var/lib/lxc/<containername>/config. root@domU-12-31-39-0A-16-5F:~/lxc# lxc-create -n test-1 -f /web/test-1/config Now let's run the first test. root@domU-12-31-39-0A-16-5F:~/lxc# bash -x ./start-stop.sh test-1 + container=test-1 ++ true + date +%s:%N 1333661238:241189772 + lxc-start -n test-1 -d + date +%s:%N 1333661238:245415477 + lxc-wait -n test-1 -s RUNNING + date +%s:%N 1333661238:258030034 + sleep 1 + date +%s:%N 1333661239:262302323 + lxc-stop -n test-1 ++ true + date +%s:%N 1333661239:276395864 + lxc-start -n test-1 -d + date +%s:%N 1333661239:282560784 + lxc-wait -n test-1 -s RUNNING + date +%s:%N 1333661239:294725928 + sleep 1 + date +%s:%N 1333661240:301714023 + lxc-stop -n test-1 ++ true + date +%s:%N 1333661240:312345277 + lxc-start -n test-1 -d + date +%s:%N 1333661240:318435422 + lxc-wait -n test-1 -s RUNNING + date +%s:%N 1333661240:331470776 + sleep 1 + date +%s:%N 1333661241:339849908 + lxc-stop -n test-1 ++ true + date +%s:%N 1333661241:356360577 + lxc-start -n test-1 -d + date +%s:%N 1333661241:362475927 + lxc-wait -n test-1 -s RUNNING + date +%s:%N 1333661241:374076139 + sleep 1 + date +%s:%N 1333661242:378337747 + lxc-stop -n test-1 ++ true + date +%s:%N 1333661242:392415859 + lxc-start -n test-1 -d + date +%s:%N 1333661242:398544530 + lxc-wait -n test-1 -s RUNNING + date +%s:%N 1333661242:410088590 + sleep 1 + date +%s:%N 1333661243:414327955 + lxc-stop -n test-1 ++ true + date +%s:%N 1333661243:424446292 + lxc-start -n test-1 -d + date +%s:%N 1333661243:428706387 + lxc-wait -n test-1 -s RUNNING + date +%s:%N 1333661243:442111091 + sleep 1 + date +%s:%N 1333661244:446418229 + lxc-stop -n test-1 ++ true + date +%s:%N 1333661244:461080239 + lxc-start -n test-1 -d + date +%s:%N 1333661244:465285581 + lxc-wait -n test-1 -s RUNNING + date +%s:%N 1333661244:478035962 + sleep 1 + date +%s:%N 1333661245:482147614 + lxc-stop -n test-1 ++ true + date +%s:%N 1333661245:492484314 + lxc-start -n test-1 -d + date +%s:%N 1333661245:496658176 + lxc-wait -n test-1 -s RUNNING + date +%s:%N 1333661245:510172211 + sleep 1 + date +%s:%N 1333661246:516627373 + lxc-stop -n test-1 ++ true + date +%s:%N 1333661246:532395635 + lxc-start -n test-1 -d + date +%s:%N 1333661246:538532475 + lxc-wait -n test-1 -s RUNNING + date +%s:%N 1333661246:550009291 + sleep 1 + date +%s:%N 1333661247:554181535 + lxc-stop -n test-1 ++ true + date +%s:%N 1333661247:564515679 + lxc-start -n test-1 -d + date +%s:%N 1333661247:568692559 + lxc-wait -n test-1 -s RUNNING + date +%s:%N 1333661247:582049380 + sleep 1 + date +%s:%N 1333661248:586257691 + lxc-stop -n test-1 ++ true + date +%s:%N 1333661248:596448350 + lxc-start -n test-1 -d + date +%s:%N 1333661248:602574627 + lxc-wait -n test-1 -s RUNNING + date +%s:%N 1333661248:614668926 + sleep 1 + date +%s:%N 1333661249:621787412 + lxc-stop -n test-1 ++ true + date +%s:%N 1333661249:632586085 + lxc-start -n test-1 -d + date +%s:%N 1333661249:636819141 + lxc-wait -n test-1 -s RUNNING + date +%s:%N 1333661249:650090228 + sleep 1 + date +%s:%N 1333661250:654381329 + lxc-stop -n test-1 ++ true + date +%s:%N 1333661250:669095601 + lxc-start -n test-1 -d + date +%s:%N 1333661250:675551830 + lxc-wait -n test-1 -s RUNNING + date +%s:%N 1333661250:690944072 + sleep 1 + date +%s:%N 1333661251:695363392 + lxc-stop -n test-1 ++ true + date +%s:%N 1333661251:708425029 + lxc-start -n test-1 -d + date +%s:%N 1333661251:714565124 + lxc-wait -n test-1 -s RUNNING + date +%s:%N 1333661251:726248913 + sleep 1 + date +%s:%N 1333661252:730474567 + lxc-stop -n test-1 ++ true + date +%s:%N 1333661252:745087932 + lxc-start -n test-1 -d + date +%s:%N 1333661252:749828128 + lxc-wait -n test-1 -s RUNNING + date +%s:%N 1333661252:765490707 + sleep 1 + date +%s:%N 1333661253:769653534 + lxc-stop -n test-1 ++ true + date +%s:%N 1333661253:780325846 + lxc-start -n test-1 -d + date +%s:%N 1333661253:786521619 + lxc-wait -n test-1 -s RUNNING + date +%s:%N 1333661253:797919460 + sleep 1 + date +%s:%N 1333661254:802291608 + lxc-stop -n test-1 ++ true + date +%s:%N 1333661254:812394220 + lxc-start -n test-1 -d + date +%s:%N 1333661254:818519687 + lxc-wait -n test-1 -s RUNNING + date +%s:%N 1333661254:830076881 + sleep 1 + date +%s:%N 1333661255:834361349 + lxc-stop -n test-1 ++ true + date +%s:%N 1333661255:848290719 + lxc-start -n test-1 -d + date +%s:%N 1333661255:854460326 + lxc-wait -n test-1 -s RUNNING + date +%s:%N 1333661255:866119088 + sleep 1 + date +%s:%N 1333661256:870317990 + lxc-stop -n test-1 ++ true + date +%s:%N 1333661256:888329422 + lxc-start -n test-1 -d + date +%s:%N 1333661256:894444791 + lxc-wait -n test-1 -s RUNNING + date +%s:%N 1333661256:906068794 + sleep 1 + date +%s:%N 1333661257:910208703 + lxc-stop -n test-1 ++ true + date +%s:%N 1333661257:920443959 + lxc-start -n test-1 -d + date +%s:%N 1333661257:924658667 + lxc-wait -n test-1 -s RUNNING + date +%s:%N 1333661257:937996317 + sleep 1 + date +%s:%N 1333661258:942083212 + lxc-stop -n test-1 ++ true + date +%s:%N 1333661258:952294814 + lxc-start -n test-1 -d + date +%s:%N 1333661258:958413625 + lxc-wait -n test-1 -s RUNNING + date +%s:%N 1333661258:970943910 + sleep 1 + date +%s:%N 1333661259:975273315 + lxc-stop -n test-1 ++ true + date +%s:%N 1333661259:988420960 + lxc-start -n test-1 -d + date +%s:%N 1333661259:994497745 + lxc-wait -n test-1 -s RUNNING + date +%s:%N 1333661260:005953052 + sleep 1 + date +%s:%N 1333661261:463054711 + lxc-stop -n test-1 ++ true + date +%s:%N 1333661262:455790428 + lxc-start -n test-1 -d + date +%s:%N 1333661262:465011797 + lxc-wait -n test-1 -s RUNNING + date +%s:%N 1333661263:982454227 + sleep 1 + date +%s:%N 1333661265:001949268 + lxc-stop -n test-1 (Hangs indefinitely here) ^C root@domU-12-31-39-0A-16-5F:~/lxc# It consistently hangs at lxc-stop. I create a second test container 'test-2'. root@domU-12-31-39-0A-16-5F:~/lxc# bash /usr/local/lib/lxc/templates/lxc-ubuntu -p /web/test-2 -n test-2 debootstrap is /usr/sbin/debootstrap Checking cache download in /var/cache/lxc/oneiric/rootfs-amd64 ... Copy /var/cache/lxc/oneiric/rootfs-amd64 to /web/test-2/rootfs ... Copying rootfs to /web/test-2/rootfs ... root@domU-12-31-39-0A-16-5F:~/lxc# lxc-create -n test-2 -f /web/test-2/config Next, I will change test script to do an strace on lxc-stop to hopefully ascertain where it stops. root@domU-12-31-39-0A-16-5F:~/lxc# cat start-stop-trace-stop.sh #!/bin/bash container=$1 while $(true); do date '+%s:%N' lxc-start -n ${container} -d date '+%s:%N' lxc-wait -n ${container} -s RUNNING date '+%s:%N' sleep 1 date '+%s:%N' strace -- lxc-stop -n ${container} done root@domU-12-31-39-0A-16-5F:~/lxc# bash -x ./start-stop-trace-stop.sh test-2 ... + date +%s:%N 1333661627:071716445 + lxc-start -n test-2 -d + date +%s:%N 1333661627:076201417 + lxc-wait -n test-2 -s RUNNING + date +%s:%N 1333661627:090496237 + sleep 1 + date +%s:%N 1333661628:597916884 + strace -- lxc-stop -n test-2 execve("/usr/local/bin/lxc-stop", ["lxc-stop", "-n", "test-2"], [/* 19 vars */]) = 0 brk(0) = 0x76f000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f48c4304000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/usr/local/lib/tls/x86_64/liblxc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/tls/x86_64", 0x7fff7360c820) = -1 ENOENT (No such file or directory) open("/usr/local/lib/tls/liblxc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/tls", 0x7fff7360c820) = -1 ENOENT (No such file or directory) open("/usr/local/lib/x86_64/liblxc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/x86_64", 0x7fff7360c820) = -1 ENOENT (No such file or directory) open("/usr/local/lib/liblxc.so.0", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340|\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=613164, ...}) = 0 mmap(NULL, 2281408, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f48c3eb9000 mprotect(0x7f48c3ee1000, 2097152, PROT_NONE) = 0 mmap(0x7f48c40e1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x28000) = 0x7f48c40e1000 mmap(0x7f48c40e3000, 12224, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f48c40e3000 close(3) = 0 open("/usr/local/lib/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=20583, ...}) = 0 mmap(NULL, 20583, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f48c42fe000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \24\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1685816, ...}) = 0 mmap(NULL, 3801960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f48c3b18000 mprotect(0x7f48c3caf000, 2093056, PROT_NONE) = 0 mmap(0x7f48c3eae000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x196000) = 0x7f48c3eae000 mmap(0x7f48c3eb3000, 21352, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f48c3eb3000 close(3) = 0 open("/usr/local/lib/libutil.so.1", O_RDONLY) = -1 ENOENT (No such file or directory) access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libutil.so.1", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\16\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0644, st_size=10640, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f48c42fd000 mmap(NULL, 2105608, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f48c3915000 mprotect(0x7f48c3917000, 2093056, PROT_NONE) = 0 mmap(0x7f48c3b16000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f48c3b16000 close(3) = 0 open("/usr/local/lib/libcap.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libcap.so.2", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\24\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0644, st_size=18864, ...}) = 0 mmap(NULL, 2114120, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f48c3710000 mprotect(0x7f48c3714000, 2093056, PROT_NONE) = 0 mmap(0x7f48c3913000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f48c3913000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f48c42fc000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f48c42fa000 arch_prctl(ARCH_SET_FS, 0x7f48c42fa720) = 0 mprotect(0x7f48c3913000, 4096, PROT_READ) = 0 mprotect(0x7f48c3b16000, 4096, PROT_READ) = 0 mprotect(0x7f48c3eae000, 16384, PROT_READ) = 0 mprotect(0x7f48c40e1000, 4096, PROT_READ) = 0 mprotect(0x600000, 4096, PROT_READ) = 0 mprotect(0x7f48c4306000, 4096, PROT_READ) = 0 munmap(0x7f48c42fe000, 20583) = 0 socket(PF_FILE, SOCK_STREAM, 0) = 3 connect(3, {sa_family=AF_FILE, path=@"/usr/local/var/lib/lxc/test-2/command"}, 110) = 0 getpid() = 16136 getuid() = 0 getgid() = 0 sendmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"\1\0\0\0\0\0\0\0", 8}], msg_controllen=32, {cmsg_len=28, cmsg_level=SOL_SOCKET, cmsg_type=SCM_CREDENTIALS{pid=16136, uid=0, gid=0}}, msg_flags=0}, 0) = 8 recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"\0\0\0\0\0\0\0\0\0\0\0\0", 12}], msg_controllen=0, msg_flags=0}, 0) = 0 close(3) = 0 exit_group(0) = ? ++ true + date +%s:%N 1333661630:101731138 + lxc-start -n test-2 -d + date +%s:%N 1333661630:106364393 + lxc-wait -n test-2 -s RUNNING + date +%s:%N 1333661630:118046275 + sleep 1 + date +%s:%N 1333661631:627115755 + strace -- lxc-stop -n test-2 execve("/usr/local/bin/lxc-stop", ["lxc-stop", "-n", "test-2"], [/* 19 vars */]) = 0 brk(0) = 0xb32000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b9291000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/usr/local/lib/tls/x86_64/liblxc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/tls/x86_64", 0x7fffd9124350) = -1 ENOENT (No such file or directory) open("/usr/local/lib/tls/liblxc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/tls", 0x7fffd9124350) = -1 ENOENT (No such file or directory) open("/usr/local/lib/x86_64/liblxc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/x86_64", 0x7fffd9124350) = -1 ENOENT (No such file or directory) open("/usr/local/lib/liblxc.so.0", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340|\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=613164, ...}) = 0 mmap(NULL, 2281408, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f29b8e46000 mprotect(0x7f29b8e6e000, 2097152, PROT_NONE) = 0 mmap(0x7f29b906e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x28000) = 0x7f29b906e000 mmap(0x7f29b9070000, 12224, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f29b9070000 close(3) = 0 open("/usr/local/lib/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=20583, ...}) = 0 mmap(NULL, 20583, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f29b928b000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \24\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1685816, ...}) = 0 mmap(NULL, 3801960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f29b8aa5000 mprotect(0x7f29b8c3c000, 2093056, PROT_NONE) = 0 mmap(0x7f29b8e3b000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x196000) = 0x7f29b8e3b000 mmap(0x7f29b8e40000, 21352, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f29b8e40000 close(3) = 0 open("/usr/local/lib/libutil.so.1", O_RDONLY) = -1 ENOENT (No such file or directory) access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libutil.so.1", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\16\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0644, st_size=10640, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b928a000 mmap(NULL, 2105608, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f29b88a2000 mprotect(0x7f29b88a4000, 2093056, PROT_NONE) = 0 mmap(0x7f29b8aa3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f29b8aa3000 close(3) = 0 open("/usr/local/lib/libcap.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libcap.so.2", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\24\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0644, st_size=18864, ...}) = 0 mmap(NULL, 2114120, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f29b869d000 mprotect(0x7f29b86a1000, 2093056, PROT_NONE) = 0 mmap(0x7f29b88a0000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f29b88a0000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b9289000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b9287000 arch_prctl(ARCH_SET_FS, 0x7f29b9287720) = 0 mprotect(0x7f29b88a0000, 4096, PROT_READ) = 0 mprotect(0x7f29b8aa3000, 4096, PROT_READ) = 0 mprotect(0x7f29b8e3b000, 16384, PROT_READ) = 0 mprotect(0x7f29b906e000, 4096, PROT_READ) = 0 mprotect(0x600000, 4096, PROT_READ) = 0 mprotect(0x7f29b9293000, 4096, PROT_READ) = 0 munmap(0x7f29b928b000, 20583) = 0 socket(PF_FILE, SOCK_STREAM, 0) = 3 connect(3, {sa_family=AF_FILE, path=@"/usr/local/var/lib/lxc/test-2/command"}, 110) = 0 getpid() = 16154 getuid() = 0 getgid() = 0 sendmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"\1\0\0\0\0\0\0\0", 8}], msg_controllen=32, {cmsg_len=28, cmsg_level=SOL_SOCKET, cmsg_type=SCM_CREDENTIALS{pid=16154, uid=0, gid=0}}, msg_flags=0}, 0) = 8 recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"\0\0\0\0\0\0\0\0\0\0\0\0", 12}], msg_controllen=0, msg_flags=0}, 0) = 0 close(3) = 0 exit_group(0) = ? ++ true + date +%s:%N 1333661632:655129828 + lxc-start -n test-2 -d + date +%s:%N 1333661632:659670840 + lxc-wait -n test-2 -s RUNNING + date +%s:%N 1333661634:148376934 + sleep 1 + date +%s:%N 1333661635:677428944 + strace -- lxc-stop -n test-2 execve("/usr/local/bin/lxc-stop", ["lxc-stop", "-n", "test-2"], [/* 19 vars */]) = 0 brk(0) = 0x1946000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fe34bdb4000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/usr/local/lib/tls/x86_64/liblxc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/tls/x86_64", 0x7fff954b0280) = -1 ENOENT (No such file or directory) open("/usr/local/lib/tls/liblxc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/tls", 0x7fff954b0280) = -1 ENOENT (No such file or directory) open("/usr/local/lib/x86_64/liblxc.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/x86_64", 0x7fff954b0280) = -1 ENOENT (No such file or directory) open("/usr/local/lib/liblxc.so.0", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340|\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=613164, ...}) = 0 mmap(NULL, 2281408, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fe34b969000 mprotect(0x7fe34b991000, 2097152, PROT_NONE) = 0 mmap(0x7fe34bb91000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x28000) = 0x7fe34bb91000 mmap(0x7fe34bb93000, 12224, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fe34bb93000 close(3) = 0 open("/usr/local/lib/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=20583, ...}) = 0 mmap(NULL, 20583, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fe34bdae000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \24\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1685816, ...}) = 0 mmap(NULL, 3801960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fe34b5c8000 mprotect(0x7fe34b75f000, 2093056, PROT_NONE) = 0 mmap(0x7fe34b95e000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x196000) = 0x7fe34b95e000 mmap(0x7fe34b963000, 21352, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fe34b963000 close(3) = 0 open("/usr/local/lib/libutil.so.1", O_RDONLY) = -1 ENOENT (No such file or directory) access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libutil.so.1", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\16\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0644, st_size=10640, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fe34bdad000 mmap(NULL, 2105608, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fe34b3c5000 mprotect(0x7fe34b3c7000, 2093056, PROT_NONE) = 0 mmap(0x7fe34b5c6000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7fe34b5c6000 close(3) = 0 open("/usr/local/lib/libcap.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libcap.so.2", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\24\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0644, st_size=18864, ...}) = 0 mmap(NULL, 2114120, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fe34b1c0000 mprotect(0x7fe34b1c4000, 2093056, PROT_NONE) = 0 mmap(0x7fe34b3c3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fe34b3c3000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fe34bdac000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fe34bdaa000 arch_prctl(ARCH_SET_FS, 0x7fe34bdaa720) = 0 mprotect(0x7fe34b3c3000, 4096, PROT_READ) = 0 mprotect(0x7fe34b5c6000, 4096, PROT_READ) = 0 mprotect(0x7fe34b95e000, 16384, PROT_READ) = 0 mprotect(0x7fe34bb91000, 4096, PROT_READ) = 0 mprotect(0x600000, 4096, PROT_READ) = 0 mprotect(0x7fe34bdb6000, 4096, PROT_READ) = 0 munmap(0x7fe34bdae000, 20583) = 0 socket(PF_FILE, SOCK_STREAM, 0) = 3 connect(3, {sa_family=AF_FILE, path=@"/usr/local/var/lib/lxc/test-2/command"}, 110) = 0 getpid() = 16182 getuid() = 0 getgid() = 0 sendmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"\1\0\0\0\0\0\0\0", 8}], msg_controllen=32, {cmsg_len=28, cmsg_level=SOL_SOCKET, cmsg_type=SCM_CREDENTIALS{pid=16182, uid=0, gid=0}}, msg_flags=0}, 0) = 8 recvmsg(3, (Hangs indefinitely) ^C The file /usr/local/var/lib/test-2/command does not exist as verified by stat. root@domU-12-31-39-0A-16-5F:~/lxc# stat /usr/local/var/lib/lxc/test-2/command stat: cannot stat `/usr/local/var/lib/lxc/test-2/command': No such file or directory I tried the second test several times, and each time, it consistently hangs on recvmsg() after a few start-wait-sleep-stop trials. While it may seem odd to only need a container for a short period and then stop it, the hanging after lxc-stop seems like it may be a bug, especially because I wait until the container enters a RUNNING state before attempting to stop it. Please advise. Thank you. Kind regards, Damian -- Damian Eads, PhD http://www.damianeads.com ------------------------------------------------------------------------------ For Developers, A Lot Can Happen In A Second. Boundary is the first to Know...and Tell You. Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! http://p.sf.net/sfu/Boundary-d2dvs2 _______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel