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

Serge Hallyn 974584 at bugs.launchpad.net
Fri May 18 21:30:41 UTC 2012


This has taken me longer than it should have because I made some bad
initial assumptions.

The appearance of a /dev/shm directory was a bit of a false flag.  That
was happening because the chroot case higher in initscripts.postinst was
failing to create the /dev/shm symbolic link in the first place.  It's
source directory (/run/shm) needed to first be created, and then the
arguments to compat_link() were reversed.  I assumed they were correct
because they were the same for the /var/lock symlink which is correctly
created - but in fact the /var/lock symlink exists before that block of
code.

Here is a debdiff which appears to fix the /dev/shm symlink creation in
a container for me.

** Patch added: "sysvinit-shm.debdiff"
   https://bugs.launchpad.net/launchpad/+bug/974584/+attachment/3152926/+files/sysvinit-shm.debdiff

-- 
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:
  Confirmed

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