[jcifs] java deadlock

Michael B Allen mba2000 at ioplex.com
Fri Aug 11 17:36:03 GMT 2006


There was a deadlock that was discussed at length on this list but
I believe it was thought to have been fixed by using an additional
lock. From looking at the thread dump below it looks like this one might
be a little different. If this is a chronic issue you might apply the
technique discussed on the list to this particular scenario. Otherwise,
I'll file this in The List for further inspection at a future date as
there is no jCIFS development ongoing at this time.

Thanks,
Mike

On Fri, 11 Aug 2006 10:07:49 +0200
"Dirk Becker" <dbecker at pironet-ndh.com> wrote:

> Hi Mike,
> 
> i encountered some problems on an IAS cluster (doing SSO via NTLM), no requests have been processed and a script did
> a full thread dump. I do not know (yet) the cause, but a deadlock has been detected in the jcifs-library (1.2.8, build with  Java 1.4.2).
> As far as i can see the stacktrace points to the correct lines in 1.2.9 source. Maybe this is an issue? 
> 
> regards,
>    Dirk Becker
> 
> P.S. output of script:
> 
> 
> --------
> 06/08/09 14:40:10 Event script: prestop
> --------
> 
> =---===----======---=-----=-----=------======----===---=
> =---===----===== PRE-STOP EVENT SCRIPT =====----===---=
> =---===----======---=-----=-----=------======----===---=
> timeStamp=1155127210
> instanceName=<snip/>
> componentId=OC4J
> processType=cms
> processSet=default_island
> processIndex=1
> stderr=/oracle/product/ias904/opmn/logs/OC4J~cms~default_island~1
> stdout=/oracle/product/ias904/opmn/logs/OC4J~cms~default_island~1
> reason=http_request
> pid=1126
> startTime=1155105816412
> Sending kill -3 signal before stopping the OC4J Container
> Full thread dump Java HotSpot(TM) Server VM (1.4.2_07-b05 mixed mode):
> 
> <snip/>
> 
> Found one Java-level deadlock:
> =============================
> "AJPRequestHandler-ApplicationServerThread-80":
>   waiting to lock monitor 0x08b93854 (object 0x60d5d0a0, a java.lang.Object),
>   which is held by "AJPRequestHandler-ApplicationServerThread-77"
> "AJPRequestHandler-ApplicationServerThread-77":
>   waiting to lock monitor 0x08b9381c (object 0x60360c98, a jcifs.smb.SmbTransport),
>   which is held by "AJPRequestHandler-ApplicationServerThread-80"
> 
> Java stack information for the threads listed above:
> ===================================================
> "AJPRequestHandler-ApplicationServerThread-80":
>     at jcifs.smb.SmbTree.treeConnect(SmbTree.java:121)
>     - waiting to lock <0x60d5d0a0> (a java.lang.Object)
>     at jcifs.smb.SmbTree.send(SmbTree.java:57)
>     at jcifs.smb.SmbTree.treeDisconnect(SmbTree.java:161)
>     - locked <0x60360c98> (a jcifs.smb.SmbTransport)
>     at jcifs.smb.SmbSession.logoff(SmbSession.java:293)
>     - locked <0x60360c98> (a jcifs.smb.SmbTransport)
>     at jcifs.smb.SmbTransport.getSmbSession(SmbTransport.java:138)
>     - locked <0x60360c98> (a jcifs.smb.SmbTransport)
>     at jcifs.smb.SmbSession.logon(SmbSession.java:159)
>     at jcifs.smb.SmbSession.logon(SmbSession.java:154)
>     at com.pironet.pbng.principal.authentication.filter.NtlmAuthenticationFilter.doFilter(NtlmAuthenticationFilter.java:536)
>     at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
>     at com.pironet.pbng.cms.servletfilter.SessionFilter.doFilter(SessionFilter.java:75)
>     at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:20)
>     at com.pironet.pbng.prj.cms.web.common.EncodingFilter.doFilter(EncodingFilter.java:95)
>     at com.evermind.server.http.FileRequestDispatcher.handleWithFilter(FileRequestDispatcher.java:116)
>     at com.evermind.server.http.FileRequestDispatcher.forwardInternal(FileRequestDispatcher.java:192)
>     at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:788)
>     at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:208)
>     at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:125)
>     at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
>     at java.lang.Thread.run(Thread.java:534)
> "AJPRequestHandler-ApplicationServerThread-77":
>     at jcifs.smb.SmbTree.treeConnect(SmbTree.java:123)
>     - waiting to lock <0x60360c98> (a jcifs.smb.SmbTransport)
>     - locked <0x60d5d0a0> (a java.lang.Object)
>     at jcifs.smb.SmbSession.logon(SmbSession.java:161)
>     at jcifs.smb.SmbSession.logon(SmbSession.java:154)
>     at com.pironet.pbng.principal.authentication.filter.NtlmAuthenticationFilter.doFilter(NtlmAuthenticationFilter.java:536)
>     at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
>     at com.pironet.pbng.cms.servletfilter.SessionFilter.doFilter(SessionFilter.java:75)
>     at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:20)
>     at com.pironet.pbng.prj.cms.web.common.EncodingFilter.doFilter(EncodingFilter.java:95)
>     at com.evermind.server.http.FileRequestDispatcher.handleWithFilter(FileRequestDispatcher.java:116)
>     at com.evermind.server.http.FileRequestDispatcher.forwardInternal(FileRequestDispatcher.java:192)
>     at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:788)
>     at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:208)
>     at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:125)
>     at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
>     at java.lang.Thread.run(Thread.java:534)
> 
> Found 1 deadlock.
> 
> 
> 
> 


-- 
Michael B Allen
PHP Active Directory SSO
http://www.ioplex.com/


More information about the jcifs mailing list