[lxc-devel] [PATCH] tests: Introduce lxc-test-concurrent for testing basic actions concurrently

Dwight Engen dwight.engen at oracle.com
Fri Sep 13 23:55:50 UTC 2013


On Fri, 13 Sep 2013 17:29:53 -0400
Dwight Engen <dwight.engen at oracle.com> wrote:

> On Fri, 13 Sep 2013 12:09:55 -0400
> S.Çağlar Onur <caglar at 10ur.org> wrote:
> 
> > Hi Dwight,
> > 
> > Yes, I only observed a hang so far but not this assertion (in fact I
> > don't remember ever seeing that). What I'm seeing is this;
> 
> Okay, something funny is going on, but I don't know what yet. That
> assertion is coming from liblxc.so->libgnutls->libgcrypt and seems to
> be complaining that we're unlocking something that is already
> unlocked. So I compiled lxc without GNUTLS support (by commenting out
> the check for it in configure.ac) and now I get past that and get
> hangs similar to yours.
> 
> Interestingly, I modified your program to just do the create and
> destroy and not the start nor stop and I still get the hangs during
> the creation part.

Sorry to reply to myself: So now I modified your program to do the
create single threaded and everything else threaded (see attached
patch) and that doesn't hang for me.

It looked like to me that the hung threads were stuck on process_lock()
so I added a backtrace there to debug it a bit more and it looks like
the hang is in the flow:

 lxcapi_create()
   c->save_config()
     container_disk_lock()
       lxclock()
         process_lock()

Not sure why yet though. Serge, do you think this could have to do with
the fork()ing from a thread in that flow?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lxc-test-concurrent.patch
Type: text/x-patch
Size: 3596 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20130913/79a7e43a/attachment.bin>


More information about the lxc-devel mailing list