[Lxc-users] unstoppable container
Daniel Lezcano
daniel.lezcano at free.fr
Mon Aug 30 11:08:55 UTC 2010
On 08/30/2010 12:40 PM, Papp Tamás wrote:
>
> Daniel Lezcano wrote, On 2010. 08. 30. 11:26:
>> Hmm, too bad :) I was about to ask you some informations about the
>> processes of the containers.
>
> Well, I was happy too early.
>
>> If that happens again, can you check/report the following :
>>
>> * the content of the tasks file in the cgroup directory ?
>
> Killing lxc-start make the container disappear only from lxc-ls's output.
Yes, right. lxc-ls does look for an abstract af_unix socket, so when
lxc-start disappears, the socket disappears too.
> In the tasks file I saw three processes: udevd, init and one more, which
> I don't remember. I killed them all, but the cgroup still exists.
The cgroup is removed by lxc-start, but this is not a problem, because
it will be removed (if empty), when running lxc-start again.
>> * the state of the processes of the containers (stopped or not)
>
> I don't know, what do you mean on stopped. Is there any available?
Sorry, I meant "stopped" in a unix process semantic way (zombie,
stopped, running, uninterruptible, ...)
The command is :
lxc-ps --lxc -axf
Where the output is like:
CONTAINER PID TTY STAT TIME COMMAND
ubuntu2 6705 ? Ss 0:00 /sbin/init
ubuntu2 6805 ? Ss 0:00 dbus-daemon --system --fork
ubuntu2 6857 ? Sl 0:00 /usr/sbin/console-kit-daemon
--no-daemon
ubuntu2 6966 ? Ss 0:00 dhclient3 -e IF_METRIC=100 -pf
/var/run/dhclient.eth0.pid -lf /var/lib/dhcp3/dhclient.eth0.leases eth0
The interesting information is the STAT column.
Usually, there is a mechanism used in lxc to kill -9 the process 1 of
the container (which wipes out all the processes of the containers) when
lxc-start dies.
So if you still have the processes running inside the container but
lxc-start is dead, then:
* you are using a 2.6.32 kernel which is buggy (this mechanism is
broken).
or/and
* there are processes in 'T' states within the container
>> * and the state of the lxc-start process ( cat /proc/<pid>/stack )
>
> Well, next time.
>
>> Was the lxc-stop blocked ?
>
> Nope.
>
> Now, I could stop it. I could remove the containers directory, then copy
> there a new install tarball. After that, lxc-destroy, than start, then
> stop and finally I'm happy again.
>
> But I'm afraid this won't help you to debug it:(
Maybe you have a kernel trace in /var/log/messages ...
Thanks for reporting the problem.
-- Daniel
More information about the lxc-users
mailing list