[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