[lxc-devel] regression: lxc-start -d hangs in lxc_monitor_sock_name (at process_lock)

Stéphane Graber stgraber at ubuntu.com
Thu Sep 12 04:27:04 UTC 2013


Hello,

It looks like Dwight's last change introduce a bit of a regression when
running lxc-start -d.

Tracing it down (added a ton of printf all over), it looks like it's
hanging on:
 - lxcapi_start
   - wait_on_daemonized_start
     - lxcapi_wait
       - lxc_wait
         - lxc_monitor_open
           - lxc_monitor_sock_name

Specifically, it's hanging at the process_lock() call because
process_lock() was already called as part of lxcapi_start and only gets
unlocked right after wait_on_daemonized_start returns.


Looking at the code, I'm not even sure why we need process_lock there.
What it protects is another thread triggering the mkdir_p in parallel,
but that shouldn't really be a problem since running two mkdir_p at the
same time should still result in the hierarchy being created, or did I
miss something?


Anyway, I'll let someone who knows that code better figure out a fix,
until then, lxc-start -d is broken in staging.

-- 
Stéphane Graber
Ubuntu developer
http://www.ubuntu.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20130912/c8f0f222/attachment.pgp>


More information about the lxc-devel mailing list