[Lxc-users] concurrent aptitude/dpkg runs in separate containers --> bork bork bork

Trent W. Buck twb at cybersource.com.au
Thu Jan 13 05:05:05 UTC 2011


Daniel Lezcano <daniel.lezcano at free.fr> writes:

> On 01/12/2011 07:39 AM, Trent W. Buck wrote:
>> Mike<debian at good-with-numbers.com>  writes:
>>
>>>> Trent W. Buck wrote:
>>>>> I can provision a new LXC container, which includes running a few
>>>>> "aptitude install foo" lines (inside the containers), and it Just Works.
>>>>> If I try to provision two containers at the same time, both containers
>>>>> appear to hang with a dpkg process in the D state[0].
>>>>>
>>>>> My config for each container looks like this:
>>>>> lxc.mount.entry  = /home       /srv/lxc/proud/home       none bind
>>> Doesn't aptitude write into the home directory that you're sharing
>>> across containers? locks ~/.aptitude/cache?
>> Possibly, but dhclient's running aptitude as uid 0, whose home is in
>> /root, which is not shared between hosts.
>>
>> In any case, IIRC I export HOME=`mktemp -d` before aptitude runs, as a
>> fugly workaround for etckeeper.
>>
>> I suppose if containers' /tmp are tmpfses, aptitude might be running
>> into some problem with locking on tmpfs, although I'm not aware of any
>> bogus operational semantics for tmpfs...
>
> Can you give, for each process in D state, the content of 
> /proc/<pid>/stack ?
> That may help to understand where the lock occurs in the kernel

I'll try to get to this RSN; the box in question is in production, so I
have to be a little careful.





More information about the lxc-users mailing list