[lxc-devel] lxc-start hangs when starting a new container

Matty matty91 at gmail.com
Wed Jul 1 13:35:41 UTC 2009


On Wed, Jul 1, 2009 at 8:59 AM, Daniel Lezcano<dlezcano at fr.ibm.com> wrote:
> Matty wrote:
>>
>> On Wed, Jul 1, 2009 at 4:12 AM, Daniel Lezcano<dlezcano at fr.ibm.com> wrote:
>>>
>>> Matty wrote:
>>>>
>>>> I have an lxc container that keeps hanging when I run 'lxc-start -n
>>>> <GUEST NAME>'. When I strace lxc-start, I see the following:
>>>>
>>>> $ strace lxc-start -n test
>>>>  ..............
>>>> open("/usr/local/var/lib/lxc/test/state", O_WRONLY) = 13
>>>> flock(13, LOCK_EX)                      = 0
>>>> ftruncate(13, 0)                        = 0
>>>> write(13, "RUNNING"..., 7)              = 7
>>>> close(13)                               = 0
>>>> socket(PF_FILE, SOCK_DGRAM, 0)          = 13
>>>> sendto(13,
>>>> "\0\0\0\0test\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,
>>>> 4104, 0, {sa_family=AF_FILE, path=@"lxc-monitor"...}, 110) = -1
>>>> ECONNREFUSED (Connection refused)
>>>> close(13)                               = 0
>>>> close(13)                               = -1 EBADF (Bad file descriptor)
>>>> close(14)                               = 0
>>>> socket(PF_FILE, SOCK_STREAM, 0)         = 13
>>>> bind(13, {sa_family=AF_FILE, path=@"test"...}, 110) = 0
>>>> listen(13, 100)                         = 0
>>>> fcntl(13, F_SETFD, FD_CLOEXEC)          = 0
>>>> epoll_create(1)                         = 14
>>>> epoll_ctl(14, EPOLL_CTL_ADD, 12, {EPOLLIN, {u32=17707440,
>>>> u64=17707440}})
>>>> = 0
>>>> epoll_ctl(14, EPOLL_CTL_ADD, 13, {EPOLLIN, {u32=17707504,
>>>> u64=17707504}})
>>>> = 0
>>>>
>>>> I starting the container with 2.6.[29-31pre] kernels and with the
>>>> latest lxc code, and they all appear to exhibit this behavior. Has
>>>> anyone seen this before? Any idea what the lxc-monitor socket is used
>>>> for?
>>
>>> can you give more information about the container itself ?
>>
>> Sure thing. This is a Fedora 11 container I created with lxc-fedora.
>> Are there specific details you're after? If so, I will be glad to send
>> them to you.
>>
>>> What is the configuration ?
>>
>> I used the defaults provided by lxc-fedora, though I disabled udev
>> (commented out the udev line in rc.sysinit) to allow the container to
>> boot.
>
> Did you added the tty to the rootfs ?
>
> chroot rootfs.test1 /bin/bash
> cd /dev
> MAKEDEV tty

Hey Daniel,

I am bind mounting /dev into the container, so I would expect all of
the devices to be there. In addition, I adjusted the cgroup
permissions to allow me to access the most common devices:

devices.deny=a
devices.allow=c 1:3 rwm
devices.allow=c 1:5 rwm
devices.allow=c 1:7 rwm
devices.allow=c 1:8 rwm
devices.allow=c 1:9 rwm
devices.allow=c 5:0 rwm
devices.allow=c 5:1 rwm
devices.allow=c 5:2 rwm
devices.allow=c 4:* rwm
devices.allow=c 254:0 rwm

Shouldn't this work? Here is the fstab file I am using:

$  pwd
/usr/local/var/lib/lxc/test

$ cat fstab
/var/lxc/rootfs/test.rootfs /usr/local/var/lib/lxc/test/rootfs none rbind 0 0
/dev /var/lxc/rootfs/test.rootfs/dev none bind 0 0

> After doing that, you can start the container again and check if you are
> able to log to the container via lxc-console -n test1 command.

It still hangs in the same location. :(

Thanks again for the reply,
- Ryan
--
http://prefetch.net




More information about the lxc-devel mailing list