zookeeper-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeremy Stribling <st...@nicira.com>
Subject Re: hang in zookeeper_close() in the mt C client
Date Tue, 01 Feb 2011 02:09:54 GMT
I haven't been able to reproduce it, but if I do I will update again 
with more details and make a JIRA.  I was hoping someone might just know 
something off the top of their head.  Thanks!

On 01/31/2011 05:05 PM, Patrick Hunt wrote:
> Hi Jeremy, that is unusual, is it reproduceable? Do you have details
> on the stack for threads other than this thread doing the close?
>
> It would be best if you could create a JIRA for this, the more detail
> you could provide the better (full stacks and any log files)
> https://issues.apache.org/jira/browse/ZOOKEEPER
>
> Patrick
>
> On Mon, Jan 31, 2011 at 10:26 AM, Jeremy Stribling<strib@nicira.com>  wrote:
>    
>> I responded to someone off-list about this, but I just wanted to clarify to
>> everyone that the part of the backtrace that isn't shown is entirely within
>> my application, and zookeeper_close isn't being called from any Zookeeper
>> completion thread.
>>
>> On 01/29/2011 11:23 AM, Jeremy Stribling wrote:
>>      
>>> Hi everyone,
>>>
>>> I use the multithreaded ZK C client library (3.3.2), and I'm seeing my
>>> application hang, and the only thread in it that's doing anything
>>> interesting is this one:
>>>
>>> Thread 8 (Thread 5644):
>>> #0  0x00007f5d7bb5bbe4 in __lll_lock_wait () from /lib/libpthread.so.0
>>> #1  0x00007f5d7bb59ad0 in pthread_cond_broadcast@@GLIBC_2.3.2 () from
>>> /lib/libpthread.so.0
>>> #2  0x00007f5d793628f6 in unlock_completion_list (l=0x32b4d68) at
>>> .../zookeeper/src/c/src/mt_adaptor.c:66
>>> #3  0x00007f5d79354d4b in free_completions (zh=0x32b4c80,
>>> callCompletion=1, reason=-116) at .../zookeeper/src/c/src/zookeeper.c:1069
>>> #4  0x00007f5d79355008 in cleanup_bufs (zh=0x32b4c80, callCompletion=1,
>>> rc=-116) at .../thirdparty/zookeeper/src/c/src/zookeeper.c:1125
>>> #5  0x00007f5d79353200 in destroy (zh=0x32b4c80) at
>>> .../thirdparty/zookeeper/src/c/src/zookeeper.c:366
>>> #6  0x00007f5d79358e0e in zookeeper_close (zh=0x32b4c80) at
>>> .../zookeeper/src/c/src/zookeeper.c:2326
>>> #7  0x00007f5d79356d18 in api_epilog (zh=0x32b4c80, rc=0) at
>>> .../zookeeper/src/c/src/zookeeper.c:1661
>>> #8  0x00007f5d79362f2f in adaptor_finish (zh=0x32b4c80) at
>>> .../zookeeper/src/c/src/mt_adaptor.c:205
>>> #9  0x00007f5d79358c8c in zookeeper_close (zh=0x32b4c80) at
>>> .../zookeeper/src/c/src/zookeeper.c:2297
>>> ....
>>>
>>> I've seen some threads online about how there's a race condition
>>> associated with zookeeper_close, where if you app is making a synchronous
>>> call at the same time using the closed zk_handle, there could be a hang.
>>>   However, my app makes no synchronous calls, and I'm 99% sure that no other
>>> thread in my app is making any concurrent call into the library ('thread
>>> apply all bt' in gdb doesn't show any other usage of the library, anyway).
>>>
>>> Has anyone seen this before?  Any leads?  Thanks,
>>>
>>> Jeremy
>>>        
>>      

Mime
View raw message