[Bug 974584] Re: Semaphores cannot be created in lxc container

Steve Langasek steve.langasek at canonical.com
Tue Jun 26 20:21:53 UTC 2012


If it does make sense, the implementation that follows is:

if mountpoint -q /dev && mountpoint -q /dev/shm; then
  compat_link /dev/shm /run/shm
else
  [ -d /run/shm ] || mkdir -p /run/shm
  mountpoint -q /dev/ || compat_link /run/shm /dev/shm
fi

BTW, I realize there's another possible scenario, which is that /dev/shm
is a bind mount when /dev itself is not.  We should probably handle that
the same as if they both are (make /run/shm a symlink to /dev/shm), in
which case the first check just needs to be "if mountpoint -q /dev/shm".

** Tags removed: rls-q-incoming

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to sysvinit in Ubuntu.
https://bugs.launchpad.net/bugs/974584

Title:
  Semaphores cannot be created in lxc container

Status in Launchpad itself:
  Invalid
Status in “lxc” package in Ubuntu:
  Fix Released
Status in “sysvinit” package in Ubuntu:
  Triaged
Status in “lxc” source package in Precise:
  Fix Released
Status in “sysvinit” source package in Precise:
  Triaged
Status in “lxc” source package in Quantal:
  Fix Released
Status in “sysvinit” source package in Quantal:
  Triaged
Status in “sysvinit” package in Debian:
  New

Bug description:
  >>> from multiprocessing import synchronize
  >>> synchronize.Lock()
  Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "/usr/lib/python2.6/multiprocessing/synchronize.py", line 117, in __init__
      SemLock.__init__(self, SEMAPHORE, 1, 1)
    File "/usr/lib/python2.6/multiprocessing/synchronize.py", line 49, in __init__
      sl = self._semlock = _multiprocessing.SemLock(kind, value, maxvalue)
  OSError: [Errno 38] Function not implemented

  Thanks to hallyn, there's a workaround and a fix: adding this line to the container's fstab will fix the problem:
  none dev/shm tmpfs defaults 0 0

  He is updating the ubuntu template with this change.

  Original bug report description was Launchpad related (celery tests
  fail on parallel testing instances)

To manage notifications about this bug go to:
https://bugs.launchpad.net/launchpad/+bug/974584/+subscriptions




More information about the foundations-bugs mailing list